Grundbegriffe der Informatik Kapitel 18: Endliche Automaten

Thomas Worsch KIT, Institut für Theoretische Informatik

Wintersemester 2015/2016

GBI — Grundbegriffe der Informatik

KIT, Institut für Theoretische Informatik

1 / 41

Überblick Erstes Beispiel: ein Getränkeautomat

Mealy-Automaten

Moore-Automaten

Spezialfall: endliche Akzeptoren

GBI — Grundbegriffe der Informatik

KIT, Institut für Theoretische Informatik

2 / 41

Wo sind wir? Erstes Beispiel: ein Getränkeautomat Mealy-Automaten Moore-Automaten Spezialfall: endliche Akzeptoren

GBI — Grundbegriffe der Informatik

KIT, Institut für Theoretische Informatik

3 / 41

Ein primitiver Getränkeautomat Geld GeldEinwurf

Sprudel rein

zitro

OK

C

nur 1-Euro-Stücke erster Euro gespeichert weitere Münzen sofort zurück

vier Tasten rein Mineralwasser (1 Euro) zitro Zitronensprudel (1 Euro) letzter Wunsch gemerkt

GeldRückgabe

GBI — Grundbegriffe der Informatik

Ware

C ggf. Geld zurück, ggf. Getränkewunsch gelöscht OK Geld und Getränkewunsch ; Getränk

KIT, Institut für Theoretische Informatik

4 / 41

Getränkeautomat: Zustände zwischen den Eingaben müssen Nachrichten gespeichert werden und zwar schon Geld eingeworfen? schon Getränk ausgewählt? wenn ja: welches?

Formalisierung: Paare (x, y) x ∈ {0, 1}: schon eingeworfener Geldbetrag y ∈ {-, R, Z}: Getränkewahl Zustandsmenge Z = {0, 1} × {-, R, Z}

GBI — Grundbegriffe der Informatik

KIT, Institut für Theoretische Informatik

5 / 41

Getränkeautomat: Eingaben Eingaben führen zu Zustandsänderungen. Eingaben hier: Einwurf eines Euros Drücken einer der vier Tasten

Modellierung der Eingaben: Symbole 1, R, Z, C und O Eingabealphabet X = {1, R, Z, C, O}

GBI — Grundbegriffe der Informatik

KIT, Institut für Theoretische Informatik

6 / 41

Getränkeautomat: Zustandsübergänge (1) Zustandsübergang hängt ab von aktuellem Zustand z ∈ Z und aktuellem Eingabesymbol x ∈ X z und x legen eindeutig den neuen Zustand fest also immer und eindeutig jedenfalls im ersten Semester

Zustandsüberführungsfunktion f : Z × X → Z oft graphisch spezifiziert

GBI — Grundbegriffe der Informatik

KIT, Institut für Theoretische Informatik

7 / 41

Getränkeautomat: Zustandsübergänge (2a) Z Z (0, -)

R

(0, R)

1

Z R

R

1

(0, Z)

1

R (1, -)

1

GBI — Grundbegriffe der Informatik

R

(1, R)

Z

1 Z

R

Z (1, Z)

1

KIT, Institut für Theoretische Informatik

8 / 41

Getränkeautomat: Zustandsübergänge (2b) C C (0, -)

O,C

C (1, -)

GBI — Grundbegriffe der Informatik

(0, R)

O,C O

(1, R)

(0, Z)

O

O

O,C (1, Z)

KIT, Institut für Theoretische Informatik

9 / 41

Getränkeautomat: Zustandsübergänge (2c) C Z O,C

R,O

C

(0, -)

R

(0, Z)

Z,O

Z

1

1

1 O,C

C O,C 1,O

R

(0, R)

(1, -)

R (1, R)

R

1,R

(1, Z)

1,Z

Z

Z GBI — Grundbegriffe der Informatik

KIT, Institut für Theoretische Informatik

10 / 41

Getränkeautomat: Ausgaben (1) zweiter wesentlicher Aspekt jedes Automaten: Ausgaben hier: Rückgeld, gewählte Flasche Ausgabealphabet Y = {1, R, Z} Formalisierung der Ausgaben abhängig von aktuellem Zustand z ∈ Z und aktuellem Eingabesymbol x ∈ X z und x legen eindeutig die Ausgabe fest. also immer und eindeutig jedenfalls im ersten Semester im allgemeinen Wörter über Y

Formalisierung: Ausgabefunktion д : Z × X → Y ∗ Funktionswert ε: „keine Ausgabe“

д im Zustandsübergangsdiagramm: x |д(z, x ) GBI — Grundbegriffe der Informatik

KIT, Institut für Theoretische Informatik

11 / 41

Getränkeautomat: Ausgaben (2) C|ε Z|ε O|ε,C|ε

(0, -)

R|ε,O|ε R|ε

C|ε

(0, R)

R|ε 1|ε C|1

(0, Z)

Z|ε,O|ε

Z|ε 1|ε

1|ε O|Z,C|1

O|R,C|1

R|ε 1|1,O|ε

(1, -)

(1, R)

R|ε 1|1,R|ε Z|ε GBI — Grundbegriffe der Informatik

(1, Z)

1|1,Z|ε

Z|ε

KIT, Institut für Theoretische Informatik

12 / 41

Was ist wichtig Das sollten Sie mitnehmen: alles endlich alles endlich beschreibbar im Beispiel Getränkeautomat: aktueller Zustand und aktuelle Eingabe legen eindeutig fest: nächsten Zustand Ausgabe

Das sollten Sie üben: Zustandsdiagramm lesen

GBI — Grundbegriffe der Informatik

KIT, Institut für Theoretische Informatik

13 / 41

Wo sind wir? Erstes Beispiel: ein Getränkeautomat Mealy-Automaten Moore-Automaten Spezialfall: endliche Akzeptoren

GBI — Grundbegriffe der Informatik

KIT, Institut für Theoretische Informatik

14 / 41

Mealy-Automaten formal eine endliche Zustandsmenge Z , einen Anfangszustand z 0 ∈ Z , ein Eingabealphabet X , eine Zustandsüberführungsfunktion f : Z × X → Z , ein Ausgabealphabet Y , eine Ausgabefunktion д : Z × X → Y ∗

Darstellung als Graph: Knoten: Zustände Kanten:

z

x|д(z, x )

Anfangszustand: kleiner Pfeil

GBI — Grundbegriffe der Informatik

f (z, x ) z

KIT, Institut für Theoretische Informatik

15 / 41

Verallgemeinerte Zustandsübergangsfunktionen (1) nach Eingabe eines ganzen Wortes w ∈ X ∗ : erreichter Zustand? alle durchlaufenen Zustände?

definiere passende Funktionen f ∗ und f ∗∗

GBI — Grundbegriffe der Informatik

KIT, Institut für Theoretische Informatik

16 / 41

Verallgemeinerte Zustandsübergangsfunktionen (1) nach Eingabe eines ganzen Wortes w ∈ X ∗ : erreichter Zustand? alle durchlaufenen Zustände?

definiere passende Funktionen f ∗ und f ∗∗ f∗ : Z × X ∗ → Z : ∀w ∈ X : ∀x ∈ X : ∗

GBI — Grundbegriffe der Informatik

f ∗ (z, ε ) = z f ∗ (z, wx ) = f ( f ∗ (z, w ), x )

KIT, Institut für Theoretische Informatik

16 / 41

Verallgemeinerte Zustandsübergangsfunktionen (1) nach Eingabe eines ganzen Wortes w ∈ X ∗ : erreichter Zustand? alle durchlaufenen Zustände?

definiere passende Funktionen f ∗ und f ∗∗ f∗ : Z × X ∗ → Z :

f ∗ (z, ε ) = z

∀w ∈ X : ∀x ∈ X :

f ∗ (z, wx ) = f ( f ∗ (z, w ), x )

alternativ

f¯∗ (z, ε ) = z f¯∗ (z, xw ) = f¯∗ ( f (z, x ), w )



∀w ∈ X : ∀x ∈ X : ∗

Definitionen äquivalent: f ∗ = f¯∗

GBI — Grundbegriffe der Informatik

KIT, Institut für Theoretische Informatik

16 / 41

Verallgemeinerte Zustandsübergangsfunktionen (2) alle durchlaufenen Zustände: f ∗∗ : Z × X ∗ → Z ∗ f ∗∗ (z, ε) = z ∀w ∈ X : ∀x ∈ X : ∗

f ∗∗ (z, wx ) = f ∗∗ (z, w ) · f ( f ∗ (z, w ), x )

auch hier wieder eine alternative Definitionsmöglichkeit

GBI — Grundbegriffe der Informatik

KIT, Institut für Theoretische Informatik

17 / 41

Bespiel Getränkeautomat Z|ε O|ε,C|ε

(0, -)

C|ε R|ε,O|ε R|ε

C|ε

(0, R)

R|ε

Z|ε,O|ε

Z|ε

1|ε C|1

(0, Z)

1|ε

1|ε O|Z,C|1

O|R,C|1

R|ε 1|1,O|ε

(1, -)

(1, R)

R|ε 1|1,R|ε Z|ε

(1, Z)

1|1,Z|ε

Z|ε

f ∗∗ ( (0, -), R1RZO) = (0, -) (0, R) (1, R) (1, R) (1, Z) (0, -) GBI — Grundbegriffe der Informatik

KIT, Institut für Theoretische Informatik

18 / 41

Verallgemeinerte Ausgabefunktionen für „die letzte“ Ausgabe: д∗ : Z × X ∗ → Y ∗ д∗ (z, ε) = ε д∗ (z, wx ) = д( f ∗ (z, w ), x ) Für „alle Ausgaben konkateniert“: д∗∗ : Z × X ∗ → Y ∗ : д∗∗ (z, ε) = ε д∗∗ (z, wx ) = д∗∗ (z, w ) · д∗ (z, wx )

GBI — Grundbegriffe der Informatik

KIT, Institut für Theoretische Informatik

19 / 41

Bespiel Getränkeautomaten

C|ε

Z|ε O|ε,C|ε

R|ε,O|ε R|ε

C|ε

(0, -)

(0, R)

R|ε

Z|ε,O|ε

Z|ε

1|ε C|1

(0, Z)

1|ε

1|ε O|Z,C|1

O|R,C|1

R|ε 1|1,O|ε

(1, -)

(1, R)

R|ε 1|1,R|ε Z|ε

(1, Z)

1|1,Z|ε

Z|ε

д∗∗ ( (0, -), R1RZO) = εεεε Z = Z GBI — Grundbegriffe der Informatik

KIT, Institut für Theoretische Informatik

20 / 41

Was ist wichtig Das sollten Sie mitnehmen: „offizielle“ Definition von Mealy-Automat: Z z0 ∈ Z X f :Z ×X →Z Y д : Z × X → Y∗

Ausgabe hängt von der Eingabe ab

Das sollten Sie üben: zu vorgegebenem „Verhalten“ Beispielautomaten konstruieren von vorgebenenen Automaten ihr Verhalten verstehen

GBI — Grundbegriffe der Informatik

KIT, Institut für Theoretische Informatik

21 / 41

Wo sind wir? Erstes Beispiel: ein Getränkeautomat Mealy-Automaten Moore-Automaten Spezialfall: endliche Akzeptoren

GBI — Grundbegriffe der Informatik

KIT, Institut für Theoretische Informatik

22 / 41

Moore-Automat Ausgabe «im Zustand» statt beim Zustandsübergang genauer beim «Erreichen des Zustandes»

Definition endliche Zustandsmenge Z , Anfangszustand z 0 ∈ Z , Eingabealphabet X , Zustandsüberführungsfunktion f : Z × X → Z , Ausgabealphabet Y , Ausgabefunktion h : Z → Y ∗

GBI — Grundbegriffe der Informatik

KIT, Institut für Theoretische Informatik

23 / 41

Moore-Automat: Beispiel aus tikz-Dokumentation graphische Darstellung analog zu Mealy-Automaten, nur die Ausgaben in den Zuständen:

a qa | 0

b

a

q f | 1 a, b qr | 0

qε | 0

a, b

a

b qb | 0

b GBI — Grundbegriffe der Informatik

KIT, Institut für Theoretische Informatik

24 / 41

Verallgemeinerte Zustandsübergangsfunktionen a Definition von f ∗ , f ∗∗ wie bei Mealy-Automaten

qa | 0

b

a

qf | 1

qε | 0

b

a, b

qr | 0

a, b

a qb | 0

b GBI — Grundbegriffe der Informatik

Beispiele: f ∗ (q ε , aaaba) = qr f ∗∗ (q ε , aaaba) = q ε q aq aq aq f q r

KIT, Institut für Theoretische Informatik

25 / 41

Verallgemeinerte Ausgabefunktionen д∗ und д∗∗ „letzte Ausgabe“ д∗ = h ◦ f ∗ : ∀(z, w ) ∈ Z × X ∗ : д∗ (z, w ) = h( f ∗ (z, w )) „alle Ausgaben“: д∗∗ = h ∗∗ ◦ f ∗∗ ∀(z, w ) ∈ Z × X ∗ : д∗∗ (z, w ) = h ∗∗ ( f ∗∗ (z, w )) Erinnerung: h ∗∗ der durch h induzierte Homomorphismus

Beispiel f ∗∗ (q ε , aaaba) = q ε q aq aq aq f qr

also д∗ (q ε , aaaba) = h( f ∗ (q ε , aaaba)) = h(qr ) = 0 д∗∗ (q ε , aaaba) = h ∗∗ ( f ∗∗ (q ε , aaaba)) = h ∗∗ (q ε q aq aq aq f qr ) = h(q ε )h(q a )h(q a )h(q a )h(q f )h(qr ) = 000010 GBI — Grundbegriffe der Informatik

KIT, Institut für Theoretische Informatik

26 / 41

Was ist wichtig Das sollten Sie mitnehmen: „offizielle“ Definition von Moore-Automat: Z z0 ∈ Z X f :Z ×X →Z Y h : Z → Y∗ Ausgabe hängt nicht von der Eingabe ab

Das sollten Sie üben: vorgegebenes Verhalten mit Moore-Automat realisieren vorgebenenen Moore-Automaten analysieren

GBI — Grundbegriffe der Informatik

KIT, Institut für Theoretische Informatik

27 / 41

Wo sind wir? Erstes Beispiel: ein Getränkeautomat Mealy-Automaten Moore-Automaten Spezialfall: endliche Akzeptoren

GBI — Grundbegriffe der Informatik

KIT, Institut für Theoretische Informatik

28 / 41

Endliche Akzeptoren — ein wichtiger Sonderfall von Moore-Automaten immer genau ein Bit Ausgabe Y = {0, 1} und ∀z : h(z) ∈ Y

Interpretation der Ausgabe: Eingabe war „gut“ oder „schlecht“ bzw. „syntaktisch korrekt“ oder „syntaktisch falsch“ (für eine gerade interessierende Syntax)

bequemere Formalisierung: Spezifikation der Menge F : akzeptierende Zustände F = {z | h(z) = 1} die anderen heißen ablehnende Zustände

in graphischen Darstellungen akzeptierende Zustände mit Doppelkringel: z GBI — Grundbegriffe der Informatik

KIT, Institut für Theoretische Informatik

29 / 41

Endlicher Akzeptor: Beispiel der Moore-Automat von eben

a qa | 0

b

a

qf | 1

qε | 0

b

a, b

qr | 0

a, b

a qb | 0

b GBI — Grundbegriffe der Informatik

KIT, Institut für Theoretische Informatik

30 / 41

Endlicher Akzeptor: Beispiel der Moore-Automat von eben

a qa

b

a

qf



b

a, b

qr

a, b

a qb

b GBI — Grundbegriffe der Informatik

KIT, Institut für Theoretische Informatik

30 / 41

Akzeptierte und abgelehnte Wörter Wort w ∈ X ∗ wird akzeptiert, falls f ∗ (z 0 , w ) ∈ F . Wort w ∈ X ∗ wird abgelehnt, falls f ∗ (z 0 , w ) < F .

GBI — Grundbegriffe der Informatik

KIT, Institut für Theoretische Informatik

31 / 41

Beispiel aaaba abgelehnt: f ∗ (z 0 , aaaba) = qr < F

a qa qf



b

aaab akzeptiert: f ∗ (z 0 , aaab) = q f ∈ F .

b

a

qb

a, b q r

a, b

a

b

GBI — Grundbegriffe der Informatik

KIT, Institut für Theoretische Informatik

32 / 41

Beispiel aaaba abgelehnt: f ∗ (z 0 , aaaba) = qr < F

a qa qf



b

aaab akzeptiert: f ∗ (z 0 , aaab) = q f ∈ F .

b

a

qb

a

a, b q r

a, b

allgemein akzeptiert: Wörter der Form ak b Wörter der Form bk a nicht anderes

b

GBI — Grundbegriffe der Informatik

KIT, Institut für Theoretische Informatik

32 / 41

Erkannte formale Sprache Die von einem Akzeptor A = (Z , z 0 , X , f , F ) akzeptierte oder erkannte formale Sprache ist L(A) = {w ∈ X ∗ | f ∗ (z 0 , w ) ∈ F } Das ist ganz einfache „Syntaxanalyse“. in unserem Beispiel: L(A) = {a}+ {b} ∪ {b}+ {a}

GBI — Grundbegriffe der Informatik

KIT, Institut für Theoretische Informatik

33 / 41

Beispiel 2 einer erkennbaren Sprache formale Sprache L aller Wörter w ∈ {a, b}∗ mit: in w kommt mindestens ein b vor und vor dem letzten b steht ein a Behauptung: Es gibt EA, der L erkennt.

GBI — Grundbegriffe der Informatik

KIT, Institut für Theoretische Informatik

34 / 41

Beispiel 2 einer erkennbaren Sprache formale Sprache L aller Wörter w ∈ {a, b}∗ mit: in w kommt mindestens ein b vor und vor dem letzten b steht ein a Behauptung: Es gibt EA, der L erkennt.

z

b z0

GBI — Grundbegriffe der Informatik

a

z1

KIT, Institut für Theoretische Informatik

34 / 41

Beispiel 2 einer erkennbaren Sprache formale Sprache L aller Wörter w ∈ {a, b}∗ mit: in w kommt mindestens ein b vor und vor dem letzten b steht ein a Behauptung: Es gibt EA, der L erkennt.

z

b b

z0

GBI — Grundbegriffe der Informatik

a

z1

a

KIT, Institut für Theoretische Informatik

34 / 41

Beispiel 2 einer erkennbaren Sprache formale Sprache L aller Wörter w ∈ {a, b}∗ mit: in w kommt mindestens ein b vor und vor dem letzten b steht ein a Behauptung: Es gibt EA, der L erkennt.

z

b

a

b z0

GBI — Grundbegriffe der Informatik

a

z1

a

KIT, Institut für Theoretische Informatik

34 / 41

Beispiel 2 einer erkennbaren Sprache formale Sprache L aller Wörter w ∈ {a, b}∗ mit: in w kommt mindestens ein b vor und vor dem letzten b steht ein a Behauptung: Es gibt EA, der L erkennt.

z0

a

z1

a

b GBI — Grundbegriffe der Informatik

KIT, Institut für Theoretische Informatik

34 / 41

Beispiel 2 einer erkennbaren Sprache formale Sprache L aller Wörter w ∈ {a, b}∗ mit: in w kommt mindestens ein b vor und vor dem letzten b steht ein a Behauptung: Es gibt EA, der L erkennt.

z2

b z0

a

z1

a

b GBI — Grundbegriffe der Informatik

KIT, Institut für Theoretische Informatik

34 / 41

Beispiel 2 einer erkennbaren Sprache formale Sprache L aller Wörter w ∈ {a, b}∗ mit: in w kommt mindestens ein b vor und vor dem letzten b steht ein a Behauptung: Es gibt EA, der L erkennt.

z2

b

b z0

a

z1

a

b GBI — Grundbegriffe der Informatik

KIT, Institut für Theoretische Informatik

34 / 41

Beispiel 2 einer erkennbaren Sprache formale Sprache L aller Wörter w ∈ {a, b}∗ mit: in w kommt mindestens ein b vor und vor dem letzten b steht ein a Behauptung: Es gibt EA, der L erkennt.

a z3

z2

b

b z0

a

z1

a

b GBI — Grundbegriffe der Informatik

KIT, Institut für Theoretische Informatik

34 / 41

Beispiel 2 einer erkennbaren Sprache formale Sprache L aller Wörter w ∈ {a, b}∗ mit: in w kommt mindestens ein b vor und vor dem letzten b steht ein a Behauptung: Es gibt EA, der L erkennt.

a z2

b z0

b b a

z3

a

z1

a

b GBI — Grundbegriffe der Informatik

KIT, Institut für Theoretische Informatik

34 / 41

Beispiel 3 einer erkennbaren Sprache Aufgabe aus dem Informatiker-Alltag gegeben: Textdatei mit vielen Zeilen gesucht: die Zeilen, in denen ein gewisses Wort m vorkommt

GBI — Grundbegriffe der Informatik

KIT, Institut für Theoretische Informatik

35 / 41

Beispiel 3 einer erkennbaren Sprache Aufgabe aus dem Informatiker-Alltag gegeben: Textdatei mit vielen Zeilen gesucht: die Zeilen, in denen ein gewisses Wort m vorkommt

mit anderen Worten gegeben: Zeichenkette w und Textmuster m gesucht: Algorithmus, der feststellt, ob m in w vorkommt das geht mit einem endlichen Akzeptor

GBI — Grundbegriffe der Informatik

KIT, Institut für Theoretische Informatik

35 / 41

Beispiel 3 einer erkennbaren Sprache Aufgabe aus dem Informatiker-Alltag gegeben: Textdatei mit vielen Zeilen gesucht: die Zeilen, in denen ein gewisses Wort m vorkommt

mit anderen Worten gegeben: Zeichenkette w und Textmuster m gesucht: Algorithmus, der feststellt, ob m in w vorkommt das geht mit einem endlichen Akzeptor

Beispiel: Eingabealphabet X = {a, b} Textmuster m = ababb Ziel: endlicher Akzeptor A mit L(A) = {w 1 ababbw 2 | w 1 , w 2 ∈ {a, b}∗ }

GBI — Grundbegriffe der Informatik

KIT, Institut für Theoretische Informatik

35 / 41

Beispiel 3 — Entwicklung einer Lösung

z0

a

z1

b

z2

a

b

z3

z4

b

z5

a, b es fehlen noch diverse Übergänge was ist z. B. mit: bbbababb aaaababb abbababb abaababb abababb GBI — Grundbegriffe der Informatik

KIT, Institut für Theoretische Informatik

36 / 41

Beispiel 3 — Entwicklung einer Lösung

z0

a

z1

b

z2

a

b

z3

z4

b

z5

a, b

b es fehlen noch diverse Übergänge was ist z. B. mit: bbbababb aaaababb abbababb abaababb abababb GBI — Grundbegriffe der Informatik

KIT, Institut für Theoretische Informatik

36 / 41

Beispiel 3 — Entwicklung einer Lösung

z0

a

z1

b

z2

a

b

z3

b

z5

a, b

a

b

z4

es fehlen noch diverse Übergänge was ist z. B. mit: bbbababb aaaababb abbababb abaababb abababb GBI — Grundbegriffe der Informatik

KIT, Institut für Theoretische Informatik

36 / 41

Beispiel 3 — Entwicklung einer Lösung b z0

a

z1

b

z2

a

b

z3

b

z5

a, b

a

b

z4

es fehlen noch diverse Übergänge was ist z. B. mit: bbbababb aaaababb abbababb abaababb abababb GBI — Grundbegriffe der Informatik

KIT, Institut für Theoretische Informatik

36 / 41

Beispiel 3 — Entwicklung einer Lösung b z0

a

z1

b

a

b

z2

a

b

z3

a

z4

b

z5

a, b

es fehlen noch diverse Übergänge was ist z. B. mit: bbbababb aaaababb abbababb abaababb abababb GBI — Grundbegriffe der Informatik

KIT, Institut für Theoretische Informatik

36 / 41

Beispiel 3 — Entwicklung einer Lösung b z0

a

z1

b

a

b

z2

a

b

z3

z4

b

z5

a

a

a, b

es fehlen noch diverse Übergänge was ist z. B. mit: bbbababb aaaababb abbababb abaababb abababb GBI — Grundbegriffe der Informatik

KIT, Institut für Theoretische Informatik

36 / 41

Beispiel 3 — Entwicklung einer Lösung b z0

a

z1

b

a

b

z2

a

b

z3

z4

b

z5

a

a

a, b

es fehlen noch diverse Übergänge was ist z. B. mit: bbbababb aaaababb abbababb abaababb abababb GBI — Grundbegriffe der Informatik

KIT, Institut für Theoretische Informatik

36 / 41

Beispiel einer nicht erkennbaren Sprache Behauptung: Die formale Sprache L = {ak bk | k ∈ N0 } kann von keinem endlichen Akzeptor erkannt werden. Beweis „schwieriger“ als einen Akzeptor hinzumalen:

GBI — Grundbegriffe der Informatik

KIT, Institut für Theoretische Informatik

37 / 41

Beispiel einer nicht erkennbaren Sprache Behauptung: Die formale Sprache L = {ak bk | k ∈ N0 } kann von keinem endlichen Akzeptor erkannt werden. Beweis „schwieriger“ als einen Akzeptor hinzumalen: betrachte „beliebigen“ Akzeptor A und zeige L(A) , L

Was bedeutet L(A) , L? L * L(A)

oder

L(A) * L

«zielführende» Fallunterscheidung: 1. Fall: L * L(A) offensichtlich L(A) , L 2. Fall: L ⊆ L(A) zeige L(A) * L, d. h. ein „falsches“ Wort wird akzeptiert GBI — Grundbegriffe der Informatik

KIT, Institut für Theoretische Informatik

37 / 41

Beispiel einer nicht erkennbaren Sprache (2) L = {ak bk | k ∈ N0 } A = (Z , . . . ) beliebig mit m = |Z | zeige: wenn L ⊆ L(A), dann L(A) * L

GBI — Grundbegriffe der Informatik

KIT, Institut für Theoretische Informatik

38 / 41

Beispiel einer nicht erkennbaren Sprache (2) L = {ak bk | k ∈ N0 } A = (Z , . . . ) beliebig mit m = |Z | zeige: wenn L ⊆ L(A), dann L(A) * L betrachte w = am bm

GBI — Grundbegriffe der Informatik

KIT, Institut für Theoretische Informatik

38 / 41

Beispiel einer nicht erkennbaren Sprache (2) L = {ak bk | k ∈ N0 } A = (Z , . . . ) beliebig mit m = |Z | zeige: wenn L ⊆ L(A), dann L(A) * L betrachte w = am bm f ∗∗ (z 0 , am ) besteht aus m + 1 Zuständen: z0 z 1 = f (z 0 , a) z 2 = f (z 1 , a) .. . zm = f (zm−1 , a)

ein Zustand muss doppelt vorkommen: A läuft in einer Schleife GBI — Grundbegriffe der Informatik

KIT, Institut für Theoretische Informatik

38 / 41

Beispiel einer nicht erkennbaren Sprache (3) seien i ≥ 0 und ` ≥ 1 Zahlen mit zi = zi+` , also f ∗ (z 0 , ai ) = f ∗ (z 0 , ai+` ) A «kann irgendwann nicht mehr unterscheiden», ob ` a mehr oder weniger in der Eingabe betrachte: w 0 = am−` bm < L f ∗ (z 0 , w 0 ) = f ∗ (z 0 , am−` bm ) = f ∗ ( f ∗ (z 0 , ai ), am−`−i bm ) = f ∗ ( f ∗ (z 0 , ai+` ), am−`−i bm ) = f ∗ (z 0 , am bm ) ∈ F

GBI — Grundbegriffe der Informatik

KIT, Institut für Theoretische Informatik

39 / 41

Beispiel einer nicht erkennbaren Sprache (3) seien i ≥ 0 und ` ≥ 1 Zahlen mit zi = zi+` , also f ∗ (z 0 , ai ) = f ∗ (z 0 , ai+` ) A «kann irgendwann nicht mehr unterscheiden», ob ` a mehr oder weniger in der Eingabe betrachte: w 0 = am−` bm < L f ∗ (z 0 , w 0 ) = f ∗ (z 0 , am−` bm ) = f ∗ ( f ∗ (z 0 , ai ), am−`−i bm ) = f ∗ ( f ∗ (z 0 , ai+` ), am−`−i bm ) = f ∗ (z 0 , am bm ) ∈ F w 0 ∈ L(A) aber w 0 < L GBI — Grundbegriffe der Informatik

KIT, Institut für Theoretische Informatik

39 / 41

Was ist wichtig Das sollten Sie mitnehmen: „offizielle“ Definition endlicher Akzeptoren: Z z0 ∈ Z X f :Z ×X →Z F ⊆Z

Wenn ein «sehr langes» «uniformes» Wort akzeptiert wird, dann läuft der Automat in einer Schleife, die beliebig oft durchlaufen werden kann ohne Akzeptanz zu ändern

Das sollten Sie üben: gegeben L: konstruiere A mit L(A) = L gegeben A: bestimme L(A)

GBI — Grundbegriffe der Informatik

KIT, Institut für Theoretische Informatik

40 / 41

Zusammenfassung Mealy-Automaten Moore-Automaten taucht im Zusammenhang mit diversen Protokollen z. B. in Betriebssystemen und bei Kommunikationssystemen auf

insbesonderen Akzeptoren primitive Syntaxanalyse oft nützlich, z. B. bei Compilerbau-Werkzeugen Suche nach Text-Vorkommen, etc.

GBI — Grundbegriffe der Informatik

KIT, Institut für Theoretische Informatik

41 / 41