Definition 84
Sei L ⊆ Σ
∗eine Sprache. Definiere die Relation ≡
L⊆ Σ
∗× Σ
∗durch
x ≡
Ly ⇔ (∀z ∈ Σ
∗)[xz ∈ L ⇔ yz ∈ L]
Lemma 85
≡
List eine rechtsinvariante ¨ Aquivalenzrelation.
Dabei bedeutet rechtsinvariant:
x ≡
Ly ⇒ xu ≡
Lyu f¨ ur alle u .
Beweis:
Klar!
ADS-EI 5.6 Abschlusseigenschaften regul¨arer Sprachen 212/451
ľErnst W. Mayr
Sei L ⊆ Σ
∗. Dann sind ¨ aquivalent:
1
L ist regul¨ ar
2
≡
Lhat endlichen Index (= Anzahl der ¨ Aquivalenzklassen)
3
L ist die Vereinigung einiger der endlich vielen
Aquivalenzklassen von ¨ ≡
L.
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 ≡
Ly .
Also gibt es h¨ ochstens so viele ¨ Aquivalenzklassen, wie der Automat A Zust¨ ande hat.
ADS-EI 214/451
ľErnst W. Mayr
(2)⇒(3):
Sei [x] die ¨ Aquivalenzklasse von x, y ∈ [x] und x ∈ L.
Dann gilt nach der Definition von ≡
L:
y ∈ L
Beweis:
(3)⇒(1):
Definiere A
0= (Q
0, Σ, δ
0, q
00, F
0) mit
Q
0:= {[x]; x ∈ Σ
∗} (Q
0endlich!) q
00:= []
δ
0([x], a) := [xa] ∀x ∈ Σ
∗, a ∈ Σ (konsistent!) F
0:= {[x]; x ∈ L}
Dann gilt:
L(A
0) = L
ADS-EI 5.6 Abschlusseigenschaften regul¨arer Sprachen 214/451
ľErnst W. Mayr
Satz 87
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 ≡
Ay :⇔ δ(q ˆ
0, x) = ˆ δ(q
0, y) eine ¨ Aquivalenzrelation, die ≡
Lverfeinert.
Also gilt: |Q| = index(≡
A) ≥ index(≡
L) = Anzahl der Zust¨ ande
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
0aus 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
2mit
q
i∈ F und q
j∈ / F bzw. q
i∈ / F und q
j∈ F .
ADS-EI 5.7 Konstruktion minimaler endlicher Automaten 216/451
ľErnst W. Mayr
if (∃a ∈ Σ)[{δ(q
i, a), δ(q
j, a)} ist markiert] then markiere {q
i, q
j};
for alle {q, q
0} in {q
i, q
j}’s Liste do markiere {q, q
0} und l¨ osche aus Liste;
ebenso rekursiv alle Paare in der Liste von {q, q
0} usw.
od 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
Satz 88
Obiger Algorithmus liefert einen minimalen DFA f¨ ur L(A).
Beweis:
Sei A
0= (Q
0, Σ
0, δ
0, q
00, 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 einfache Induktion ¨ uber |w| sieht.
Also: Die Anzahl der Zust¨ ande von A
0(n¨ amlich |Q
0|) ist gleich dem Index von ≡
L.
ADS-EI 5.7 Konstruktion minimaler endlicher Automaten 218/451
ľErnst W. Mayr