108
Endliche Automaten Endliche Automaten 1 / 108

EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“

  • Upload
    vuphuc

  • View
    220

  • Download
    0

Embed Size (px)

Citation preview

Page 1: EndlicheAutomaten - thi.informatik.uni-frankfurt.de Automaten Folien.pdf · EinKaffeeautomat DerAutomaterlaubtdasEinwerfenvon1oder2e-Münzen,sowiedasDrücken derTasten„Geldrückgabe“und„Kaffeekaufen“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

Ä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“

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“

Ä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“

Ä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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

δ(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“

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“

Ä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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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“

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