5. November

108
Minimierung von DFAs
Frage
Wie können wir feststellen, ob ein DFA M ˆZ , Σ, δ, q0 , E  eine minimale
Anzahl von Zuständen besitzt (und Z evtl. verkleinern)?
Beispiel
L
Betrachte den DFA M
b
1
a
2
b
a
a
a
b
b
5
4
b
b
b
a
6
b
L
a
3
a
7
a
8
Zunächst können alle vom Startzustand aus unerreichbaren Zustände
entfernt werden.
R
Minimierung von DFAs
109
Frage
Wie können wir feststellen, ob ein DFA M ˆZ , Σ, δ, q0 , E  eine minimale
Anzahl von Zuständen besitzt (und Z evtl. verkleinern)?
Antwort
L
L
L
Zunächst können alle vom Startzustand aus unerreichbaren Zustände
entfernt werden.
Zudem lassen sich zwei Zustände p und q verschmelzen, wenn
M von p und q aus jeweils dieselben Wörter akzeptiert.
Für z > Z sei
Mz
L
L
ˆZ , Σ, δ, z, E .
Dann können wir p und q verschmelzen (in Zeichen: p q), wenn
LˆMp  LˆMq  ist.
Offensichtlich ist eine Äquivalenzrelation auf Z .
110
Minimierung von DFAs
Idee
Verschmelze jeden Zustand z mit allen äquivalenten Zuständen z z zu
einem neuen Zustand.
œ
Notation
L
Für die durch z repräsentierte Äquivalenzklasse
z ˜z
œ
> Z S z z
œ
˜z
œ
> Z S LˆMz œ  LˆMz 
schreiben wir auch einfach z oder z̃.
L
Für eine Teilmenge Q b Z bezeichne
˜q̃ S
Q̃
q > Q
die Menge aller Äquivalenzklassen q̃, die mind. ein q > Q enthalten.
L
Dann führt obige Idee auf folgenden DFA:
M
œ
ˆZ̃ , Σ, δ
œ
œ
, q̃0 , Ẽ  mit δ ˆq̃, a
δË
ˆq, a.
111
Wie können wir M aus M konstruieren?
œ
Hierzu genügt es, herauszufinden, ob zwei Zustände p und q von M
äquivalent sind oder nicht?
ˆA B  8 ˆB
A die symmetrische Differenz von A und B.
L
Sei A∆B
L
Die Inäquivalenz p ~ q ist also gleichbedeutend mit LˆMp ∆LˆMq  x g.
L
L
L
L
Wir nennen ein Wort x > LˆMp ∆LˆMq  einen Unterscheider zwischen
p und q.
Offenbar unterscheidet ε Zustände p > E von Zuständen q > Z
E.
Falls x die Zustände δ ˆp, a und δ ˆq, a unterscheidet, so unterscheidet
ax die Zustände p und q, d.h. δ ˆp, a ~ δ ˆq, a p ~ q.
Wenn also D nur inäquivalente Zustandspaare enthält, so trifft dies
auch auf die Menge
D
zu.
œ
˜˜p, q  S
§
a > Σ ˜δ ˆp, a, δ ˆq, a > D 
112
Minimierung von DFAs
Satz
ˆZ , Σ, δ, q0 , E 
Sei M
M
œ
ˆZ̃ , Σ, δ
œ
ein DFA ohne unerreichbare Zustände. Dann ist
œ
, q̃0 , Ẽ  mit δ ˆq̃, a
δË
ˆq, a
ein DFA für LˆM  mit einer minimalen Anzahl von Zuständen.
Beweis
L
L
L
Zuerst müssen wir zeigen, dass δ wohldefiniert ist, also δ ˆq̃, a nicht
von der Wahl des Repräsentanten q für die Äquivalenzklasse q̃ abhängt.
œ
Hierzu ist die Implikation p q
δˆp, a δˆq, a zu zeigen.
Diese ist wiederum äquivalent zur Kontraposition
δ ˆp, a ~ δ ˆq, a p ~ q, die wir bereits gezeigt haben.
œ
113
Minimierung von DFAs
Satz
ˆZ , Σ, δ, q0 , E 
Sei M
M
œ
ˆZ̃ , Σ, δ
œ
ein DFA ohne unerreichbare Zustände. Dann ist
œ
, q̃0 , Ẽ  mit δ ˆq̃, a
δË
ˆq, a
ein DFA für LˆM  mit einer minimalen Anzahl von Zuständen.
Beweis (Fortsetzung)
L
L
Als nächstes zeigen wir, dass LˆM
œ

LˆM  ist.
Sei x x1 . . . xn > Σ eine Eingabe und seien q0 , q1 , . . . , qn die von M ˆx 
durchlaufenen Zustände, d.h. es gilt δ ˆqi 1 , xi  qi für i 1, . . . , n.
‡
L
Nach Definition von δ folgt daher δ ˆq̃i 1 , xi  q̃i für i 1, . . . , n,
d.h. M durchläuft bei Eingabe x die Zustände q̃0 , q̃1 , . . . , q̃n .
œ
œ
œ
L
Da aber q̃n entweder nur End- oder nur Nicht-Endzustände enthält,
gehört qn genau dann zu E , wenn q̃n > Ẽ , d.h. es gilt
x > LˆM 
x > LˆM .
œ
114
Minimierung von DFAs
Beweis (Schluss)
L
Noch z.z.: die Anzahl YZ̃ Y der Zustände von M ist minimal.
L
Wegen YZ̃ Y B YZ Y ist M sicher dann minimal, wenn M minimal ist.
L
Es reicht also zu zeigen, dass YZ̃ Y nur von der Sprache LˆM  abhängt.
L
Wegen p q
L
L
œ
œ
Sei L
LˆMp 
LˆMq  gilt YZ̃ Y
Y˜LˆMz  S
z > Z Y.
LˆM  und für x > Σ sei Lx die Sprache ˜y > Σ
‡
‡
S
xy > L.
Dann gilt ˜Lx S x > Σ  ˜LˆMz  S z > Z :
b: Klar, da Lx LˆMz  für z δ̂ ˆq0 , x  ist.
‡
c: Auch klar, da jedes z > Z über ein x > Σ erreichbar ist.
Also hängt YZ̃ Y Y˜Lx S x > Σ Y nur von L ab.
‡
L
‡
j
Bemerkung
Der Beweis zeigt, dass folgende Äquivalenzrelation RL endlichen Index hat:
x RL y Lx Ly .
115
Wie können wir M aus M berechnen?
œ
Hierzu genügt es, zu entscheiden, ob zwei Zustände p und q von M
äquivalent sind oder nicht?
L
L
L
Offenbar unterscheidet ε Zustände p > E von Zuständen q > Z
E.
Falls x die Zustände δ ˆp, a und δ ˆq, a unterscheidet, so unterscheidet
ax die Zustände p und q, d.h. δ ˆp, a ~ δ ˆq, a p ~ q.
Wenn also D nur inäquivalente Zustandspaare enthält, so trifft dies
auch auf die Menge
D
zu.
œ
˜˜p, q  S
§
a > Σ ˜δ ˆp, a, δ ˆq, a > D 
Algorithmische Konstruktion von M
œ
Idee
L
Berechne ausgehend von D0
Di
Di
1
8
˜˜p, q  S
§
˜˜p, q  S
p > E , q >~ E  mittels
a > Σ ˜δ ˆp, a, δ ˆq, a > Di 
eine Folge D0 b D1 b D2 b von Mengen mit inäquivalenten
Zustandspaaren.
L
Da es nur endlich viele Zustandspaare gibt, muss es ein j geben mit
Dj 1 Dj .
L
Für die Menge D
p ~ q
L
Dj gilt dann
˜p, q > D
(siehe Übungen).
Folglich gilt
z̃
˜z
œ
>Z
S ˜z, z  >
~
œ
D .
116
Algorithmus zur Berechnung eines minimalen DFA
Algorithmus min-DFAˆM 
1
2
3
4
5
6
7
8
Input: DFA M ˆZ , Σ, δ, q0 , E 
entferne alle nicht erreichbaren Zustände
D ˜˜z, z  S z > E , z >~ E 
repeat
D D
D D 8 ˜˜p, q  S §a > Σ ˜δ ˆp, a, δ ˆq, a > D 
until D D
Output: M ˆZ̃ , Σ, δ , q̃0 , Ẽ , wobei für jeden Zustand
z > Z gilt: z̃ ˜z > Z S ˜z, z  >~ D 
œ
œ
œ
œ
œ
œ
œ
œ
œ
œ
117
Algorithmus für die Konstruktion von M
118
œ
Beispiel
Betrachte den DFA M
b
2
a
3
b
a
4
a
a
b
b
1
a
6
b
b
a
5
2
3 ε ε
4
ε
5
ε
6 ε ε
ε ε
1 2 3 4 5
Dann enthält D0 die Paare
˜1, 3, ˜1, 6, ˜2, 3, ˜2, 6, ˜3, 4, ˜3, 5, ˜4, 6, ˜5, 6.
Algorithmus für die Konstruktion von M
119
œ
Beispiel
Betrachte den DFA M
b
2
3
b
a
4
a
a
b
b
1
2
3
4
5
6
a
b
a
6
b
a
5
ε
a
a
ε
ε
a ε
a ε
ε
ε ε
1 2 3 4 5
Wegen
˜p, q 
˜1, 4
˜1, 5
˜2, 4
˜2, 5
˜δ ˆq, a, δ ˆp, a
˜2, 3
˜2, 6
˜1, 3
˜1, 6
enthält D1 zusätzlich die Paare ˜1, 4, ˜1, 5, ˜2, 4, ˜2, 5.
Algorithmus für die Konstruktion von M
120
œ
Beispiel
Betrachte den DFA M
b
2
3
b
a
4
a
a
b
b
1
2
3
4
5
6
a
b
a
6
b
a
5
ε
a
a
ε
ε
a ε
a ε
ε
ε ε
1 2 3 4 5
Da nun jedoch die verbliebenen Paare ˜1, 2, ˜3, 6, ˜4, 5 wegen
˜p, q 
˜1, 2
˜3, 6
˜4, 5
˜δ ˆp, a, δ ˆq, a
˜1, 2
˜4, 5
˜3, 6
˜δ ˆp, b , δ ˆq, b 
˜3, 6
˜1, 2
˜4, 5
nicht zu D1 hinzugefügt werden können, ist D2
D1
D.
Algorithmus für die Konstruktion von M
121
œ
Beispiel
Betrachte den DFA M
b
2
3
b
a
2
3
4
5
6
a
4
a
a
b
b
b
a
1
6
b
5
a
ε
a
a
ε
ε
a ε
a ε
ε
ε ε
1 2 3 4 5
Da die Paare ˜1, 2, ˜3, 6 und ˜4, 5 nicht in D enthalten sind, können
die Zustände 1 und 2, 3 und 6, sowie 4 und 5 verschmolzen werden.
Demnach hat M die Zustände 1̃ ˜1, 2, 3̃ ˜3, 6 und 4̃ ˜4, 5:
œ
b
1̃
3̃
b
a
a
a
4̃
b
R