![Page 1: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/1.jpg)
Endliche Automaten
Endliche Automaten 1 / 108
![Page 2: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/2.jpg)
Endliche Automaten
Endliche Automaten erlauben eine Beschreibung von Handlungsabläufen:Wie ändert sich ein Systemzustand in Abhängigkeit vonveränderten Umgebungsbedingungen?
Vielfältiges Einsatzgebiet, nämlich:- in der Definition der regulären Sprachen
also der Menge aller Folgen von Ereignissen,die von einem Startzustand in einen gewünschten Zustand führen,
- in der Entwicklung digitaler Schaltungen- in der Softwaretechnik (z. B. in der Modellierung desApplikationsverhaltens)
- in der Compilierung: Lexikalische Analyse- im Algorithmenentwurf für String Probleme- in der Abstraktion tatsächlicher Automaten (wie Bank- undGetränkeautomaten, Fahrstühle etc.)
Endliche Automaten 2 / 108
![Page 3: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/3.jpg)
Das Problem der Flußüberquerung
W K ZM
M W K Z
W M K Z
KM W Z
K M W Z
M Z K W
Z M W K
M Z W K
Z M ZM
M
W
M
M
M
K
KW
M
M Z ZM M MZ Z
M
M
K
K M W
WM
M M
ZM
M KZW
M
ZM
MW KZ"akzeptierender Zustand"
"Startzustand"
Dieser endliche Automat „akzeptiert“ genau diejenigen Folgen von einzelnenFlussüberquerungen, die vom Startzustand in den akzeptierenden Zustand führen.
Endliche Automaten Beispiele 3 / 108
![Page 4: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/4.jpg)
Ein Kaffeeautomat
Der Automat erlaubt das Einwerfen von 1 oder 2 e-Münzen, sowie das Drückender Tasten „Geldrückgabe“ und „Kaffee kaufen“. (Der Kaffee kostet 2 e.)
Und hier ist die Spezifikation des Automaten:
Einwerfen einer2 e-Münze
Drücken der„Geld Rückgabe“-Taste
Drücken der Taste„Kaffee kaufen“
Drücken der„Geld Rückgabe“-Taste
Einwerfen einer1 e-Münze 1 e-Münze
Einwerfen einerZustand 1
Grundzustand Zustand 2
Dieser Automat „akzeptiert“ genau diejenigen Folgen von Bedienoperationen, die vom Grund-zustand aus wieder in den Grundzustand führen.
Endliche Automaten Beispiele 4 / 108
![Page 5: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/5.jpg)
Freischaltung eines Fernsehers (1/2)
Um die Kindersicherung des Fernsehers über die Fernbedienung freizuschalten, mussein dreistelliger Code korrekt eingegeben werden. Dabei sind die folgenden Tastenrelevant:
- Die Tasten 0, . . . , 9,- die Taste CODE sowie- die Taste BACK.
Die Taste CODE muss vor Eingabe des Codes gedrückt werden.Wird CODE während der Codeeingabe nochmals gedrückt, so wird die Eingabe neubegonnen.Wird BACK gedrückt, so wird die zuletzt eingegebene Zahl zurückgenommen.
Der Code zum Entsperren ist 999.
Endliche Automaten Beispiele 5 / 108
![Page 6: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/6.jpg)
Freischaltung eines Fernsehers (2/2)
9
x
9
BACKCODE
0,...,8
CODE
0,...,8
9
CODE
0,...,8
0,...,9
BACKCODE
BACK
CODE
0,...,9
CODE
0,...,9
CODE
0,...,9
BACK
9
BACK
BACK
BACKxx OFF
9x
99 ONready
Der Automat „akzeptiert“ alle Folgen von Bedienoperationen,die vom Zustand „ready“ in den Zustand „ON“ führen.
Endliche Automaten Beispiele 6 / 108
![Page 7: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/7.jpg)
Was ist ein endlicher Automat?
Ein deterministischer endlicher Automat (engl. deterministic finite automaton,kurz DFA)
A = (Σ, Q, δ, q0, F )
besteht aus:einer endlichen Menge Σ, dem Eingabealphabet,einer endlichen Menge Q, der Zustandsmenge (die Elemente aus Q werdenZustände genannt),einer partiellen Funktion δ von Q × Σ nach Q,der Übergangsfunktion (oder Überführungsfunktion),einem Zustand q0 ∈ Q, dem Startzustand,sowie einer Menge F ⊆ Q von Endzuständen bzw. akzeptierendenZuständen. (Der Buchstabe F steht für „final states“, also „Endzustände“).
Endliche Automaten DFAs: Die formale Definition 7 / 108
![Page 8: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/8.jpg)
Der Kaffeautomat als DFA A = (Σ,Q, δ, q0,F )
Σ = Einwerfen einer 1 e-Münze, Einwerfen einer 2 e-Münze,Drücken der „Geld Rückgabe“-Taste,Drücken der Taste „Kaffee kaufen“
Q = Grundzustand, Zustand 1, Zustand 2q0 = GrundzustandF = Grundzustanddie Funktion δ : Q × Σ→ Q ist partiell und besitzt die „Automatentabelle“
δ(Grundzustand,Einwerfen einer 1 e-Münze) = Zustand 1,δ(Grundzustand,Einwerfen einer 2 e-Münze) = Zustand 2,
δ(Zustand 1,Einwerfen einer 1 e-Münze) = Zustand 2,δ(Zustand 1,Drücken der „Geld Rückgabe“-Taste) = Grundzustand,δ(Zustand 2,Drücken der „Geld Rückgabe“-Taste) = Grundzustand,δ(Zustand 2,Drücken der Taste „Kaffee kaufen“) = Grundzustand.
Endliche Automaten DFAs: Die formale Definition 8 / 108
![Page 9: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/9.jpg)
Der Automatengraph,die grafische Darstellung eines DFA
Endliche Automaten Der Automatengraph 9 / 108
![Page 10: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/10.jpg)
Grafische Darstellung: Der Automatengraph
A = (Σ,Q, δ, q0,F ) sei ein DFA.
Für jeden Zustand q ∈ Q gibt es einen durch q dargestellten Knoten.
Der Startzustand q0 wird durch einen in ihn hinein führenden Pfeil markiert,d.h.:
q0
Jeder akzeptierende Zustand q ∈ F wird durch eine doppelte Umrandungmarkiert, d.h.:
q
Seien p, q ∈ Q Zustände und a ∈ Σ ein Symbol des Alphabets mitδ(q, a) = p. Dann füge einen mit dem Symbol a beschrifteten Pfeil vonKnoten q zu Knoten p ein, d.h.:
q pa
Endliche Automaten Der Automatengraph 10 / 108
![Page 11: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/11.jpg)
Wie arbeitet ein DFA?Die erweiterte Übergangsfunktion
Endliche Automaten Die erweiterte Übergangsfunktion 11 / 108
![Page 12: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/12.jpg)
Wie arbeitet ein DFA A = (Σ,Q, δ, q0,F )? (1/2)
Ein DFA A = (Σ,Q, δ, q0,F ) erhält als Eingabe ein Wort w ∈ Σ∗,das eine Folge von „Aktionen“ oder „Bedienoperationen“ repräsentiert.
A wird im Startzustand q0 gestartet. Falls w das leere Wort ist, d.h. w = ε, dannverbleibt A im Zustand q0.
Also gelte w = a1 · · · an mit n ∈ N>0 und a1, . . . , an ∈ Σ.1. Der Automat liest den ersten Buchstaben a1 von w .
I Wenn δ nicht für das Paar (q0, a1) definiert ist, dann stürzt A ab I Ansonsten wechselt A in den Zustand q1 := δ(q0, a1).
In der grafischen Darstellung von A wird der Zustand
q0
durch die mit a1 beschriftete Kante verlassen, und q1 ist der Endknoten dieserKante, d.h.
q0 q1a1
Endliche Automaten Die erweiterte Übergangsfunktion 12 / 108
![Page 13: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/13.jpg)
Wie arbeitet ein DFA A = (Σ,Q, δ, q0,F )? (2/2)
2. Durch Lesen von a2, dem zweiten Symbol von w , wechselt A in den Zustandq2 := δ(q1, a2), bzw. „stürzt ab“, falls δ nicht für (q1, a2) definiert ist.In der grafischen Darstellung von A wird
q1
durch die mit a2 beschriftete Kante verlassen (falls diese Kante existiert)
q1 q2a2
und der Automat landet in Zustand q2 = δ(q1, a2).n. Auf diese Weise wird das gesamte Eingabewort w = a1 · · · an abgearbeitet.
I Ausgehend vom Startzustand q0 erreicht A nacheinander Zustände q1, . . . , qn.I In der grafischen Darstellung von A entspricht diese Zustandsfolge einem Weg
der Länge n, der im Knoten
q0
startet und dessen Kanten mit den Buchstaben a1, . . . , an beschriftet sind.I Schreibe δ(q0,w) := qn, bzw. δ(q0,w) := ⊥, wenn A zwischenzeitlich abstürzt.
Endliche Automaten Die erweiterte Übergangsfunktion 13 / 108
![Page 14: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/14.jpg)
Was genau ist δ(q,w)? (1/2)
Sei A := (Σ,Q, δ, q0,F ) ein DFA. Sei ⊥ ein Symbol, das nicht in derZustandsmenge Q liegt, und sei Q⊥ := Q ∪ ⊥. Die Funktion
δ : Q⊥ × Σ∗ → Q⊥
ist rekursiv wie folgt definiert:F.a. w ∈ Σ∗ ist δ(⊥,w) := ⊥. (Einmal abgestürzt, immer abgestürzt.)Der Rekursionsanfang: f.a. q ∈ Q ist δ(q, ε) := q.Und der Rekursionsschritt?
Endliche Automaten Die erweiterte Übergangsfunktion 14 / 108
![Page 15: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/15.jpg)
Was genau ist δ(q,w)? (2/2)
Der Rekursionsschritt: F.a. q ∈ Q, w ∈ Σ∗ und a ∈ Σ gilt für q′ := δ(q,w):
δ(q,wa) :=
⊥ falls δ nicht für (q′, a) definiert ist,δ(q′, a) falls δ für (q′, a) definiert ist.
Grafische Darstellung:
δ(q,w) δ(δ(q,w), a)q w a
wa
Insgesamt gilt:- Falls δ(q0,w) 6= ⊥, so ist δ(q0,w) der Zustand, der durch Verarbeiten desWorts w erreicht wird.
- Falls δ(q0,w) = ⊥, so stürzt der Automat beim Verarbeiten des Worts w ab.
Endliche Automaten Die erweiterte Übergangsfunktion 15 / 108
![Page 16: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/16.jpg)
DFAs: Die Maschinensichtweise
Verarbeitung eines Eingabewortsdurch einen DFA A:
· · ·a1 a3a2
aktuellerq0 Zustand
w = an
Lesekopf
Wir können uns einen DFA als eine Maschine vorstellen, die∗ ihre Eingabe w = a1a2a3 · · · an
von links-nach-rechts mit Hilfe eines Lesekopfes durchläuft∗ und dabei Zustandsübergänge durchführt.
Endliche Automaten DFAs: Die Maschinensichtweise 16 / 108
![Page 17: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/17.jpg)
Können wir heutige Rechner durch DFAs modellieren?
Endliche Automaten DFAs: Die Maschinensichtweise 17 / 108
![Page 18: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/18.jpg)
Die akzeptierte Sprache eines DFA
DFAs und ihre Sprachen 18 / 108
![Page 19: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/19.jpg)
Wann akzeptiert A = (Σ,Q, δ, q0,F ) ein Wort w?
Das Eingabewort w wird vom DFA A akzeptiert, falls
δ(q0,w) ∈ F ,
d.h., A stürzt bei Eingabe von w nicht ab, und der nach Verarbeiten von werreichte Zustand gehört zur Menge F der akzeptierenden Zustände.
Wie „übersetzt“ sich
Akzeptanz von w = a1 · · · an
in der grafischen Darstellung von A? Es gibt einen in
q0
startenden Weg der Länge n,- dessen Kanten mit den Symbolen a1, . . . , an beschriftet sind,
- und der in einem akzeptierenden Zustand endet.
DFAs und ihre Sprachen 19 / 108
![Page 20: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/20.jpg)
Die akzeptierte Sprache L(A)
Die von einem DFA A = (Σ,Q, δ, q0,F ) akzeptierte Sprache L(A) ist
L(A) := w ∈ Σ∗ : δ(q0,w) ∈ F .
Ein Wort w ∈ Σ∗ gehört also genau dann zur Sprache L(A),wenn w vom DFA A akzeptiert wird.
DFAs und ihre Sprachen 20 / 108
![Page 21: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/21.jpg)
Der Automat A1
Wir betrachten das Eingabealphabet Σ := a, b.
Sei A1 ein DFA mit folgender graphischer Darstellung:
ba
b
A1 akzeptiert z.B. folgende Worte: ε, a, b, aaa, aaab, aaaabbbb, bbb, . . .A1 „stürzt ab“ z.B. bei Eingabe von ba, aabbba.
Insgesamt gilt:
L(A1) = anbm : n ∈ N, m ∈ N .
anbm bezeichnet das Wort a · · · ab · · · b der Länge n + m,das aus n a’s gefolgt von m b’s besteht, z.B. ist a3b4 das Wort aaabbbb.
DFAs und ihre Sprachen Beispiele 21 / 108
![Page 22: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/22.jpg)
Der Automat A2
Der DFA A2 hat den Automatengraphen
a
b
a
b
A2 akzeptiert die Sprache
L(A2) = w ∈ a, b∗ : der letzte Buchstabe von w ist ein a
DFAs und ihre Sprachen Beispiele 22 / 108
![Page 23: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/23.jpg)
Der Automat A3
Die graphische Darstellung eines DFA A3 mit
L(A3) = w ∈ a, b∗ : der vorletzte Buchstabe von w ist ein a
ist
a
b
a
aa
b
b
b
qbb qba
qab
qaa
DFAs und ihre Sprachen Beispiele 23 / 108
![Page 24: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/24.jpg)
Ein ParitätscheckBei der Speicherung von Daten auf einem Speichermedium eines Computerswerden Informationen durch binäre Worte über dem Alphabet 0, 1 kodiert.
Um Fehler bei der Datenübertragung zu erkennen, wird oft ein „Paritätsbitangehängt, so dass die Summe der Einsen im resultierenden Wort w gerade ist.
Für ein beliebiges Wort w ∈ 0, 1∗ sagen wir
w „besteht den Paritätscheck“,
falls die Anzahl der Einsen in w gerade ist.Der folgende DFA A führt einen Paritätscheck durch:
q0 q1
01
1
0
Für A gilt: L(A) = w ∈ 0, 1∗ : w besteht den Paritätscheck .DFAs und ihre Sprachen Beispiele 24 / 108
![Page 25: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/25.jpg)
Das Murmelspiel
(L, L,−) (L, L,C)
(R, L,C)
(L,R,C)
(R,R,C)
(L,R,D)
(L, L,D)
(R, L,D)
(R,R,D)
A
B
A
B
A
B
A
BA B
A
B
A
B
A
B
A
B
Wir interessieren uns für alle Folgen von Einwürfen von Murmeln in die EingängeA oder B, so dass die letzte Murmel am Ausgang D herausrollt:
Uns interessiert also die Sprache aller Worte w ∈ A,B∗, so dass derAutomat vom Startzustand (L, L,−) aus einen Zustand (∗, ∗,D) erreicht!
DFAs und ihre Sprachen Beispiele 25 / 108
![Page 26: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/26.jpg)
Endliche Automaten in der technischen Informatik
Endliche Automaten in der technischen Informatik 26 / 108
![Page 27: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/27.jpg)
Schaltnetze
Mit einem Schaltnetz wird ein Tupel boolescher Funktionen berechnet, also eineFunktion der Form
f : 0, 1n → 0, 1m.
Schaltnetze können z.B. arithmetische Funktionen berechnen wie etwa dieAddition oder Multiplikation von Zahlen, deren Binärdarstellung n/2 Bits lang ist.
Endliche Automaten in der technischen Informatik 27 / 108
![Page 28: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/28.jpg)
Boolesche Funktionen und endliche AutomatenSei f : 0, 1n → 0, 1 eine boolesche Funktion.
Wie berechnet man f mit einem endlichen Automaten Af = (Σ,Q, δ, q0,F )?
1. Af besitzt das Eingabealphabet Σ = 0, 1n,2. die Zustandsmenge Q = ε , 0 , 1 mit Startzustand q0 = ε,3. die partielle Übergangsfunktion δ : Q × Σ→ Q mit
δ(ε, x) = f (x)
4. und die Menge F = 1 akzeptierender Zustände.
Aber endliche Automaten können kein Tupel g boolescher Funktionen mit
g : 0, 1n → 0, 1m
für m > 1 berechnen!Endliche Automaten in der technischen Informatik 28 / 108
![Page 29: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/29.jpg)
Moore Automaten und Mealy Automaten:DFAs mit Ausgaben
Endliche Automaten in der technischen Informatik Moore Automaten und Mealy Automaten 29 / 108
![Page 30: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/30.jpg)
Moore Automaten
Endliche Automaten können „nur“ akzeptieren oder verwerfen,Moore Automaten können beliebige Ausgaben ausgeben.
Ein Moore Automat (Σ,Q, δ, q0, λ,Ω,F ) ist wie ein DFA aufgebaut,besitzt aber zusätzlich
- ein Ausgabealphabet Ω und- eine Ausgabefunktion λ : Q → Ω.
Ein Moore Automat produziert für jeden Zustand eine Ausgabe.
Endliche Automaten in der technischen Informatik Moore Automaten und Mealy Automaten 30 / 108
![Page 31: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/31.jpg)
Moore Automaten und Tupel boolescher Funktionen
Das Tupelf : 0, 1n → 0, 1m
boolescher Funktionen sei vorgegeben.
f wird von dem folgenden Moore Automaten (Σ,Q, δ, q0, λ,Ω,F ) berechnet:- Σ = 0, 1n ist das Eingabealphabet,- Q = ε ∪ 0, 1m ist die Zustandsmenge und q0 = ε der Startzustand,- δ : Q × Σ→ Q mit
δ(ε, x) = f (x)
ist die partielle Übergangsfunktion (δ ist nur für von ε ausgehendeÜbergänge definiert),
- Ω = 0, 1m ist das Ausgabealphabet und- λ : Q → Ω mit λ(q) = q ist die Ausgabefunktion.
Endliche Automaten in der technischen Informatik Moore Automaten und Mealy Automaten 31 / 108
![Page 32: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/32.jpg)
SchaltwerkeIn einem Schaltwerk wird Rückkopplung erlaubt: In „einem Schritt“ wird eineAusgabefunktion gA und eine Rückkopplungsfunktion gR berechnet mit
gA : 0, 1n × 0, 1r → 0, 1m und gR : 0, 1n × 0, 1r → 0, 1r
Erscheinen nacheinander die Eingaben x1, . . . , xk ∈ 0, 1n, dann werden
Ausgaben y1, . . . , yk ∈ 0, 1m und Rückkopplungen r0 = 0r , r1, . . . , rk−1
berechnet, wobeiyi = gA(xi , ri−1) und ri = gR(xi , ri−1).
Beispielsweise kann ein Steuerwerk durch ein Schaltwerk berechnet werden.1. Ein Steuerwerk lädt den nächsten Befehl und interpretiert ihn.2. Operanden, auf die sich der Befehl bezieht, werden geladen und Steuersignale
an andere Funktionseinheiten (wie etwa das Rechenwerk) erstellt.
Endliche Automaten in der technischen Informatik Moore Automaten und Mealy Automaten 32 / 108
![Page 33: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/33.jpg)
Mealy Automaten
Auch Mealy Automaten sind wie DFAs aufgebaut, besitzen aber zusätzlich- ein Ausgabealphabet Ω und- eine Ausgabefunktion λ : Q × Σ→ Ω.
Ein Mealy Automat produziert eine vom Zustand undvom Eingabesymbol abhängige Ausgabe.
Warum können wir einen Moore Automaten mit Ausgabefunktion
λ : Q → Ω
auch als Mealy Automaten mit Ausgabefunktion
λ′ : Q × Σ→ Ω
auffassen? Wie sollten wir λ′(q, a) definieren?
Endliche Automaten in der technischen Informatik Moore Automaten und Mealy Automaten 33 / 108
![Page 34: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/34.jpg)
Ein Mealy Automat für die Addition
Die Binärzahlen x = 0xn · · · x0 und y = 0yn · · · y0 sind zu addieren.Die Eingabe ist [x0y0][x1y1] · · · [xnyn][00].
Das i-te Ausgabe-Bit hängt nur ab von xi−1, yi−1 und dem im vorherigen Schrittevtl. erzeugten Übertrag.
9
01, 10/0
y
11/1
q1
z
00/0
:
01, 10/1
q011/0 1
00/1)
Endliche Automaten in der technischen Informatik Moore Automaten und Mealy Automaten 34 / 108
![Page 35: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/35.jpg)
Mealy Automaten und Schaltwerke
Schaltwerke lassen sich durch (Moore Automaten oder) Mealy Automatenmodellieren.
1. Angenommen, das Schaltwerk berechnet
die Ausgabefunktion gA : 0, 1r × 0, 1n → 0, 1m
mit der Rückkopplung gR : 0, 1r × 0, 1n → 0, 1r .
2. Wir definieren einen Mealy Automaten M = (Σ,Q, δ, q0, λ,Ω) wie folgt:I Eingabealphabet Σ = 0, 1n und Ausgabealphabet Ω = 0, 1m,I Zustandsmenge Q = 0, 1r und Anfangszustand q0 = 0r ,I Ausgabefunktion λ : Q × Σ→ Ω mit λ = gA undI Übergangsfunktion δ : Q × Σ→ Q mit δ = gR .
M verhält sich wie das Schaltwerk, berechnet also dieselbe Ausgabenfolge.
Automaten können Rückkopplung mit Hilfe ihrer Zustände simulieren undbieten sich deshalb für die (partielle) Beschreibung von Schaltwerken an!
Endliche Automaten in der technischen Informatik Moore Automaten und Mealy Automaten 35 / 108
![Page 36: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/36.jpg)
Technische Informatik: Der Entwurf von Schaltwerken
Moore oder Mealy Automaten spielen eine zentrale Rolle.
Der Entwurfsprozess1. Ein Mealy Automat wird zur Lösung eines Teils der Problemstellung entwickelt.2. Der Automat wird minimiert, d.h. ein äquivalenter Automat mit kleinster
Zustandsmenge wird berechnet und seine Automatentabelle bestimmt.3. Mit Verfahren der Logik-Optimierung (wie etwa Quine/McCluskey) bestimmt
man die minimale Gatterzahl für den kombinatorischen Teil der Schaltung.
Alle Details und viel, viel mehr in der Vorlesung
Hardwarearchitekturen und Rechensysteme.
Endliche Automaten in der technischen Informatik Moore Automaten und Mealy Automaten 36 / 108
![Page 37: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/37.jpg)
Bitte, bitte, bitte
keinen partiell definierten Moore oder Mealy Automaten
„in Silikon gießen“.
Abstürzen ist nicht erlaubt!
Wir haben partiell definierte Automaten nur benutzt,um kompakte Beschreibungen zu erhalten.
Endliche Automaten in der technischen Informatik Moore Automaten und Mealy Automaten 37 / 108
![Page 38: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/38.jpg)
Können wir heutige Rechner durch Mealy Automatensimulieren?
1. „Im Prinzip“ ja: Heutige Rechner besitzen zwar einen modifizierbaren Speicher,aber dieser Speicher ist beschränkt.
I Was immer ein moderner Rechner berechnen kann, lässt sich auch durch Moore-oder Mealy-Automaten berechnen.
2. Aber um k Flip-Flops zu simulieren, brauchen wir Mealy Automaten mit bis zu2k Zuständen.
I Eine Simulierung moderner Rechner durch Mealy Automaten ist völlig unsinning,weil der notwendige Speicher im schlimmsten Fall exponentiell anwächst.
3. Aber Mealy Automaten bieten sich zum Beispiel an, um Steuerwerke zusimulieren.
I Und dann sollten wir mit Ihnen arbeiten, denn wir können Mealy Automatenminimieren wie wir gleich sehen werden.
Endliche Automaten in der technischen Informatik Moore Automaten und Mealy Automaten 38 / 108
![Page 39: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/39.jpg)
Minimierung von DFAs
Minimierung 39 / 108
![Page 40: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/40.jpg)
Minimiere die Zustandszahl
A = (Σ, QA, δA, qA0 , FA) und B = (Σ, QB , δB , qB
0 , FB) seien vollständige DFAs.
(a) Wir nennen A und B äquivalent, wenn gilt
L(A) = L(B).
(b) A heißtminimal,
wenn kein mit A äquivalenter vollständiger DFA eine kleinere Zustandszahlbesitzt.
DAS ZIEL:Gegeben ist ein vollständiger DFA A.Bestimme einen minimalen, mit A äquivalenten vollständigen DFA.
Minimierung 40 / 108
![Page 41: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/41.jpg)
Zustandsminimierung: Die Idee
Der DFA A = (Σ, Q, δ, q0, F ) sei gegeben.
Die Idee: Wir sollten doch zwei Zustände p, q ∈ Q zu einem einzigen Zustandverschmelzen dürfen, wenn p und q „äquivalent“ sind,
also dasselbe Ausgabeverhalten besitzen.
Was bedeutet das?
Die Verschmelzungsrelation ≡A ist eine 2-stellige Relation über der Zustands-menge Q. Wir sagen, dass Zustände p, q ∈ Q äquivalent bzgl. A sind,(kurz p ≡A q), wenn
f.a. Worte w ∈ Σ∗ : δ(p,w) ∈ F ⇔ δ(q,w) ∈ F .
Wir nennen ≡A Verschmelzungsrelation, da wir bzgl. ≡A äquivalente Zuständein einen Zustand verschmelzen möchten.
Minimierung 41 / 108
![Page 42: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/42.jpg)
Einschub: Äquivalenzrelationen
Minimierung 42 / 108
![Page 43: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/43.jpg)
2-stellige Relationen und gerichtete Graphen
Zur Erinnerung: Für eine 2-stellige Relation R über der Knotenmenge V gilt
R ⊆ V × V .
Wir können somitdie Relation R als Kantenmenge undumgekehrt eine Kantenmenge als eine 2-stellige Relation auffassen.
Gerichtete Graphen mit Knotenmenge V
und
2-stellige Relationen über V
sind äquivalente Konzepte!
Minimierung 43 / 108
![Page 44: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/44.jpg)
Wichtige Eigenschaften 2-stelliger Relationen
Sei E eine 2-stellige Relation über einer Menge V , d.h. G = (V ,E ) ist eingerichteter Graph.(a) E heißt reflexiv, falls für alle v ∈ V gilt:
(v , v) ∈ E . (Skizze: v )(b) E heißt symmetrisch, falls f.a. v ,w ∈ V gilt:
Wenn (v ,w) ∈ E , dann auch (w , v) ∈ E .
zur Kante v w gibt es auch die “Rückwärtskante“ v w(c) E heißt transitiv, falls f.a. v ,w , u ∈ V gilt:
Ist (v ,w) ∈ E und (w , u) ∈ E , so auch (v , u) ∈ E .
(Skizze:v w u
E EE E
E
v w u)
Minimierung 44 / 108
![Page 45: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/45.jpg)
Äquivalenzrelationen
(a) Eine Äquivalenzrelation ist eine 2-stellige Relation, diereflexiv, transitiv und symmetrisch ist.
(b) Sei E eine Äquivalenzrelation über einer Menge V .I Für jedes v ∈ V bezeichnet
[v ]E := v ′ ∈ V | (v , v ′) ∈ E
die Äquivalenzklasse von v bezüglich E .F [v ]E besteht aus allen Elementen von V , die gemäß E “äquivalent“ zu v sind.
I Eine Menge W ⊆ V heißt Äquivalenzklasse (bzgl. E),falls W = [v ]E für ein Element v ∈ V gilt.
F Das Element v heißt Vertreter seiner Äquivalenzklasse W .
Minimierung Äquivalenzrelationen 45 / 108
![Page 46: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/46.jpg)
Die wichtigste Eigenschaft von Äquivalenzrelationen
Sei E eine Äquivalenzrelation über der Menge V .
(a) Dann gilt für alle Elemente v ,w ∈ V
[v ]E = [w ]E oder [v ]E ∩ [w ]E = ∅.
(b) V ist eine disjunkte Vereinigung von Äquivalenzklassen.
Beweis: Siehe Tafel.
Minimierung Äquivalenzrelationen 46 / 108
![Page 47: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/47.jpg)
Äquivalenzrelationen: Beispiele (1/2)
(a) Gleichheit: Für jede Menge M ist
E := (m,m) : m ∈ M
eine Äquivalenzrelation: „(x , y) ∈ E“ gilt genau dann, wenn „x = y“.(b) Gleichmächtigkeit: Für jede endliche Menge M ist
E := (A,B) : A ⊆ M, B ⊆ M, |A| = |B|
eine Äquivalenzrelation über der PotenzmengeM. Skizze für M = 1, 2:
1 2
∅
1, 2
Minimierung Äquivalenzrelationen 47 / 108
![Page 48: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/48.jpg)
Äquivalenzrelationen: Beispiele (2/2)
(c) Logische Äquivalenz: Die Relation
E := (φ, ψ) : φ, ψ ∈ AL, φ ≡ ψ
ist eine Äquivalenzrelation über der Menge AL aller aussagenlogischenFormeln.
(d) Graph-Isomorphie: Für jede Menge V ist
E := (G1,G2) | G1 = (V ,E1), G2 = (V ,E2)
sind isomorphe ungerichtete Graphen
eine Äquivalenzrelation über der Menge aller ungerichteten Graphen mitKnotenmenge V .
Minimierung Äquivalenzrelationen 48 / 108
![Page 49: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/49.jpg)
Der Index
Sei E eine Äquivalenzrelation. Dann ist der Index von E die Anzahl derverschiedenen Äquivalenzklassen.
Der Index einer Äquivalenzrelation gibt an,wie viele verschiedene Äquivalenzklassen es gibt.
(a) Betrachte wieder die Äquivalenzrelation der Gleichmächtigkeit für TeilmengenA,B ⊆ M, also
A ∼= B ⇔ |A| = |B|.
Dann stimmt der Index überein mit |M|+ 1.(b) Der Index der Verschmelzungsrelation ≡A
stimmt mit der minimalen Zustandszahl überein,
WENN der Automat nach Verschmelzung minimal ist.
Minimierung Äquivalenzrelationen 49 / 108
![Page 50: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/50.jpg)
Zurück zur Verschmelzungsrelation ≡A
Minimierung Die Verschmelzungsrelation 50 / 108
![Page 51: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/51.jpg)
Die Verschmelzungsrelation ist eine Äquivalenzrelation
Der DFA A = (Σ, Q, δ, q0, F ) sei gegeben. Zur Erinnerung:
p ≡A q wenn f.a. Worte w ∈ Σ∗ gilt:(δ(p,w) ∈ F ⇔ δ(q,w) ∈ F
).
(a) Die Verschmelzungsrelation istI reflexiv, f.a. p ∈ Q: p ≡A p,I symmetrisch, f.a. p, q ∈ Q: wenn p ≡A q, dann q ≡A p undI transitiv, f.a. p, q, r ∈ Q: wenn p ≡A q und q ≡A r , dann p ≡A r .
Warum? Siehe Tafel.(b) Die Verschmelzungsrelation ist eine Äquivalenzrelation!
Die Zustandsmenge Q ist eine disjunkte Vereinigung der Klassen von ≡A.
Minimierung Die Verschmelzungsrelation 51 / 108
![Page 52: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/52.jpg)
Was ist zu tun?
Sei der DFA A = (Σ, Q, δ, q0, F ) gegeben.
Wir führen die folgenden Schritte durch:1. Wir bestimmen die Äquivalenzklassen der Verschmelzungsrelation ≡A.2. Für jede Äquivalenzklasse von ≡A verschmelzen wir alle Zustände der Klasse zu
einem einzigen Zustand und fügen „entsprechende“ Übergänge ein. Den neuenAutomaten nennen wir A′ und bezeichnen ihn als
den Äquivalenzklassenautomaten von A.
Minimierung Die Verschmelzungsrelation 52 / 108
![Page 53: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/53.jpg)
Die wichtigen Fragen
(a) Wie sollen wir die Zustandsübergänge von A′ definieren, so dass A und A′dieselbe Sprache berechnen? Können wir
I die Verschmelzungsrelation ≡A wie auch denI Äquivalenzklassenautomaten A′ effizient berechnen?
(b) Die Anzahl der Zustände von A′ stimmt mit dem Index von ≡A überein.I Wenn der Index mit der minimalen Zustandszahl übereinstimmt,
dann ist A′ minimal!
Minimierung Die Verschmelzungsrelation 53 / 108
![Page 54: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/54.jpg)
Wir bestimmen die Verschmelzungsrelation ≡A
Minimierung Die Verschmelzungsrelation 54 / 108
![Page 55: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/55.jpg)
Zeugen (1/2)
Sei (Σ,Q, δ, q0,F ) ein DFA.(a) Das Wort w ∈ Σ∗ ist Zeuge für die Inäquivalenz von p und q, wenn(
δ(p,w) ∈ F ∧ δ(q,w) 6∈ F)∨(δ(p,w) 6∈ F ∧ δ(q,w) ∈ F
).
Wir sagen auch, dass w die Zustände p und q trennt.(b) Es ist p 6≡A q genau dann, wenn es einen Zeugen für die Inäquivalenz von p
und q gibt, bzw wenn es ein Wort gibt, das p und q trennt.
Minimierung Die Verschmelzungsrelation 55 / 108
![Page 56: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/56.jpg)
Zeugen (2/2)
3
1a
a2
b1
b2
bba,b
a
b
a
a
a
a
b
b
b
b
Finde einen Zeugen für die Inäquivalenz von b1 und bb.Welcher Zeuge trennt ε und a1?Gibt es Zeugen, die die Zustände a1 und a2 trennen?
Minimierung Die Verschmelzungsrelation 56 / 108
![Page 57: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/57.jpg)
Wir bestimmen alle Paare nicht-äquivalenter Zustände
1. Markiere alle Paarmengen p, q mit p ∈ F und q 6∈ F (als nicht-äquivalent).I Es ist δ(p, ε) ∈ F und δ(q, ε) 6∈ F .I w = ε ist Zeuge für die Nicht-Äquivalenz von p und q.
2. Wenn die Paarmenge p, q bereits markiert wurde und
wenn δ(r , a) = p sowie δ(s, a) = q
für ein a ∈ Σ, dann markiere r , s.I Da p 6≡A q, gibt es einen Zeugen w mit(
δ(p,w) ∈ F und δ(q,w) 6∈ F)oder
(δ(p,w) 6∈ F und δ(q,w) ∈ F
).
I Das Wort aw trennt r und s.3. Halte, wenn keine neuen Paarmengen r , s markiert werden können.
I Unser Verfahren behauptet, dass p 6≡A q genau dann gilt,wenn die Paarmenge p, q markiert wurde.
Stimmt die Behauptung: Finden wir alle Paare nicht-äquivalenter Zustände?
Minimierung Die Verschmelzungsrelation 57 / 108
![Page 58: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/58.jpg)
Unser Verfahren funktioniert!
Sei P die Menge aller Paare r , s nicht-äquivalenter Zustände, die abervon unserem Verfahren nicht gefunden werden. Zeige, dass P leer ist!
Angenommen, P ist nicht-leer.0. p, q ∈ P habe unter allen Paaren in P einen kürzesten Zeugen w .1. Wenn w = ε, dann ist
I(δ(p, ε) ∈ F und δ(q, ε) 6∈ F
)oder
(δ(p, ε) 6∈ F und δ(q, ε) ∈ F
),
I bzw.(p ∈ F und q 6∈ F
)oder
(p 6∈ F und q ∈ F
).
Aber dann haben wir p, q im Schritt 1. markiert. 2. Wenn w = au für den Buchstaben a ∈ Σ, dann ist
I(δ(p, au) ∈ F und δ(q, au) 6∈ F
)oder
(δ(p, au) 6∈ F und δ(q, au) ∈ F
),
I bzw.(δ(δ(p, a), u) ∈ F und δ(δ(q, a), u) 6∈ F
)oder(
δ(δ(p, a), u) 6∈ F und δ(δ(q, a), u) ∈ F).
Aber dann ist δ(p, a) 6≡A δ(q, a) mit dem kürzeren Zeugen u:I Nach Annahme haben wir δ(p, a), δ(q, a) z.B. in einer Menge Mi markiertI und werden darauf folgend p, q in Mi+1 markieren.
Minimierung Die Verschmelzungsrelation 58 / 108
![Page 59: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/59.jpg)
Der Automat nach allen Verschmelzungen
Wie sieht der Automat nach dem Verschmelzen aller äquivalenten Zustände aus?
- Für Zustand p ∈ Q bezeichnet
[p]A :=q ∈ Q | p ≡A q
die Äquivalenzklasse von p.
- Der Äquivalenzklassenautomat A′ für A besitztI die Zustandsmenge
Q′ :=
[p]A | p ∈ Q,
I den Anfangszustand q′0 :=[q0]A,I die Menge F ′ :=
[p]A | p ∈ F
der akzeptierenden Zustände und
I das Programm δ′ mitδ′([p]A, a) := [ δ(p, a) ]A
für alle q ∈ Q, a ∈ Σ.
Minimierung Die Verschmelzungsrelation 59 / 108
![Page 60: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/60.jpg)
Der Minimierungsalgorithmus
Minimierung Die Verschmelzungsrelation 60 / 108
![Page 61: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/61.jpg)
Berechnung von ≡A und A′
Eingabe: Ein DFA A = (Q,Σ, δ, q0,F ).
Schritt 1: Entferne aus A alle überflüssigen Zustände, d.h. alle Zustände,die nicht von q0 aus erreichbar sind.
Schritt 2: Bestimme alle Paarmengen p, q mit p, q ∈ Q und p 6≡A q:1. Markiere alle Paarmengen in M0 :=
p, q : p ∈ F , q ∈ Q \ F
; Setze i := 0
2. Wiederhole3. Für alle Paarmengen p, q mit p 6= q und für alle x ∈ Σ tue folgendes:4. Markiere p, q, falls δ(p, x), δ(q, x) ∈ Mi .5. Sei Mi+1 die Menge aller hierbei neu markierten Paarmengen.6. i := i + 17. bis Mi = ∅8. Ausgabe: M := M0 ∪ · · · ∪Mi−1.
Schritt 3: Konstruiere A′ := (Q′,Σ, δ′, q′0,F ′):Q′ :=
[q]A : q ∈ Q
, wobei [q]A =
p ∈ Q : p, q 6∈ M
q′0 := [q0]A, F ′ :=
[q]A : q ∈ F
δ′ : Q′ × Σ→ Q′ mit δ′
([q]A, x
):= [δ(q, x)]A für alle q ∈ Q und x ∈ Σ.
Minimierung Die Verschmelzungsrelation 61 / 108
![Page 62: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/62.jpg)
Ist der Algorithmus korrekt und effizient?
In jeder Iteration in Schritt 2 wird mindestens eine neue Paarmenge markiert:Es gibt also höchstens |Q|2 Iterationen und der Algorithmus ist effizient.
Die wichtigen Fragen:1. Sind A und der Äquivalenzklassenautomat A′ äquivalent, d.h.
berechnet A′ dieselbe Sprache wie A? X
2. Ist A′ minimal?
Aber zuerst rechnen wir einige Beispiele durch.
Minimierung Die Verschmelzungsrelation 62 / 108
![Page 63: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/63.jpg)
Ein erstes BeispielDer DFA A mit Zustandsdiagramm
0 1 2 3 4 5
1
01
0
01 11 0
0
akzeptiert die Binärdarstellungen aller durch 6 teilbaren Zahlen. D.h.:
L(A) =w ∈ 0, 1∗ :
|w|∑i=1
wi 2|w|−i ≡ 0 (mod 6).
Aufgabe: Bestimme den Äquivalenzklassenautomaten A′.
– siehe Tafel –Minimierung Beispiele 63 / 108
![Page 64: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/64.jpg)
Zustandsminimierung: Die Mengen M0,M1,M2
3
1a
a2
b1
b2
bba,b
a
b
a
a
a
a
b
b
b
b
a1 M2a2 M2b1 M1 M1 M1b2 M1 M1 M1bb M0 M0 M0 M0 M0
ε a1 a2 b1 b2
M3 = ∅.
Minimierung Beispiele 64 / 108
![Page 65: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/65.jpg)
Zustandsminimierung: Der Äquivalenzklassenautomat A′
M3 = ∅ ⇒ bb ist die Klasse des einzigen akzeptierenden Zustands, ε ist dieKlasse des Startzustands, a1, a2 und b1, b2, sind die restlichen Klassen.
3
1a
a2
b1
b2
bba,b
a
b
a
a
a
a
b
b
b
b
Der Äquivalenzklassenautomat:
n n n n- -
- ? ?
ε a b bba,b b
a a,bba
Genügt es, wenn wir nur Zustände mit identischen Nachfolgezuständenverschmelzen? NEIN!
Minimierung Beispiele 65 / 108
![Page 66: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/66.jpg)
Zustandsminimierung: Die Tabelle
Wie haben wir die Tabelle gefüllt?
Angenommen, wir haben die Mengen M0, . . . ,Mi bestimmt und die„entsprechenden“ Positionen in der Tabelle markiert.1. Wir haben nacheinander alle unmarkierten Einträge der Tabelle inspiziert.2. Angenommen, die Position in Zeile p und Spalte q ist unmarkiert. Markiere
diese Position mit Mi+1, wenn es einen Buchstaben x ∈ Σ gibt, so dassI die Position in Zeile δ(p, x) und Spalte δ(q, x)I bzw. in Spalte δ(p, x) und Zeile δ(q, x)
markiert ist.
Minimierung Beispiele 66 / 108
![Page 67: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/67.jpg)
Was ist Sache?
1. Der ursprüngliche Automat A = (Q,Σ, δ, q0,F ) und seinÄquivalenzklassenautomat A′ sind äquivalent.
2. Wir können A′ effizient berechnen.? Aber hat A′ unter allen mit A äquivalenten DFAs die kleinste Zustandszahl?
Die Nerode-Relation für die Sprache L = L(A) hat die Antwort.
Minimierung Die Nerode-Relation 67 / 108
![Page 68: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/68.jpg)
Die Nerode-Relation
Sei A = (Σ,Q, δ, q0,F ) ein DFA. Wenn δ(q0, u) = δ(q0, v)„ dann
f.a. w ∈ Σ∗ : (uw ∈ L(A)⇔ vw ∈ L(A)).
L sei eine Sprache über der endlichen Menge Σ, d.h. es gilt L ⊆ Σ∗.(a) Die Nerode-Relation ≡L für L ist eine 2-stellige Relation über Σ∗.
Für alle Worte u, v ∈ Σ∗ definiere
u ≡L v :⇔ f.a. w ∈ Σ∗ gilt:(uw ∈ L⇔ vw ∈ L
).
(b) Wir sagen, dass das Wort w ∈ Σ∗ die Worte u, v ∈ Σ∗ trennt,bzw. dass w ein Zeuge für die Inäquivalenz von u und v ist, wenn(
uw ∈ L ∧ vw 6∈ L)∨(uw 6∈ L ∧ vw ∈ L
).
(c) Index(L) ist die Anzahl der Äquivalenzklassen von ≡L.
Minimierung Die Nerode-Relation 68 / 108
![Page 69: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/69.jpg)
Die Nerode-Relation ist eine Äquivalenzrelation
Warum? Die Nerode-Relation ≡L ist1. reflexiv, denn u ≡L u gilt f.a. u ∈ Σ∗,2. symmetrisch, denn aus u ≡L v folgt v ≡L u f.a. u, v ∈ Σ∗,3. transitiv, denn aus u ≡L v , v ≡L w folgt u ≡L w f.a. u, v ,w ∈ Σ∗.Beweis: Siehe Tafel.
Der absolute Hammer:
Für eine reguläre Sprache L stimmt Index(L),die Anzahl der Äquivalenzklassen von ≡L,
mit der minimalen Zustandszahl für DFAs A mit L(A) = L überein!
Minimierung Die Nerode-Relation 69 / 108
![Page 70: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/70.jpg)
Die minimale Zustandszahl > Index(L)
Der DFA A = (Q,Σ, δ, q0,F ) akzeptiere die Sprache L, es gelte also L(A) = L.
Angenommen, es ist
δ(q0, u) = δ(q0, v).
1. Dann ist δ(q0, uw) = δ(q0, vw) für alle Worte w ∈ Σ∗ und A akzeptiert dasWort uw genau dann, wenn A das Wort vw akzeptiert.
2. Aber L(A) = L und uw ∈ L ⇔ vw ∈ L folgt für alle Worte w ∈ Σ∗ ⇒
u ≡L v .
(a) Alle Worte, die auf denselben Zustand von A führen, sind äquivalent bzgl. ≡L.(b) Jeder DFA A mit L = L(A) hat mindestens Index(L) Zustände.
Minimierung Die Nerode-Relation 70 / 108
![Page 71: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/71.jpg)
Die minimale Zustandszahl 6 Index(L)
Der DFA A = (Q,Σ, δ, q0,F ) akzeptiere die Sprache L, es gelte also L(A) = L.A′ = (Q′,Σ, δ′, q′0,F ′) sei sein Äquivalenzklassenautomat.
Angenommen, Worte u, v ∈ Σ∗ führen in A′ zu verschiedenen Zuständen.1. Für A sei p = δ(q0, u) und q = δ(q0, v).2. Es folgt p 6≡A q und es gibt einen Zeugen w ∈ Σ∗ für die Nicht-Äquivalenz.
I Also:(δ(p,w) ∈ F ∧ δ(q,w) 6∈ F
)∨(δ(p,w) 6∈ F ∧ δ(q,w) ∈ F
), bzw.
I(δ(q0, uw) ∈ F ∧ δ(q0, vw) 6∈ F
)∨(δ(q0, uw) 6∈ F ∧ δ(q0, vw) ∈ F
), bzw.
I
(uw ∈ L ∧ vw 6∈ L
)∨(uw 6∈ L ∧ vw ∈ L
).
3. Wenn u und v in A′ zu verschiedenen Zuständen führen, dann folgt u 6≡L v .4. Wenn u ≡L v , dann führen u und v in A′ zum selben Zustand.
Die Zustandszahl von A′ stimmt überein mit Index(L(A)):Der Äquivalenzklassenautomat A′ ist ein minimaler DFA für L(A).
Minimierung Die Nerode-Relation 71 / 108
![Page 72: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/72.jpg)
Die Nerode-Relation: Beispiele
Zeige in jedem Fall, dass Index(L) möglichst groß ist:
1. L = w ∈ 0, 1∗ : w hat gerade viele Einsen,2. L = a, b∗ab,3. L die Menge aller Binärdarstellungen für durch 6 teilbare Zahlen,4. Lu = w ∈ Σ∗ : u ist ein Teilwort von w für ein Wort u ∈ Σ∗.
Minimierung Die Nerode-Relation 72 / 108
![Page 73: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/73.jpg)
Reguläre Sprachen
Minimierung Die Nerode-Relation 73 / 108
![Page 74: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/74.jpg)
Reguläre Sprachen
Eine Teilmenge L ⊆ Σ∗ heißt eine reguläre Sprache, wenn es einen DFA A gibtmit
L = L(A).
(a) Gibt es Teilmengen von Σ∗, die keine regulären Sprachen sind?(b) Ist L = anbn : n ∈ N eine reguläre Sprache?(c) Sei Σ ein beliebiges Alphabet und sei w ∈ Σ∗ ein Wort über Σ. Ist
L = u ∈ Σ∗ : w ist ein Teilwort von u
eine reguläre Sprache?
Minimierung Die Nerode-Relation 74 / 108
![Page 75: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/75.jpg)
Der Satz von Nerode
Minimierung Die Nerode-Relation 75 / 108
![Page 76: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/76.jpg)
Wann ist eine Sprache regulär?
Satz von NerodeEine Teilmenge L ⊆ Σ∗ ist regulär ⇔ Index(L) ist endlich.
⇒ L ⊆ Σ∗ sei regulär. Dann gibt es einen DFA A mit L = L(A).I A hat mindestens Index(L) Zustände.I Also ist Index(L) endlich.
⇐ Index(L) sei endlich.I Es gibt stets einen (möglicherweise unendlichen) Automaten A mit L = L(A).I Der Äquivalenzklassenautomat A′ ist minimal
und hat nach Annahme genau Index(L) viele Zustände.I Es ist L = L(A′) für den DFA A′ ⇒ L ist regulär.
Minimierung Die Nerode-Relation 76 / 108
![Page 77: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/77.jpg)
L = anbn : n ∈ N ist nicht regulär
Bestimme unendlich viele Worte uk ∈ a, b∗, so dass
uk 6≡L u`
für alle k 6= ` gilt.
Setze ui := ai . Für k 6= ` gilt uk 6≡L u`, denn
ukbk ∈ L, aber u`bk 6∈ L.
Index(L) =∞ und L ist nicht regulär.
DFAs können nicht (unbeschränkt) zählen.
Minimierung Die Nerode-Relation 77 / 108
![Page 78: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/78.jpg)
L = ww : w ∈ a, b∗ ist nicht regulär
Wir bestimmen unendlich viele Worte uk ∈ a, b∗, so dass
uk 6≡L u`
für alle k 6= ` gilt.
Setze ui := aib. Für k 6= ` gilt uk 6≡L u`, denn
ukakb ∈ L, aber u`akb 6∈ L.
Index(L) =∞ und L ist nicht regulär.
DFAs können sich nur beschränkt viele Dinge merken.
Minimierung Die Nerode-Relation 78 / 108
![Page 79: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/79.jpg)
Weitere nicht-reguläre Sprachen
Keine der folgenden Sprachen ist regulär.
L1 = anbm : n,m ∈ N, n 6 m :I DFAs können nicht vergleichen,
L2 = anbmcn+m : n,m ∈ N :I DFAs können nicht addieren,
L3 = an2: n ∈ N :
I DFAs können nicht quadrieren,
L4 = w ∈ a, b∗ : w ist ein Palindrom :I Endliche Automaten haben ein nur beschränkt großes Gedächtnis.
Zeige, dass der Index unendlich ist. Das gelingt häufig sogar mit unendlich vielenWorten u1, u2, . . . und v1, v2, . . . mit den Eigenschaften
uivi ∈ L undujvi 6∈ L für i 6= j .
Minimierung Die Nerode-Relation 79 / 108
![Page 80: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/80.jpg)
NFAs
Nichtdeterministische endliche Automaten 80 / 108
![Page 81: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/81.jpg)
NFAs: DFAs, die raten dürfenEin „NFA“ akzeptiert ein Eingabewort w ∈ a, b∗ genau dann,wenn es im Automatengraphen mindestens einen Weg gibt,
- der im Startzustand beginnt,
- dessen Kanten mit w beschriftet sind,
- und der in einem akzeptierenden Zustand endet.
b
a
a
b
a
Der „NFA“ akzeptiertL = w ∈ a, b∗ : der vorletzte Buchstabe von w ist ein a .
Nichtdeterministische endliche Automaten 81 / 108
![Page 82: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/82.jpg)
NFAs: Die formale Definition
Ein nichtdeterministischer endlicher Automat (kurz: NFA)
A = (Σ,Q, δ, q0,F )
besteht aus:einer endlichen Menge Σ, dem Eingabealphabet,einer endlichen Menge Q, der Zustandsmenge,einer Funktion δ : Q × Σ→ P(Q), der Übergangsfunktion,
- die jedem Zustand q ∈ Q und jedem Symbol a ∈ Σ eine Mengeδ(q, a) von möglichen Nachfolgezuständen zuordnet.
- Möglicherweise ist δ(q, a) = ∅: Dann „stürzt“ der Automat ab,wenn er im Zustand q ist und das Symbol a liest.
dem Startzustand q0 ∈ Q undeiner Menge F ⊆ Q von Endzuständen bzw. akzeptierenden Zuständen.
Nichtdeterministische endliche Automaten NFAs: Die formale Definition 82 / 108
![Page 83: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/83.jpg)
Der Automatengraph von NFAs
Es sei- q ∈ Q ein Zustand,- a ∈ Σ ein Eingabesymbol und- q′ ∈ δ(q, a) ein „möglicher Nachfolgezustand“.
Dann gibt es im Automatengraphen einen mit dem Symbol a beschrifteten Pfeilvon Knoten q zu Knoten q′ , d.h.
q q′a .
Nichtdeterministische endliche Automaten NFAs: Die formale Definition 83 / 108
![Page 84: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/84.jpg)
Stichwortsuche mit NFAs (1/2)
Gegeben: Ein Stichwort, z.B. „modell“Eingabe: Ein Text, der aus den Buchstaben „a“ bis „z“ sowie
dem Leerzeichen „ “ bestehtFrage: Kommt das Stichwort „modell“ irgendwo im Eingabetext vor?
Der Automatengraph eines NFAs, der dies bewerkstelligt:
a, . . . , z ,
m o d e l l
a, . . . , z ,
Nichtdeterministische endliche Automaten NFAs: Die formale Definition 84 / 108
![Page 85: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/85.jpg)
Stichwortsuche mit NFAs (2/2)
Auf ähnliche Art können auch Varianten dieser Stichwortsuche behandelt werden,zum Beispiel die Frage
Kommt mindestens eins der Stichworte „modell“ bzw. „logik“ imEingabetext vor?
Graphische Darstellung eines NFAs, der dies bewerkstelligt:
a, . . . , z ,
mo d e l l
a, . . . , z ,
lo g i k
a, . . . , z ,
Nichtdeterministische endliche Automaten NFAs: Die formale Definition 85 / 108
![Page 86: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/86.jpg)
Die von einem NFA akzeptierte Sprache
Nichtdeterministische endliche Automaten Die von einem NFA akzeptierte Sprache 86 / 108
![Page 87: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/87.jpg)
Wann akzeptiert ein NFA?
Sei A = (Σ,Q, δ, q0,F ) ein NFA.(a) Sei n ∈ N und sei w = a1 · · · an ein Eingabewort der Länge n.
Das Wort w wird ganau dann vom NFA A akzeptiert, wenn es imAutomatengraphen von A einen im Startzustand
q0
beginnenden Weg der Länge n gibt, dessen Kanten mit den Symbolena1 . . . an beschriftet sind und der in einem akzeptierenden Zustand endet.
(b) Die von A akzeptierte Sprache L(A) ist
L(A) := w ∈ Σ∗ : A akzeptiert w .
Das ist keine „wirklich“ präzise Definition,denn der Automatengraph soll doch nur unsere Intuition unterstützen.
Nichtdeterministische endliche Automaten Die von einem NFA akzeptierte Sprache 87 / 108
![Page 88: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/88.jpg)
Die erweiterte Übergangsfunktion
Nichtdeterministische endliche Automaten Die erweiterte Übergangsfunktion 88 / 108
![Page 89: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/89.jpg)
δ(q,w) := die MENGE aller möglichen Zuständenach Lesen von w im „Startzustand“ q
Sei A := (Σ,Q, δ, q0,F ) ein NFA. Die Funktion
δ : Q × Σ∗ → P(Q)
ist rekursiv wie folgt definiert:Rekursionsanfang: F.a. q ∈ Q ist δ(q, ε) := q.Rekursionsschritt: F.a. q ∈ Q, w ∈ Σ∗ und a ∈ Σ ist
δ(q,wa) :=⋃
q′∈δ(q,w)
δ(q′, a).
Ein möglicher Zustand q′′ wird nach Lesen von wa genau dann erreicht, wenn nachLesen von w (im Zustand q) ein Zustand q′ erreicht wird und q′′ ∈ δ(q′, a) gilt:
q w→ q′ a→ q′′.
Nichtdeterministische endliche Automaten Die erweiterte Übergangsfunktion 89 / 108
![Page 90: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/90.jpg)
Wann genau akzeptiert denn nun ein NFA?
Der NFA A = (Σ,Q, δ, q0,F ) akzeptiert ein Wort w genau dann, wenn:
δ(q0,w) ∩ F 6= ∅.
Somit istL(A) = w ∈ Σ∗ : δ(q0,w) ∩ F 6= ∅ .
Nichtdeterministische endliche Automaten Die erweiterte Übergangsfunktion 90 / 108
![Page 91: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/91.jpg)
Äquivalenz von NFAs und DFAs
Äquivalenz von NFAs und DFAs 91 / 108
![Page 92: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/92.jpg)
Können NFAs Sprachen akzeptieren,die DFAs nicht akzeptieren können?
NEIN!
Für jeden NFA A = (Σ,Q, δ, q0,F ) gibt es einen DFA A′ = (Σ,Q′, δ′, q′0,F ′) mit
L(A′) = L(A).
D.h.: NFAs und DFAs akzeptieren genau dieselben Sprachen.
D.h. wir können Stichwortsuche auch mit DFAs durchführen?Natürlich und sogar mit wenigen Zuständen.
Aber im Allgemeinen sind die DFAs doch bestimmt sehr viel größer?!?
Äquivalenz von NFAs und DFAs 92 / 108
![Page 93: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/93.jpg)
Die Potenzmengenkonstruktion (1/2)
Sei A = (Σ,Q, δ, q0,F ) der gegebene NFA.
Idee: Wir konstruieren einen DFA A′ = (Σ,Q′, δ′, q′0,F ′), der in seinem aktuellenZustand q′ ∈ Q′
die Menge aller Zustände abspeichert, in denen der Automat Ain der aktuellen Situation sein könnte.
Wir definieren die Komponenten von A′ daher wie folgt:Eingabealphabet Σ,Zustandsmenge Q′ := P(Q),Startzustand q′0 := q0,Endzustandsmenge F ′ := X ∈ Q′ : X ∩ F 6= ∅ ,Übergangsfunktion δ′ : Q′ × Σ→ Q′, wobei für alle X ∈ Q′ = P(Q) und allea ∈ Σ gilt:
δ′(X , a) :=⋃
q∈Xδ(q, a).
Äquivalenz von NFAs und DFAs 93 / 108
![Page 94: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/94.jpg)
Die Potenzmengenkonstruktion (2/2)
Und wie zeigt man, dass A und A′ dieselbe Sprache akzeptieren?
Zeige, dassδ′(q0,w) = δ(q0,w)
für jedes Wort w ∈ Σ∗ gilt.
Und wie, bitte schön, sollen wir das zeigen?Wir haben die erweiterten Übergangsfunktionen δ und δ′ rekursiv definiert.Dann werden wir wohl eine vollständige Induktion nach n = |w | ausführen!
Äquivalenz von NFAs und DFAs 94 / 108
![Page 95: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/95.jpg)
Die Potenzmengenkonstruktion: Ein Beispiel (1/2)
Wie führt man die Potenzmengenkonstruktion für den NFA
b
a
a
b
a
aus? Bezeichne die Zustände, von links nach rechts gelesen, mit q0, q1 und q2.
Wichtig:1. Beginne mit allen möglichen Nachfolgezuständen des Startzustands
q′0 := q0.2. Definiere die Übergangsfunktion von A′ nur für solche Zustände ausP(q0, q1, q2), die vom Startzustand q′0 aus erreicht werden können.
Äquivalenz von NFAs und DFAs 95 / 108
![Page 96: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/96.jpg)
Die Potenzmengenkonstruktion: Ein Beispiel (2/2)
q0 q0, q1
q0, q1, q2
q0, q2
b
a
a
a
b
a
b
b
Äquivalenz von NFAs und DFAs 96 / 108
![Page 97: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/97.jpg)
Reguläre Ausdrücke
Reguläre Ausdrücke 97 / 108
![Page 98: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/98.jpg)
Reguläre „Muster“
Sei Σ ein Alphabet.1 Die Menge aller Worte über Σ haben wir mit
Σ∗
beschrieben.2 Sei u ein Wort über Σ. Dann wird die Menge aller Worte über Σ, die u als
Teilwort besitzen, beschrieben durch
Σ∗ · u · Σ∗.
3 Die Menge aller Worte über Σ, deren vorletzter Buchstabe ein a ist, wirdbeschrieben durch:
Σ∗ · a · Σ
Reguläre Ausdrücke 98 / 108
![Page 99: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/99.jpg)
Reguläre Ausdrücke: Eine rekursive Definition der Syntax
Sei Σ ein endliches Alphabet.
Die Menge aller regulären Ausdrücke über Σ ist rekursiv wie folgt definiert:
Basisregeln:∅ ist ein regulärer Ausdruck über Σ („leere Menge“).ε ist ein regulärer Ausdruck über Σ („leeres Wort“).Für jedes a ∈ Σ gilt: a ist ein regulärer Ausdruck über Σ.
Rekursive Regeln:Ist R ein regulärer Ausdruck über Σ,so ist auch R∗ ein regulärer Ausdruck über Σ („Kleene-Stern“).Sind R und S reguläre Ausdrücke über Σ, so ist auch
I (R · S) ein regulärer Ausdruck über Σ („Konkatenation“).I (R | S) ein regulärer Ausdruck über Σ („Vereinigung“).
Reguläre Ausdrücke 99 / 108
![Page 100: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/100.jpg)
Reguläre Ausdrücke: Syntax und Semantik
Wir haben gerade formal definiert,
„was ein regulärer Ausdruck R ist“
Aber was„bedeutet“ R?
R sollte für eine Sprache stehen!
Reguläre Ausdrücke 100 / 108
![Page 101: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/101.jpg)
Reguläre Ausdrücke: Eine rekursive Definition der SemantikSei Σ ein endliches Alphabet.
Jeder reguläre Ausdruck R über Σ beschreibt(oder definiert) eine Sprache L(R) ⊆ Σ∗, die induktiv wie folgt definiert ist:
Basisregeln:L(∅) := ∅.L(ε) := ε.Für jedes a ∈ Σ gilt: L(a) := a.
Rekursive Regeln:Ist R ein regulärer Ausdruck über Σ, so ist
L(R∗) := ε ∪ w1 · · ·wk : k ∈ N>0, w1 ∈ L(R), . . . ,wk ∈ L(R) .
Sind R und S reguläre Ausdrücke über Σ, so istI L(
(R · S))
:= wu : w ∈ L(R), u ∈ L(S).I L(
(R | S))
:= L(R) ∪ L(S).
Reguläre Ausdrücke 101 / 108
![Page 102: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/102.jpg)
Reguläre Ausdrücke: Vereinfachte Schreibweise
Zur vereinfachten Schreibweise und besseren Lesbarkeit regulärer Ausdrücke:
Den „Punkt“ bei der Konkatenation
(R · S)
darf man weglassen.Bei Ketten gleichartiger Operatoren verzichten wir auf Klammern:
(R1 | R2 | R3 | R4) statt((
(R1 | R2) | R3)| R4
)und
(R1R2R3R4) statt((
(R1R2)R3)R4
).
„Präzedenzregeln“: ∗ bindet stärker als ·· bindet stärker als |
Äußere Klammern, die einen regulären Ausdruck umschließen, dürfenweggelassen werden.Zur besseren Lesbarkeit dürfen zusätzliche Klammern benutzt werden.
Reguläre Ausdrücke 102 / 108
![Page 103: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/103.jpg)
Reguläre Ausdrücke: Beispiele (1/3)
(a) a | bc∗ ist eine verkürzte Schreibweise für (a | (b · c∗)).Die von diesem regulären Ausdruck beschriebene Sprache L = L(a | bc∗) ist
L = a ∪ w ∈ a, b, c∗ : der erste Buchstabe von w ist ein b undalle weiteren Buchstaben von w sind c’s.
(b) L((a | b)∗) = a, b∗.(c) Die Menge aller Worte über a, b, c, in denen abb als Teilwort vorkommt,
wird durch den folgenden regulären Ausdruck beschrieben:
(a | b | c)∗abb (a | b | c)∗.
(d) Die Menge aller Worte über a, b, c, deren letzter oder vorletzterBuchstabe ein a ist, wird durch den folgenden regulären Ausdruck beschrieben:
(a | b | c)∗a (ε | a | b | c).
Reguläre Ausdrücke 103 / 108
![Page 104: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/104.jpg)
Reguläre Ausdrücke: Beispiele (2/3)
Wir wollen einen regulären Ausdruck angeben, der alle Telefonnummern der Form
Vorwahl/Nummer
beschreibt, wobei1 Vorwahl und Nummer nicht-leere Ziffernfolgen sind,2 Vorwahl mit genau einer Null beginnt und Nummer nicht mit einer Null
beginnt.
Der Ausdruck
0 (1|2| · · · |9) (0|1| · · · |9)∗ / (1|2| · · · 9) (0|1| · · · 9)∗
definiert die gewünschte Sprache.
Reguläre Ausdrücke 104 / 108
![Page 105: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/105.jpg)
Reguläre Ausdrücke: Beispiele (3/3)
Der Ausdruck:
R :=(ε | 069/
)798
(ε | -
) (0 | (1|2| · · · |9) (0|1| · · · |9)∗
)definiert eine Sprache. Welche der folgenden Worte gehören zu R?
? 069/798-0? 7980? 069/798-028551.
Reguläre Ausdrücke 105 / 108
![Page 106: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/106.jpg)
Reguläre Sprachen
Reguläre Sprachen 106 / 108
![Page 107: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/107.jpg)
Reguläre Sprachen und reguläre Ausdrcke
Jeder reguläre Ausdruck R definiert eine reguläre Sprache.
Beweis durch Induktion über den Aufbau von R: Siehe Tafel.
Die Klasse der regulären Sprache ist ein fundamentales Konzept mitverschiedensten Sichtweisen, denn
DFAs, NFAs oder reguläre Ausdrücke
definieren dieselben Sprachen!
Dieses Ergebnis wird in der Veranstaltung „Theoretische Informatik 2“ gezeigt.Insbesondere besitzt also jede reguläre Sprache einen regulären Ausdruck!
Reguläre Sprachen 107 / 108
![Page 108: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“](https://reader030.vdocuments.site/reader030/viewer/2022040217/5d47635488c993f0358b84f1/html5/thumbnails/108.jpg)
Reguläre Sprachen: Ein Ausblick
In der Veranstaltung „Theoretische Informatik 2“ wird unter Anderem gezeigt:
(a) dass auch „Zweiweg-Automaten“ und „reguläre Grammatiken“ die Klasseder regulären Sprachen definieren,
(b) und dass – unter bestimmten Umständen – auch würfelnde Automatengenau die Klasse der regulären Sprachen beschreiben,
(c) dass viele Entscheidungsfragen wieI akzeptieren zwei DFAs dieselbe Sprache?I akzeptiert ein NFA mindestens ein Wort?
effizient beantwortet werden können, andere hingegen, wie etwaI akzeptieren zwei NFAs dieselbe Sprache?I akzeptiert ein NFA alle Worte eines Alphabets?
viel zu schwierig sind!
Ein Ausblick 108 / 108