Grundlgen der Theoretischen Informtik 3. Endliche Automten (II) 28.04.2016 Vioric Sofronie-Stokkermns e-mil: sofronie@uni-koblenz.de 1
Übersicht 1. Motivtion 2. Terminologie 3. Endliche Automten und reguläre Sprchen 4. Kellerutomten und kontextfreie Sprchen 5. Turingmschinen und rekursiv ufzählbre Sprchen 6. Berechenbrkeit, (Un-)Entscheidbrkeit 7. Komplexitätsklssen P und NP 2
Letzte Vorlesung Determinierte endliche Automten (DEAs) Bespiele: reguläre Sprchen Indeterminierte endliche Automten (NDEAs) Automten mit epsilon-knten Endliche Automten kzeptieren genu die Typ-3-Sprchen Pumping Lemm Abschlusseigenschften und Wortprobleme Rtionl = Reguläre Ausdrücke 3
Endlicher Automt: Informell Ein endlicher Automt testet, ob ein gegebenes w Σ in einer Sprche L liegt. Lesekopf erlubt w zu lesen. Bewegt sich nur von links nch rechts. Endlich viele mögliche interne Zustände, immer einer dvon ist der ktuelle Zustnd Automt beginnt in einem initilen Zustnd. Bei jedem gelesenen Buchstben Übergng zu neuem ktuellen Zustnd, in Abhängigkeit vom Buchstben und dem lten Zustnd Wenn m Ende von w ein finler Zustnd erreicht ist, ist w kzeptiert ls Element von L, sonst nicht. Automt stoppt (uf jeden Fll) nch w Schritten 4
Endlicher Automt: Modell eines einfchen Computers Endlicher Automt: Computer mit begrenztem Speicher Knn vom Bnd nur lesen kein externer Speicher Speichert nur den ktuellen Zustnd ( Progrmmzähler) strk begrenzter interner Speicher 5
Endlicher Automt: Drstellung ls Grph Drstellung ls Grph ein Knoten für jeden möglichen Zustnd, Knten sind mit Buchstben beschriftet: Sie beschreiben Zustndsänderungen. Initile Zustände werden mit einem Pfeil gekennzeichnet, finle Zustände mit einem doppelten Kreis. 6
Endlicher Automt: Drstellung ls Grph Beispiel: Sprche {w # (w) gerde} {,b} Der folgende endliche Automt erkennt die Sprche {w # (w) gerde} über Σ = {,b} der Wörter mit gerder Anzhl von s 7
Endlicher Automt: Drstellung ls Grph Beispiel: Sprche {w # (w) gerde} {,b} Der folgende endliche Automt erkennt die Sprche {w # (w) gerde} über Σ = {,b} der Wörter mit gerder Anzhl von s b b A : > s 0 s 1 8
Endlicher Automt: Definition Definition. Ein endlicher Automt(e..) (finite utomton) ist ein Tupel Dbei ist A = (K,Σ,δ,s 0,F). K eine endliche Menge von Zuständen, Σ ein endliches Alphbet (us dessen Buchstben die Eingbewörter bestehen können), δ : K Σ K die totle(!) Übergngsfunktion, s 0 K der Strtzustnd, und F K die Menge der finlen Zustände. 9
Endlicher Automt: Übergngsfunktion Bedeutung der Übergngsfunktion δ(q,) = q bedeutet: Der Automt ist im Zustnd q, liest ein und geht in den Zustnd q über. 10
Endlicher Automt: Übergngsfunktion Bedeutung der Übergngsfunktion δ(q,) = q bedeutet: Der Automt ist im Zustnd q, liest ein und geht in den Zustnd q über. Wir erweitern δ zu δ δ : K Σ K ist strukturell rekursiv über Σ definiert: δ (q,ε) := q δ (q,w) := δ(δ (q,w),) Wenn klr ist, ws gemeint ist, wird δ uch einfch ls δ geschrieben. 11
Endlicher Automt: Beispiel b b A : > s 0 s 1 Dieser Automt zeptiert die Sprche {w # (w) gerde} {,b} (Beispiel Seite 8) 12
Endlicher Automt: Beispiel b b A : > s 0 s 1 Forml ht er die Form: A = ({s 0,s 1 },{,b},δ,s 0,{s 0 }) mit δ(s 0,) = s 1 δ(s 1,) = s 0 δ(s 0,b) = s 0 δ(s 1,b) = s 1 13
Endlicher Automt: Übergngsfunktion Beispiel für δ δ (s 0,b) = δ ( δ (s 0,),b ) = δ ( δ ( δ (s 0,), ),b ) = δ ( δ ( δ(δ (s 0,ε), ), ),b ) = δ ( δ ( δ(s 0,), ),b ) = δ ( δ(s 1,),b ) = δ(s 0,b) = s 0 14
Endlicher Automt: Akzeptierte Sprche Definition (Von einem endlichen Automten kzeptierte Sprche) Die von einem Automten A kzeptierte Sprche, ist definiert ls L(A) := {w Σ δ (s 0,w) F} 15
Endlicher Automt: Akzeptierte Sprche Definition (Von einem endlichen Automten kzeptierte Sprche) Die von einem Automten A kzeptierte Sprche, ist definiert ls L(A) := {w Σ δ (s 0,w) F} Definition (Von endlichen Automten kzeptierte Sprchen) Die Menge RAT := {L es gibt einen endlichen Automten A mit L = L(A)} der von endlichen Automten kzeptierten Sprchen heißt Menge der rtionlen Sprchen 16
Endlicher Automt: Akzeptierte Sprche Definition (Von einem endlichen Automten kzeptierte Sprche) Die von einem Automten A kzeptierte Sprche, ist definiert ls L(A) := {w Σ δ (s 0,w) F} Definition (Von endlichen Automten kzeptierte Sprchen) Die Menge RAT := {L es gibt einen endlichen Automten A mit L = L(A)} der von endlichen Automten kzeptierten Sprchen heißt Menge der rtionlen Sprchen Wir zeigen demnächst: RAT = Menge der regulären Sprchen 17
Endlicher Automt: UML Stte Chrt UML Stte Chrts sind eine (erweiterte) Form endlicher Automten 18
Endlicher Automt: UML Stte Chrt UML Stte Chrts sind eine (erweiterte) Form endlicher Automten Beispiel: 19
Endliche Automte: Weitere Beispiele Beispiel. Die Sprche ller Wörter mit gerder Anzhl von über dem (kleineren) Alphbet Σ = {} wird kzeptiert von 20
Endliche Automte: Weitere Beispiele Beispiel. Die Sprche ller Wörter mit gerder Anzhl von über dem (kleineren) Alphbet Σ = {} wird kzeptiert von: A : > s 0 s 1 21
Endliche Automte: Weitere Beispiele Beispiel. Die Sprche L = {w {0,1} w enthält genu zwei Einsen} wird kzeptiert von dem folgenden endlichen Automten: 22
Endliche Automte: Weitere Beispiele Beispiel. Die Sprche L = {w {0,1} w enthält genu zwei Einsen} wird kzeptiert von dem folgenden endlichen Automten: 0 0 0 A : 1 1 > s s s 0 1 2 1 s 3 0, 1 23
Endliche Automte: Weitere Beispiele Beispiel Die Sprche ller durch 3 teilbren Dezimlzhlen wird kzeptiert durch: 24
Endliche Automte: Weitere Beispiele Beispiel Die Sprche ller durch 3 teilbren Dezimlzhlen wird kzeptiert durch: A: 0, 3, 6, 9 1, 4, 7 0, 3, 6, 9 s 1 s 2 2, 5, 8 2, 5, 8 2, 5, 8 1, 4, 7 1, 4, 7 1, 4, 7 s 0 2, 5, 8 0, 3, 6, 9 0, 1,..., 9 3, 6, 9 > s 0 s cc0 0, 1,..., 9 s rej 25
Bis jetzt Determinierte endliche Automten (DEAs) Indeterminierte endliche Automten (NDEAs) Automten mit epsilon-knten Endliche Automten kzeptieren genu die Typ-3-Sprchen Pumping Lemm Abschlusseigenschften und Wortprobleme Rtionl = Reguläre Ausdrücke 26
Jetzt Determinierte endliche Automten (DEAs) Indeterminierte endliche Automten (NDEAs) Automten mit epsilon-knten Endliche Automten kzeptieren genu die Typ-3-Sprchen Pumping Lemm Abschlusseigenschften und Wortprobleme Rtionl = Reguläre Ausdrücke 27
Indeterminierte endliche Automten (NDEAs) 28
Determiniert / indeterminiert Determinierter endlicher Automt Für einen Zustnd q und eine Eingbe genu ein einziger Nchfolgezustnd festgelegt durch Übergngsfunktion δ Indeterminierter endlicher Automt Für einen Zustnd q und eine Eingbe evtl. mehrere Nchfolgezustände oder gr keiner festgelegt durch Übergngsreltion 29
Indeterminierter endlicher Automt Definition (Indeterminierter endlicher Automt) Ein indeterminierter endlicher Automt (NDEA) ist ein Tupel Dbei ist A = (K,Σ,,I,F) K eine endliche Menge von Zuständen, Σ ein endliches Alphbet, (K Σ) K eine Übergngsreltion, I K eine Menge von Strtzuständen, F K eine Menge von finlen Zuständen. 30
NDEA: Übergngsreltion Definition (Erweiterung von zu ) (K Σ ) K ist definiert durch: ( (q,ε), q ) gdw q = q ( (q,w), q ) gdw E q K ( ( (q,w), q ) ( (q,), q ) ) 31
NDEA: Akzeptierte Sprche Wnn kzeptiert ein indeterminierter Automt ein Wort? Ein indeterminierter endlicher Automt A kzeptiert ein Wort w, wenn es mindestens einen Weg mit der Beschriftung w durch A gibt, der in einem finlen Zustnd endet. 32
NDEA: Akzeptierte Sprche Wnn kzeptiert ein indeterminierter Automt ein Wort? Ein indeterminierter endlicher Automt A kzeptiert ein Wort w, wenn es mindestens einen Weg mit der Beschriftung w durch A gibt, der in einem finlen Zustnd endet. Definition (Von einem NDEA kzeptierte Sprche) Die von einem indeterminierten endlichen Automten A kzeptierte Sprche ist L(A) := {w Σ E s 0 I E q F : ( (s 0,w), q )} 33
NDEA: Beispiel Der Automt A = ({S 0,S 1,S 2 },{,b},,{s 0 },{S 0 }) mit (S 0,) = {S 1 } (S 1,b) = {S 0,S 2 } (S 2,) = {S 0 } kzeptiert die Sprche L = {b,b} 34
NDEA: Grphische Drstellung Der indeterminierte Automt für Beispiel uf Seite 34 b A : > s 0 s 1 b s 2 Akzeptiert: {b,b} 35
Indeterminierter endlicher Automt Vom indeterminierten Automten zum Algorithmus? Vom Automten zum Algorithmus (für ds Wortproblem): DEA = Algorithmus NDEA + Suchstrtegie = Algorithmus 36
Indeterminierter endlicher Automt Vom indeterminierten Automten zum Algorithmus? Vom Automten zum Algorithmus (für ds Wortproblem): DEA = Algorithmus NDEA + Suchstrtegie = Algorithmus Zwei Sichtweisen uf indeterminierte Automten Der Automt durchläuft lle Wege (prllel oder mittels Bcktrcking) Der Automt rät, welcher von mehreren möglichen Folgezuständen der richtige ist 37
NDEA und DEA: Beispiel DEA für gleiche Sprche wie NDEA us Seite 35 A: > b b b b b 38
NDEA und DEA Vergleich NDEA / DEA b A : > s 0 s 1 A: > b b b b b NDEA: s 2 DEA: b 39
NDEA und DEA Vergleich NDEA / DEA b A : > s 0 s 1 A: > b b b b b NDEA: s 2 DEA: b DEA ht mehr Zustände, komplizierter DEA muss nicht rten DEA brucht genuso viele Schritte 40
NDEA und DEA Wir zeigen später: Für jeden indeterminierten Automten A NDEA gibt es einen determinierten Automten A DEA mit L(A NDEA ) = L(A DEA ) 41
NDEA und DEA: Weiteres Beispiel Determinierter Automt für die Sprche L = {,b} {}{,b} (die Sprche ller Wörter über {, b}, deren zweitletzter Buchstbe ist) 42
NDEA und DEA: Weiteres Beispiel Determinierter Automt für die Sprche L = {,b} {}{,b} (die Sprche ller Wörter über {, b}, deren zweitletzter Buchstbe ist) b b s 1 b A: > s 0 b s 3 s 2 Idee: Im Zustnd jeweils die letzten zwei Buchstben merken 43
NDEA und DEA: Weiteres Beispiel Indeterminierter Automt für die Sprche L = {,b} {}{,b} (die Sprche ller Wörter über {, b}, deren zweitletzter Buchstbe ist) 44
NDEA und DEA: Weiteres Beispiel Indeterminierter Automt für die Sprche L = {,b} {}{,b} (die Sprche ller Wörter über {, b}, deren zweitletzter Buchstbe ist),b A : >,b 45
NDEA und DEA: Größenvergleich Größenvergleich (Worst cse) Sprche über {, b} der Wörter, deren nt-letzter Buchstbe ein ist Determinierter Automt: 2 n Zustände (einen für jede Buchstbenkombintion der Länge n) Indeterminierter Automt: n + 1 Zustände 46
Gleichmächtigkeit von DEA und NDEA Theorem. DEA gleich mächtig wie NDEA Eine Sprche ist rtionl (es gibt einen determinierten endlichen Automten, der sie kzeptiert) gdw es gibt einen indeterminierten endlichen Automten, der sie kzeptiert. 47
Gleichmächtigkeit von DEA und NDEA Theorem. DEA gleich mächtig wie NDEA Eine Sprche ist rtionl (es gibt einen determinierten endlichen Automten, der sie kzeptiert) gdw es gibt einen indeterminierten endlichen Automten, der sie kzeptiert. Beweis. : Sei L eine rtionle Sprche. Dnn gibt es lut Definition einen determinierten endlichen Automten A DEA mit L = L(A DEA ). Jeder determinierte endliche Automt ist ber insbesondere uch ein (besonderer) indeterminierter endlicher Automt. 48
Gleichmächtigkeit von DEA und NDEA Theorem. DEA gleich mächtig wie NDEA Eine Sprche ist rtionl (es gibt einen determinierten endlichen Automten, der sie kzeptiert) gdw es gibt einen indeterminierten endlichen Automten, der sie kzeptiert. Beweis : Sei A NDEA = (K,Σ,,I,F) ein (beliebiger) indeterminierter endlicher Automt. Er kzeptiert die Sprche L(A NDEA ). Beweisidee: Konstruiere us A NDEA einen determinierten Automten A DEA mit L(A NDEA ) = L(A DEA ) mit Hilfe einer Potenzmengenkonstruktion... 49
Gleichmächtigkeit von DEA und NDEA Beweis (Forsetzung) Fortsetzung... Zustände in A DEA bestehen us Mengen von Zuständen von A NDEA Wenn mn in A NDEA mit w nch q 1,...,q n gelngt, dnn gelngt mn in A DEA mit w nch q = {q 1,...,q n }. Initiler Zustnd von A DEA : Menge ller initilen Zustände von A NDEA Finle Zustände von A DEA : Jede Menge von Zustände, die einen finlen Zustnd von A NDEA enthält 50
Gleichmächtigkeit von DEA und NDEA Zunächst ein konkretes Beispiel Ein NDEA, der die folgende Sprche kzeptiert: L b/b = {w {,b} w ht b oder b ls Teilwort} b b > b 1 2 3 4 b b > b 5 6 7 8 51
Gleichmächtigkeit von DEA und NDEA Zunächst ein konkretes Beispiel Strtzustnd: Menge der lten Strtzustände, lso {1, 5}. Nächster Schritt: Übergng von {1,5} mit Also, neuer Zustnd {1,2,5,6} mit (1, ) = {1, 2} (5, ) = {5, 6} δ ADEA ({1,5},) = {1,2,5,6} 52
Gleichmächtigkeit von DEA und NDEA Zunächst ein konkretes Beispiel Nächster Schritt: Übergng von {1,5} mit b. (1, b) = {1} (5, b) = {5} Für den Eingbebuchstben b bleibt A DEA lso im Strtzustnd. 53
Gleichmächtigkeit von DEA und NDEA Zunächst ein konkretes Beispiel Nächster Schritt: Übergng von {1,2,5,6} mit (1, ) = {1, 2} (2, ) = {3} (5, ) = {5, 6} (6, ) = Also, neuer Zustnd {1,2,3,5,6} mit δ ADEA ({1,2,5,6},) = {1,2,3,5,6} usw. 54
Gleichmächtigkeit von DEA und NDEA Zunächst ein konkretes Beispiel Es ergibt sich folgender determinierter Automt A DEA : 55
Gleichmächtigkeit von DEA und NDEA Zunächst ein konkretes Beispiel Es ergibt sich folgender determinierter Automt A DEA : Übergänge ller finlen Zustände führen in finle Zustände. Vereinfchung: Mn könnte die finlen Zustände zu einem zusmmenfssen 56