Kap 3: Grammatiken Chomsky-Hierarchie 32 Kap 3: Grammatiken Kontextfreie 33 a n b n c n ist kontextsensiti Beispiel 3111 modifizieren: Σ = {a, b, c G = (Σ, V, P, X ) V = {X, Y, Z P : X ε X axyz ZY YZ ay ab by bb bz bc cz cc a n b n c n kontextsensiti G = (Σ, V, P, S) V = {S, X, Y, Z P : S X ε X axyz ayz ZY YZ ay ab by bb bz bc cz cc kontextfreie Sprachen (Typ 2) Abschnitt 33 wichtige nächste Stufe nach regulär zulässige Produktionen bei Typ 2, ε L: Verschärfung: Chomsky-Normalform: Satz: jede Typ 2 Grammatik ohne ε-produktionen ist äquialent zu Chomsky NF Grammatik X, ε X YZ und X a Beweisidee zur Transformation in Chomsky NF (Satz 332): ersetze a auf rechten Seiten durch neues Z a neue Produktionen Z a a eliminiere X Y Produktionen (durch shortcuts) eliminiere X Y 1 Y k Produktionen für k > 2 erzeugen beide die Sprache L = {a n b n c n : n N G ist kontextsensiti (nur harmlose ε-produktion!) FGdI I Sommer 2011 MOtto und MZiegler 97/139 FGdI I Sommer 2011 MOtto und MZiegler 98/139 Kap 3: Grammatiken Kontextfreie 33 Chomsky NF und binäre Bäume Ableitungsschritt X YZ binäre Verzweigung X a keine Verzweigung Y X Y Z a Z a a Lemma 333 Ableitungsbaum mit inneren Knoten für X in X YZ Anwendungen in Chomsky NF Grammatik G: w L(G) hat Ableitung der Länge 2 w 1 Beweise indukti über Länge l der Ableitung on w (V Σ) + w V + 2 w Σ = l + 1 FGdI I Sommer 2011 MOtto und MZiegler 99/139 Kap 3: Grammatiken Kontextfreie 33 kontextfreie Sprachen: Abschlusseigenschaften Abschluss unter Vereinigung, Konkatenation, Stern Zu gegebenen Typ 2 Grammatiken für L 1, L 2, L finde explizit Typ 2 Grammatiken für L 1 L 2, für L 1 L 2, bzw für L (Satz 337) zb: seien G (i) = (Σ, V (i), P (i), S (i) ) kontextfrei, V (1) V (2) = G = (Σ, V, P, S) mit L(G) = L(G (1) ) L(G (2) ): V := V (1) V (2) {S S neu P := {S S (1) S (2) P (1) P (2) Bsp: L 1 = {a n b n : n N {c, L 2 = {a {b m c m : m N kontextfrei, nicht jedoch L 1 L 2 = {a n b n c n : n N (später) Kein Abschluss unter Durchschnitt/Komplement: L 1 L 2 = L 1 L 2 FGdI I Sommer 2011 MOtto und MZiegler 100/139
Kap 3: Grammatiken Kontextfreie 33 noch ein Pumping Lemma Abschnitt 333 L Σ kontextfrei existiert n N sodass sich jedes x L mit x n zerlegen lässt in x = yuwz, uw ε, uw n, und für alle m N y u m w m z = y u {{ u w {{ w z L X m mal m mal Beweis (Satz 338): L = L(G), G in Chomsky NF, n := 2 V Für x L(G), x n, hat jeder Ableitungsbaum zwei geschachtelte X Vorkommen desselben X Finde uw wie in Skizze Beispiel: {a n b n c n : n N nicht kontextfrei {{ w {{ {{ u {{ FGdI I Sommer 2011 MOtto und MZiegler 101/139 Kap 3: Grammatiken CYK 334 Erinnerung: Wortprobleme als Entscheidungsprobleme Wortproblem zu L Σ : Lösung durch Algorithmus A mit w A Eingabe: w Σ Entscheide, ob w L { ja falls w L akzeptieren nein falls w L erwerfen definite Entscheidung im Gegensatz zu: Akzeptieren wie bei NFA Erzeugen/Ableiten wie in Grammatik FGdI I Sommer 2011 MOtto und MZiegler 102/139 Kap 3: Grammatiken CYK 334 CYK Algorithmus Abschnitt 334 effizienter Algorithmus für das kontextfreie Wortproblem für G in Chomsky NF (Produktionen X a und X YZ) berechne zu w = a 1 a n systematisch für alle Teilwörter w i,j = a i a j (1 i j n) V (i, j) := {X V : X G w dynamisches i,j Programmieren rekursie Auswertung für i < j: (mit wachsender Länge j i + 1) Kap 3: Grammatiken CYK 334 das Wichtigste aus Kapitel 3 Grammatiken und Erzeugungsprozesse Nieaus der Chomsky-Hierarchie Normalform und Pumping Lemma für kontextfreie Sprachen gdw X G w i,j für ein k mit i k < j und ein X YZ ist Y G w i,k und Z G w k+1,j Cocke, Younger, Kasami CYK Algorithmus: Wortproblem in w 3 Schritten entscheidbar FGdI I Sommer 2011 MOtto und MZiegler 103/139 FGdI I Sommer 2011 MOtto und MZiegler 104/139
Kap 4: Berechnungsmodelle Kapitel 4: Berechnungsmodelle: Turingmaschinen (DTM/NTM) Kellerautomaten (PDA) Endliche Automaten (DFA/NFA) Berechnungsmodelle prinzipielle Fragen: Was lässt sich berechnen? (zb Wortprobleme) qualitati-quantitatie Fragen: Wie schwer ist ein algorithmisches Problem? Komplexitätshierarchien? (zb in Chomsky-Hierarchie) Algorithmus = (Berechnungs-)Verfahren nach Al Chwarismi (Bagdad, um 800), latinisiert zu Algoritmi FGdI I Sommer 2011 MOtto und MZiegler 106/139 Kellerautomaten (PDA) Abschnitt 41 PDA = NFA + Kellerspeicher (stack, push-down storage) Konfiguration jeweils bestimmt durch Zustand Position in der Eingabe Kellerinhalt erlaubte (nichtdeterministische) Übergänge abhängig on Zustand oberstem Kellersymbol nächstem Eingabesymbol Übergang resultiert in Zustandswechsel (optional) Vorrücken in Eingabe pop und push im Keller: Entfernen des obersten Kellersymbols (pop) Einschreiben eines Wortes in Keller (push) FGdI I Sommer 2011 MOtto und MZiegler 107/139 PDA P = ( Σ, Q, q 0,, A, Γ, # ) : Σ Eingabealphabet Q Zustandsmenge Γ Kelleralphabet q 0 Q Anfangszustand # Γ Anfangs-Kellersymbol A Q akzeptierende Zustände endliche Übergangsrelation: Konfigurationen: C = (q,, α) Q Σ Γ : q Q aktueller Zustand, Σ Restabschnitt des Eingabewortes, α Γ aktueller Kellerinhalt Q Γ (Σ {ε) Γ Q Startkonfiguration auf Eingabe w: C 0 [w] = (q 0, w, #) Nachfolgekonfigurationen zu C = (q,, α), α = γ α rest, γ Γ oberstes Kellersymbol, Keller nicht leer: C = (q,, α = x ) mit α für ein (q, γ, x, β, q = β α ) rest FGdI I Sommer 2011 MOtto und MZiegler 108/139
PDA Berechnungen Startkonfiguration auf w = a 1 a n C 0 [w] a 1 a 2 q 0 typische Konfiguration C auf w = a 1 a n {{ γ a 1 a 2 b a C n α rest q FGdI I Sommer 2011 MOtto und MZiegler 109/139 a n # PDA Berechnungen {{ γ a 1 a 2 b a C n α rest q Nachfolgekonfiguration on C zu (q, γ, b, β, q ) { { C a 1 a 2 b a n q Nachfolgekonfiguration on C zu (q, γ, ε, β, q ) { { C a 1 a 2 b a n q β α rest β α rest FGdI I Sommer 2011 MOtto und MZiegler 110/139 PDA Berechnungen (terminierende) Berechnung on P auf Eingabe w Σ : Konfigurationsfolge C 0 C f, wobei C 0 = C 0 [w] = (q 0, w, #), C i+1 eine Nachfolgekonfiguration on C i, 0 i < f, C f Endkonfiguration ohne anwendbare Transition Notation: C 0 [w] P C f akzeptierende Berechnung: C f = (q, ε, ε) mit q A on P akzeptierte Sprache: L(P) = { w Σ P : C 0 [w] (q, ε, ε) für ein q A Beispiel: PDA für Klammersprache P = ( {(, ), Q, q 0,, {q 0, Γ, # ), Q = A = {q, ein Zustand q = q 0 Γ = {, # Transitionen: (q, #, (, #, q) erarbeitet ( und addiert im Keller (q,, (,, q) erarbeitet ( und addiert im Keller (q,, ), ε, q) erarbeitet ) und löscht ein im Keller (q, #, ε, ε, q) ε-transition, die # löscht Idee: Kellerspeicher als Zähler für u ( u ) FGdI I Sommer 2011 MOtto und MZiegler 111/139 FGdI I Sommer 2011 MOtto und MZiegler 112/139
Satz: kontextfrei = PDA-erkennbar Satz 415 Kap 4: Berechnungsmodelle Turingmaschinen 42 Turing: prinzipielle Berechenbarkeit Abschnitt 42 Für L Σ sind äquialent: (i) L kontextfrei (ii) L = L(P) für einen PDA P Beweis (i) (ii): aus L = L(G), G = (Σ, V, P, S) kontextfrei, gewinne PDA P = (Σ, Q, q 0,, A, Γ, #) Q = A = {q, q 0 = q Γ = V Σ, # = S Transitionen: (q, X, ε, α, q) für Produktionen X α on G (q, a, a, ε, q) für jedes a Σ (ii) (i): aus L = L(P), P = (Σ, Q, q 0,, Γ, #), gewinne kontextfreies G = (Σ, V, P, S) Idee: Ableitungsschritte on G Berechnungsschritte on P Alan M Turing (1912 1954) Pionier der modernen Theorie der Berechenbarkeit prinzipielle Grenzen und Möglichkeiten 1936 publiziert: On Computable Numbers mit mathematischer Abstraktion seiner Zuarbeiter (sog computer ) Heutzutage Turingmaschine allgemein akzeptiert als Modell für Digitalrechner (PCs) FGdI I Sommer 2011 MOtto und MZiegler 113/139 FGdI I Sommer 2011 MOtto und MZiegler 114/139 Kap 4: Berechnungsmodelle Turingmaschinen 42 Turingmaschinen: DTM Abschnitt 42 DTM = DFA + unbeschränkter Lese/Schreibzugriff Eingabe-/Arbeitsspeicher: unbeschränkte Folge on Zellen als Band mit Lese/Schreibkopf Konfiguration bestimmt durch Zustand (q Q) Position auf dem Band Bandbeschriftung Übergang in Nachfolgekonfiguration abhängig on Zustand aktuell gelesenem Bandsymbol Übergang resultiert in Zustandswechsel Schreiben Kopfbewegung (<,, >) FGdI I Sommer 2011 MOtto und MZiegler 115/139 Kap 4: Berechnungsmodelle Turingmaschinen 42 DTM M = ( Σ, Q, q 0, δ, q +, q ) Q Zustandsmenge q 0 Q Anfangszustand q + /q Q akzeptierender/erwerfender Endzustand, q q + δ Übergangsfunktion δ : Q (Σ { ) (Σ { ) {<,, > Q Konfigurationen: C = (α, q, x, β) (Σ { ) Q (Σ { ) (Σ { ) α: Bandinhalt links om Kopf x: Bandinhalt in Kopfposition β: Bandinhalt rechts om Kopf q: aktueller Zustand Startkonfiguration auf Eingabe w: C 0 [w] := (ε, q 0,, w) Nachfolgekonfiguration: C C gemäß δ Endkonfigurationen: q {q +, q, akzeptierend/erwerfend FGdI I Sommer 2011 MOtto und MZiegler 116/139
Kap 4: Berechnungsmodelle Aufzählkbarkeit/Entscheidbarkeit 43 DTM: Akzeptieren und Entscheiden Abschnitt 43 on DTM M akzeptierte Sprache L(M) = {w Σ : M akzeptiert w = {w Σ : w M q + Entscheidung (des Wortproblems) on L M entscheidet L falls für alle w Σ : { w M q + für w L q für w L L entscheidbar (rekursi): L on einer DTM entschieden L semi-entscheidbar (rekursi aufzählbar): L on einer DTM akzeptiert definit! Kap 4: Berechnungsmodelle Aufzählkbarkeit/Entscheidbarkeit 43 Beispiel: DTM für Palindrom δ 0 1 q 0 (, >, q? ) q? (,, q + ) (, >, q 0 ) (, >, q 1 ) q 0 (, <, q 0 ) (0, >, q 0 ) (1, >, q 0 ) q 1 (, <, q 1 ) (0, >, q 1 ) (1, >, q 1 ) q 0 (,, q + ) (, <, q ) (,, q ) q 1 (,, q + ) (,, q ) (, <, q ) q (, >, q? ) (0, <, q ) (1, <, q ) intendierte Rolle der Zustände: q 0 : Startzustand q? : Anfang abfragen q 0 : zum Ende, merke 0 q 0 : ergleiche Ende mit 0 q 1 : zum Ende, merke 1 q 1 : ergleiche Ende mit 1 q : zum Anfang q + /q : akzeptiere/erwerfe FGdI I Sommer 2011 MOtto und MZiegler 117/139 FGdI I Sommer 2011 MOtto und MZiegler 118/139 Kap 4: Berechnungsmodelle Aufzählkbarkeit/Entscheidbarkeit 43 Church-Turing These Kap 4: Berechnungsmodelle Aufzählkbarkeit/Entscheidbarkeit 43 einige Väter der Berechenbarkeitstheorie algorithmische Entscheidbarkeit = Turing-Entscheidbarkeit algorithmische Erzeugbarkeit = Turing-Aufzählbarkeit Berechenbarkeit = Turing-Berechenbarkeit Belege: Erfahrung: alle akzeptierten Algorithmen lassen sich im Prinzip mit DTM simulieren Robustheit des TM Modells bewiesene Äquialenz mit ganz unterschiedlichen alternatien Charakterisierungen wichtig: idealisiertes Konzept on prinzipieller Machbarkeit im Ggs zu praktischer Machbarkeit Church (1903 1995) Turing (1912 1954) Gödel (1906 1978) Kleene (1909 1994) FGdI I Sommer 2011 MOtto und MZiegler 119/139 FGdI I Sommer 2011 MOtto und MZiegler 120/139