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
qε
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
qε
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
qε
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