SS 2006
Einf¨ uhrung in die Informatik IV
Ernst W. Mayr
Fakult¨ at f¨ ur Informatik TU M¨ unchen
http://www14.in.tum.de/lehre/2006SS/info4/
Sommersemester 2006
Info IV c
Ernst W. Mayr
Definition 43
Seien L 1 , L 2 ⊆ Σ ∗ . Dann ist der Rechtsquotient L 1 /L 2 := {x ∈ Σ ∗ ; (∃y ∈ L 2 )[xy ∈ L 1 ]} .
Satz 44
Seien R, L ⊆ Σ ∗ , R regul¨ ar. Dann ist R/L regul¨ ar.
Beweis:
Sei A DFA mit L(A) = R, A = (Q, Σ, δ, q 0 , F ).
F 0 := {q ∈ Q; (∃y ∈ L)[δ(q, y) ∈ F } A 0 := (Q, Σ, δ, q 0 , F 0 )
Dann ist L(A 0 ) = R/L.
Lemma 45
Es gibt einen Algorithmus, der f¨ ur zwei (nichtdeterministische, mit - ¨ Uberg¨ angen) endliche Automaten A 1 und A 2 entscheidet, ob sie
¨ aquivalent sind, d.h. ob
L(A 1 ) = L(A 2 ) .
Beweis:
Konstruiere einen endlichen Automaten f¨ ur
(L(A 1 ) \ L(A 2 )) ∪ (L(A 2 ) \ L(A 1 )) (symmetrische Differenz).
Pr¨ ufe, ob dieser Automat ein Wort akzeptiert.
Info IV 3.8 Abschlusseigenschaften regul¨arer Sprachen 79/92
c
Ernst W. Mayr
Satz 46 (Pumping Lemma f¨ ur regul¨ are Sprachen)
Sei R ⊆ Σ ∗ regul¨ ar. Dann gibt es ein n > 0, so dass f¨ ur jedes z ∈ R mit |z| ≥ n es u, v, w ∈ Σ ∗ gibt, so dass gilt:
1
z = uvw,
2
|uv| ≤ n,
3
|v| ≥ 1, und
4
∀i ≥ 0 : uv i w ∈ R.
Beweis:
Sei R = L(A), A = (Q, Σ, δ, q 0 , F ).
Sei n = |Q|. Sei nun z ∈ R mit |z| ≥ n.
Sei q 0 = q (0) , q (1) , q (2) , . . . , q (|z|) die beim Lesen von z durchlaufene Folge von Zust¨ anden von A. Dann muss es 0 ≤ i < j ≤ n ≤ |z| geben mit q (i) = q (j) .
Seien nun u die ersten i Zeichen von z, v die n¨ achsten j − i Zeichen und w der Rest.
⇒ z = uvw, |v| ≥ 1, |uv| ≤ n, uv l w ∈ R ∀l ≥ 0 .
Info IV 3.8 Abschlusseigenschaften regul¨arer Sprachen 81/92
c
Ernst W. Mayr
Beispiel f¨ ur die Anwendung des Pumping Lemmas:
Satz 47
L = {0 m
2; m ≥ 0} ist nicht regul¨ ar.
Beweis:
Angenommen, L sei doch regul¨ ar.
Sei n wie durch das Pumping Lemma gegeben. W¨ ahle m ≥ n.
Dann gibt es ein r mit 1 ≤ r ≤ n, so dass gilt:
0 m
2+ir ∈ L f¨ ur alle i ∈ N 0 . Aber:
m 2 < m 2 + r ≤ m 2 + m < m 2 + 2m + 1 = (m + 1) 2 !
Denkaufgabe:
{a i b i ; i ≥ 0} ist nicht regul¨ ar.
Info IV 3.8 Abschlusseigenschaften regul¨arer Sprachen 83/92
c
Ernst W. Mayr
Definition 48
Sei L ⊆ Σ ∗ eine Sprache. Definiere die Relation ≡ L ⊆ Σ ∗ × Σ ∗ durch
x ≡ L y ⇔ (∀z ∈ Σ ∗ )[xz ∈ L ⇔ yz ∈ L]
Lemma 49
≡ L ist eine rechtsinvariante ¨ Aquivalenzrelation.
Dabei bedeutet rechtsinvariant:
x ≡ L y ⇒ xu ≡ L yu f¨ ur alle u .
Beweis:
Klar!
Satz 50 (Myhill-Nerode)
Sei L ⊆ Σ ∗ . Dann sind ¨ aquivalent:
1
L ist regul¨ ar
2
≡ L hat endlichen Index (= Anzahl der ¨ Aquivalenzklassen)
3
L ist die Vereinigung einiger der endlich vielen Aquivalenzklassen von ¨ ≡ L .
Info IV 3.8 Abschlusseigenschaften regul¨arer Sprachen 85/92
c
Ernst W. Mayr
Beweis:
(1)⇒(2):
Sei L = L(A) f¨ ur einen DFA A = (Q, Σ, δ, q 0 , F ).
Dann gilt
ˆ δ(q 0 , x) = ˆ δ(q 0 , y) ⇒ x ≡ L y .
Also gibt es h¨ ochstens so viele ¨ Aquivalenzklassen, wie der Automat
A Zust¨ ande hat.
Beweis:
(2)⇒(3):
Sei [x] die ¨ Aquivalenzklasse von x, y ∈ [x] und x ∈ L.
Dann gilt nach der Definition von ≡ L : y ∈ L
Info IV 86/92
c
Ernst W. Mayr
Beweis:
(3)⇒(1):
Definiere A 0 = (Q 0 , Σ, δ 0 , q 0 0 , F 0 ) mit
Q 0 := {[x]; x ∈ Σ ∗ } (Q 0 endlich!) q 0 0 := []
δ 0 ([x], a) := [xa] ∀x ∈ Σ ∗ , a ∈ Σ (konsistent!) F 0 := {[x]; x ∈ L}
Dann gilt:
L(A 0 ) = L
3.9 Konstruktion minimaler endlicher Automaten
Satz 51
Der nach dem Satz von Myhill-Nerode konstruierte
deterministische endliche Automat hat unter allen DFA’s f¨ ur L eine minimale Anzahl von Zust¨ anden.
Beweis:
Sei A = (Q, Σ, δ, q 0 , F ) mit L(A) = L. Dann liefert x ≡ A y :⇔ δ(q 0 , x) = δ(q 0 , y) eine ¨ Aquivalenzrelation, die ≡ L verfeinert.
Also gilt: |Q| = index(≡ A ) ≥ index(≡ L ) = Anzahl der Zust¨ ande des Myhill-Nerode-Automaten.
Info IV 3.9 Konstruktion minimaler endlicher Automaten 87/92
c
Ernst W. Mayr
Algorithmus zur Konstruktion eines minimalen FA
Eingabe: A(Q, Σ, δ, q 0 , F ) DFA (L = L(A)) Ausgabe: ¨ Aquivalenzrelation auf Q.
0
Entferne aus Q alle ¨ uberfl¨ ussigen, d.h. alle von q 0 aus nicht erreichbaren Zust¨ ande. Wir nehmen nun an, dass Q keine
¨ uberfl¨ ussigen Zust¨ ande mehr enth¨ alt.
1
Markiere alle Paare {q i , q j } ∈ Q 2 mit
q i ∈ F und q j ∈ / F bzw. q i ∈ / F und q j ∈ F .
2
for alle unmarkierten Paare {q i , q j } ∈ Q 2 , q i 6= q j do if (∃a ∈ Σ)[{δ(q i , a), δ(q j , a)} ist markiert] then
markiere {q i , q j };
markiere alle {q, q 0 } in {q i , q j }’s Liste und rekursiv alle Paare in der Liste von {q, q 0 } usw.
else
for alle a ∈ Σ do
if δ(q i , a) 6= δ(q j , a) then
trage {q i , q j } in die Liste von {δ(q i , a), δ(q j , a)} ein fi
od fi od
3
Ausgabe: q ¨ aquivalent zu q 0 ⇔ {q, q 0 } nicht markiert.
Info IV 3.9 Konstruktion minimaler endlicher Automaten 89/92
c
Ernst W. Mayr
Satz 52
Obiger Algorithmus liefert einen minimalen DFA f¨ ur L(A).
Beweis:
Sei A 0 = (Q 0 , Σ 0 , δ 0 , q 0 0 , F 0 ) der konstruierte Aquivalenzklassenautomat. ¨
Offensichtlich ist L(A) = L(A 0 ).
Es gilt: {q, q 0 } wird markiert gdw
(∃ w ∈ Σ ∗ )[δ(q, w) ∈ F ∧ δ(q 0 , w) ∈ / F oder umgekehrt], wie man durch einfach Induktion ¨ uber |w| sieht.
Also: Die Anzahl der Zust¨ ande von A 0 (n¨ amlich |Q 0 |) ist gleich
dem Index von ≡ L .
Beispiel 53 Automat A:
q 0 q 1
q 2 q 3
q 4 q 5
0 0
1 1
0 1
1 0
1
0 0, 1
q 0 q 1 q 2 q 3 q 4 q 5
q 0 / / / / / /
q 1 / / / / /
q 2 × × / / / /
q 3 × × / / /
q 4 × × / /
q 5 × × × × × /
Automat A 0
L(A 0 ) = 0 ∗ 10 ∗ q
0q
1q
2q
3q
4q 5
0
1
0
1
0, 1
Info IV 3.9 Konstruktion minimaler endlicher Automaten 91/92
c
Ernst W. Mayr