Kapitel 3. Kontextfreie Sprachen. Induktive Charakterisierung der Sprache L der korrekten Klammerausdrücke: (w) L, falls w L vw L, falls v, w L

Ähnliche Dokumente
10 Kellerautomaten. Kellerautomaten

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik. Vorlesung am 8. Januar INSTITUT FÜR THEORETISCHE INFORMATIK

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2012

Kontextfreie Sprachen. Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester Kontextfreie Sprachen

Theoretische Grundlagen der Informatik

Rekursiv aufzählbare Sprachen

Theoretische Grundlagen der Informatik. Vorlesung am 17. Januar INSTITUT FÜR THEORETISCHE INFORMATIK

Theoretische Grundlagen der Informatik

Informatik III - WS07/08

Einführung in die Computerlinguistik

kontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung

Informatik III. Christian Schindelhauer Wintersemester 2006/07 8. Vorlesung

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 18/19

Kontextfreie Sprachen

Ogden s Lemma: Der Beweis (1/5)

Klammersprache Definiere

Theoretische Grundlagen der Informatik

Kontextfreie Sprachen werden von PDAs akzeptiert

Theoretische Grundlagen der Informatik

Dank. 1 Ableitungsbäume. 2 Umformung von Grammatiken. 3 Normalformen. 4 Pumping-Lemma für kontextfreie Sprachen. 5 Pushdown-Automaten (PDAs)

Kontextfreie Sprachen

Lemma Für jede monotone Grammatik G gibt es eine kontextsensitive

Definition 78 Ein NPDA = PDA (= Nichtdeterministischer Pushdown-Automat) besteht aus:

Umformung NTM DTM. Charakterisierung rek. aufz. Spr. Chomsky-3-Grammatiken (T5.3) Chomsky-0-Grammatik Rek. Aufz.

Grundlagen der Theoretischen Informatik

Theoretische Grundlagen der Informatik

Musterlösung Informatik-III-Nachklausur

Reguläre Sprachen. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer,

Kontextfreie (Typ-2) Sprachen

Automaten und formale Sprachen Klausurvorbereitung

Beweisidee: 1 Verwende den Keller zur Simulation der Grammatik. Leite ein Wort. 2 Problem: der Keller darf nicht beliebig verwendet werden, man kann

Ein Fragment von Pascal

Grundlagen der Theoretischen Informatik

Ogden s Lemma (T6.4.2)

Theoretische Grundlagen der Informatik

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I

Übung zur Vorlesung Grundlagen der theoretischen Informatik. Aufgabenblatt 7 Lösungen. Wiederholung: Pumping-Lemma für kontextfreie Sprachen

Grundlagen der theoretischen Informatik

Kapitel: Die Chomsky Hierarchie. Die Chomsky Hierarchie 1 / 14

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 17/18

Automaten und formale Sprachen Notizen zu den Folien

Grundlagen der Theoretischen Informatik

Automatentheorie und formale Sprachen

Spracherkennung (Syntaxanalyse)

Lösungen zu Übungsblatt 6

Übungsblatt 7. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17

4.2 Die Chomsky Normalform

Übungsblatt 7. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17

Ein Satz der deutschen Sprache besitzt ein Subjekt, ein Prädikat und ein Objekt (SPO).

Die mathematische Seite

Übungsblatt 7. Vorlesung Theoretische Grundlagen der Informatik im WS 18/19

Grundlagen der Theoretischen Informatik

Theoretische Grundlagen der Informatik

Proseminar TI: Kellerautomaten. 1 Motivation. 2 Einführung. Vortrag: Von Sebastian Oltmanns und Dorian Wachsmann. Dozent: Wolfgang Mulzer.

11.1 Kontextsensitive und allgemeine Grammatiken

Theoretische Informatik I

Grundlagen der Theoretischen Informatik

5. Die syntaktische Analyse

Was bisher geschah Chomsky-Hierarchie für Sprachen: L 0 Menge aller durch (beliebige) Grammatiken beschriebenen Sprachen L 1 Menge aller monotonen

Nichtdeterministischer Kellerautomat

Übersicht. 3 3 Kontextfreie Sprachen

Definition (Reguläre Ausdrücke) Sei Σ ein Alphabet, dann gilt: (ii) ε ist ein regulärer Ausdruck über Σ.

Grundlagen der Theoretischen Informatik

DisMod-Repetitorium Tag 4

Chomsky-Grammatiken 16. Chomsky-Grammatiken

Deterministischer Kellerautomat (DPDA)

ADS-EI 5.2 Struktur einer Turing-Maschine 120/451 ľernst W. Mayr

Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie

Das Halteproblem für Turingmaschinen

Beschreibungskomplexität von Grammatiken Definitionen

Informatik III. Christian Schindelhauer Wintersemester 2006/07 7. Vorlesung

Theoretische Grundlagen der Informatik

Theorie der Informatik

Grammatiken. Grammatiken sind regelbasierte Kalküle zur Konstruktion von Systemen und Sprachen Überprüfung von Systemen und Sprachen

1. Übungsblatt 6.0 VU Theoretische Informatik und Logik

Übungsblatt 7. Vorlesung Theoretische Grundlagen der Informatik im WS 17/18

Grundlagen Theoretischer Informatik 2 WiSe 2011/12 in Trier. Henning Fernau Universität Trier

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I

Formale Sprachen und Automaten

A : z z A : z z : ( z, x, z ) δ

Grundlagen der Theoretischen Informatik Musterlösungen zu ausgewählten Übungsaufgaben

2. Gegeben sei folgender nichtdeterministischer endlicher Automat mit ɛ-übergängen:

Theoretische Grundlagen der Informatik

Einführung in die Theoretische Informatik

a b b a a b b a Dank Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Chart-Parsing Chart-Parsing Vorlesung

2.1 Allgemeines. Was ist eine Sprache? Beispiele:

Kapitel 2: Formale Sprachen Gliederung

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I

1. Klausur zur Vorlesung Informatik III Wintersemester 2003/2004. Mit Lösung!

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I

Theoretische Informatik

1 Σ endliches Terminalalphabet, 2 V endliche Menge von Variablen (mit V Σ = ), 3 P (V (Σ ΣV )) {(S, ε)} endliche Menge von Regeln,

Vorlesung Theoretische Informatik (Info III)

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

1 Σ endliches Terminalalphabet, 2 V endliche Menge von Variablen (mit V Σ = ), 3 P (V (Σ ΣV )) {(S, ε)} endliche Menge von Regeln,

Klausur zur Vorlesung Formale Sprachen und Automaten TIT03G2 mit Lösungsvorschlägen

Transkript:

Kapitel 3 Kontextfreie Sprachen Induktive Charakterisierung der Sprache L der korrekten Klammerausdrücke: s. Übung ε L (w) L, falls w L vw L, falls v, w L (R0) (R1) (R2) Für beliebige w {(, )} kann w L nachgewiesen werden durch ngabe der Regeln, nach denen w aufgebaut ist. 3.1 Beispiel w = (()())() 30

Theoretische Informatik (SS 2004) 31 Liest man diesen Nachweis umgekehrt, so wird ein noch unbekanntes Wort an der Wurzel entsprechend (R2) durch zwei unbekannte Wörter ersetzt, die dann wiederum durch andere Wörter ersetzt werden, bis an den Blättern ε oder Symbole des lphabets die Ersetzung abschließen. 3.1 Kontextfreie rammatiken 3.2 Def inition Eine kontextfreie rammatik = (V, Σ, P, S) besteht aus einer endlichen Menge von Variablen (Nichtterminalsymbolen) V einem lphabet (Terminalsymbolen) Σ bleitungsregeln (Produktionen) P V (V Σ) einem Startsymbol S V. Jedes α (V Σ) heißt Satzform. Für Produktionen (, α) P schreiben wir α, und für alternative Produktionen α, β auch kurz α β. 3.3 Bemerkung nwenden einer bleitungsregel α bedeutet, in einer Satzform ein Vorkommen von durch α zu ersetzen: β 1 β 2 β 1 αβ 2 (bzw. β 1 β 2 β 1 αβ 2 ). Dies geschieht ohne Berücksichtigung des Kontextes β 1, β 2 von. eht eine Satzform β aus einer Satzform α durch nwenden einer endlichen nzahl von bleitungsregeln hervor, schreiben wir α β (bzw. α β). 3.4 Def inition Eine kontextfreie rammatik = (V, Σ, P, S) erzeugt ein Wort w Σ (w kann in abgeleitet werden), { falls S } w. Die Menge L() := w Σ : S w ist die von erzeugte Sprache. Eine Sprache heißt kontextfrei, wenn sie von einer kontextfreien rammatik erzeugt wird.

Theoretische Informatik (SS 2004) 32 3.5 Beispiele 1. Die Sprache der korrekten Klammerausdrücke wird von der rammatik 26.5. = ({S}, {(, )}, P, S) mit P : S ε (R0) S SS S (S) (R1) (R2) erzeugt. Z.B. ist (()())() L(), da S SS (S)S (SS)S ((S)S)S (()S)S (()(S))S (()())S (()())(S) (()())(). 2. Für w = a 1 a n sei w R := a n a n 1 a 1. Die Sprache L = { w Σ : w = w R} der Palindrome über einem beliebigen lphabet Σ ist nicht regulär. Es s. Übung ist aber L = L() für = ({S}, Σ, P, S) mit P : S ε S a S asa für alle a Σ für alle a Σ 3. Sei L = {w {0, 1} : w 0 = w 1 > 0} die Sprache der nichtleeren Binärwörter mit gleich vielen 0 en und 1 en. Eine rammatik, die L erzeugt, muss sich in jeder während einer bleitung auftretenden Satzform merken, wieviele 0 en oder 1 en zusätzlich benötigt werden, um das Verhältnis später wieder auszugleichen: = (V, Σ, P, S) mit V = {, B, S} und P : S 0B 1 0 0S 1 B 1 1S 0BB Reihenfolge der bleitungsschritte egal

Theoretische Informatik (SS 2004) 33 Ein Syntaxbaum ist die graphische Darstellung der bleitung eines Wortes, z.b. für 110010 und die rammatik aus Beispiel 3.5(??.): 3.6 Bemerkung In Syntaxbäumen ist die Wurzel mit dem Startsymbol markiert ist jeder innere Knoten ein Nichtterminalsymbol und jedes Blatt ein Terminalsymbol bilden die Kinder eines Nichtterminalsymbols die Satzform einer passenden rechten Regelseite Zu jeder bleitung gehört genau ein Syntaxbaum, aber zu einem Syntaxbaum gehören mehrere bleitungen, insbesondere eine Linksableitung (bei der jeweils das linkeste Nichtterminalsymbol als nächstes ersetzt wird) und eine Rechtsableitung (entsprechend). Zu einem von einer kontextfreien rammatik erzeugten Wort kann es verschiedene bleitungen mit verschiedenen Syntaxbäumen geben. 3.7 Def inition Eine kontextfreie rammatik heißt eindeutig, falls es für jedes Wort w L() genau einen Syntaxbaum gibt; andernfalls heißt mehrdeutig. Eine kontextfreie Sprache L heißt eindeutig, falls es eine eindeutige kontextfreie rammatik gibt, die L erzeugt; andernfalls heißt L inhärent mehrdeutig.

Theoretische Informatik (SS 2004) 34 Wir werden auf diese Begriffe zurückkommen, wollen jedoch zunächst das Wortproblem für kontextfreie Sprachen angehen. 3.8 Def inition Eine kontextfreie rammatik = (V, Σ, P, S) ist in Chomsky-Normalform, wenn alle Produktionen von der Form mit, B, C V und a Σ sind. BC oder a 3.9 Bemerkung Für Sprachen L, die das leere Wort enthalten, erhalten rammatiken in Chomsky-Normalform, die L \ {ε} erzeugen, ein neues Startsymbol S und neue Produktionen S ε S. 3.10 Satz Jede kontextfreie rammatik kann in eine kontextfreie rammatik in Chomsky-Normalform mit L( ) = L() \ {ε} transformiert werden. Beweis: wird in 4 Schritten in transformiert: 1. Schritt: (Terminale treten nur allein auf der rechten Seite auf) Führe neue Nichtterminale S a für alle a Σ ein. Danach ersetze alle Vorkommen von a Σ auf der rechten Regelseite durch S a und führe neue Produktionen S a a ein. 2. Schritt: (alle rechten Regelseiten haben höchstens zwei Symbole) Für jede Produktion P i : B 1... B m mit m > 2 führe neue Nichtterminale C i j, j = 1,..., m 2, ein und ersetze P i durch B 1 C i 1 C i j B j+1 C i j+1, j = 1,..., m 3 C i m 2 B m 1 B m. 3. Schritt: (ε-elimination) Berechne zunächst die Menge V der Nichtterminale, aus denen das

Theoretische Informatik (SS 2004) 35 leere Wort abgeleitet werden kann, d.h. V ε. Dazu seien V 0 = V 1 = { V : ε in P } V i+1 = V i { V : B oder BC mit B, C V i } für alle i 1. Für das kleinste i 0 mit V i+1 = V i gilt schon V i = V. Füge nun für alle Regeln BC mit B V (bzw. C V ) Regeln C (bzw. B) hinzu und streiche alle Regeln der Form ε. 4. Schritt: (Elimination von Kettenregeln B) usgehend von rechten Regelseiten der Form a Σ und BC mit B, C V berechne rückwärts alle bleitungen der Form 1 2... k a BC ohne Wiederholungen. Füge für jede der obigen bleitungen a bzw. BC ein und streiche alle Produktionen der Form B. Bis auf den Schritt 3 wird die erzeugte Sprache nicht verändert. Im 3. Schritt geht höchstens ε verloren. 3.11 Satz (Cocke, Younger, Kasami) Für eine kontextfreie rammatik = (V, Σ, P, S) in Chomsky-Normalform kann das Wortproblem w L() für w Σ in Zeit O ( P w 3 ) gelöst werden. } Beweis: Seien w = a 1... a n, a i, w i,j = a i... a j und V i,j = { V : w i,j. Dann ist w L() S V 1,n. Wir konstruieren die V i,j nach wachsender Differenz der nfangs- und Endposition k = j i des abgeleiteten Teilwortes w i,j. k = 0: } V i,i = { V : w ii = { V : a i in P }, da in Chomsky- NF. Die V i,i können daher in der Zeit O( P + w ) durch Prüfen aller Regeln bestimmt werden.

Theoretische Informatik (SS 2004) 36 k > 0: Wir suchen alle mit w i,j. Da k = j i > 0 und in Chomsky- NF, muss ein erster bleitungsschritt von der Form BC sein. Wegen der ε-freiheit von gilt w i,j daher genau dann, wenn B w i,l und C w l+1,j, d.h. B V i,l, C V l+1,j, für ein l {i,..., j 1}. Werden alle V i,j als rrays der Länge V gespeichert (sodass V i,j in konstanter Zeit überprüft werden kann), so ist der ufwand in O( P w 3 ), da ( ) w 2 viele Mengen in jeweils O( P w ) konstruiert werden. us dem Beweis erhalten wir den folgenden lgorithmus zur Lösung des 28.5. Wortproblems für kontextfreie Sprachen. lgorithmus 2: CYK-lgorithmus Eingabe : kontextfreie rammatik in Chomsky-Normalform Wort w = a 1 a n for i = 1,..., n do V i,i { V : a i in P } for k = 1,..., n 1 do for i = 1,..., n k + 1 do j i + k V i,j for l = i,..., j 1 do foreach BC in P do if B V i,l und C V l+1,j then V i,j V i,j {} if S V 1,n then gib aus: w L() else gib aus: w L() 3.12 Beispiel : S S a BS B BB BS b c in Chomsky- Normalform

Theoretische Informatik (SS 2004) 37 Frage: abacba L()? i j V i,j 1 2 3 4 5 6 1 S S S 2 B, B B B, B 3 S S 4 B B, B 5 B, B 6 S Von der Diagonalen her konstruieren s V 1,n = w L(). 3.2 Kellerautomaten Für praktische Zwecke ist der CYK-lgorithmus zu aufwändig. Wir betrachten daher auch für kontextfreie Sprachen ein passendes Maschinenmodell. 3.13 Def inition Ein Kellerautomat (K) = (Q, Σ, Γ, δ, s, S, F ) besteht aus einer endlichen Zustandsmenge Q einem (Eingabe-)lphabet Σ einem (Keller-)lphabet Γ einer Übergangsrelation δ ( Q (Σ {ε}) Γ ) (Γ Q) einem Startzustand s Q einem Kellerstartsymbol S Γ einer Endzustandsmenge F Q Wie endliche utomaten liest ein Kellerautomat ein Eingabewort zeichenweise und geht dabei von einem Zustand in einen anderen über. Der zusätzliche Keller erlaubt die blage von Zwischeninformationen:

Theoretische Informatik (SS 2004) 38 Die Schreibweise (q, a, Z, γ, q ) δ besagt, dass im Zustand q mit nächstem Eingabesymbol a ε und oberstem Kellersymbol Z der utomat in den Zustand q übergehen darf und dabei das Z durch γ ersetzt. nalog geschieht dies für a = ε, wobei dann kein Zeichen der Eingabe verbraucht wird. Für γ > 1 spricht man von einem push-schritt, für γ = ε von einem pop- Schritt. Übergänge beschreiben wir durch Konfigurationen (q, w, γ) Q Σ Γ mit (q, av, Zγ) (q, v, γ γ) falls (q, a, Z, γ, q ) δ und verwenden wieder für eine Folge von beliebig vielen Übergängen (entsprechend auch, ). 3.14 Def inition Ein Kellerautomat = (Q, Σ, Γ, δ, s, S, F ) akzeptiert ein Wort w Σ, falls (s, w, S) (q, ε, γ) mit q F, γ Γ. Die Menge } L() := {w Σ : (s, w, S) (q, ε, γ), q F, γ Γ heißt die von akzeptierte Sprache. 3.15 Beispiel Wir konstruieren einen Kellerautomaten, der die Sprache L = { w Σ : w = vv R, v Σ } der Palindrome gerade Länge über dem lphabet Σ = {a, b} akzeptiert. Dazu legen wir auf dem Keller die erste Worthälfte ab und bauen ihn beim Lesen der zweiten Worthälfte wieder ab. Der Kellerautomat besteht aus Q = {s, q 1, q 2, q f }, Σ = {a, b}, Γ = Σ {S},

Theoretische Informatik (SS 2004) 39 F = {q f } und δ : s a S as q 1 s b S bs q 1 s ε S S q f q 1 a b ab q 1 q 1 b a ba q 1 q 1 a a aa q 1! q 1 a a ε q 2 q 1 b b bb q 1! q 1 b b ε q 2 q 2 a a ε q 2 q 2 b b ε q 2 q 2 ε S ε q f Beachte, dass der Übergang vom uf- zum bbau des Kellers nichtdeterministisch erfolgt. Ein Kellerautomat kommt auch ohne Endzustände aus: 2.6. 3.16 Def inition Sei = (Q, Σ, Γ, δ, s, S, ) ein Kellerautomat ohne ausgezeichnete Endzustände. Ein Wort w Σ wird von mit leerem Keller akzeptiert, falls (s, w, S) (q, ε, ε) für irgendein q Q. Die Menge N() := { } w Σ : (s, w, S) (q, ε, ε) heißt die von mit leerem Keller akzeptierte Sprache.

Theoretische Informatik (SS 2004) 40 3.17 Satz (Äquivalenz der kzeptanzarten) a) Zu jedem K existiert ein K B mit L() = N(B). b) Zu jedem K existiert ein K B mit N() = L(B). Beweis: a) Zu = (Q, Σ, Γ, δ, s, S, F ) konstruiere K B, der wie arbeitet und von den Endzuständen aus den Keller leert (falls das Wort nicht akzeptiert, darf der Keller nicht leer werden). Ergänze daher um einen neuen nfangszustand s einen Zustand ˆq zum Leeren des Kellers ein neues Kellerstartsymbol S sowie Transitionen s ε S SS s q ε Z ε ˆq für alle q F, Z Γ {S } ˆq ε Z ε ˆq für alle Z Γ {S }. b) Zu = (Q, Σ, Γ, δ, s, S, ) konstruiere K B, der wie arbeitet und genau bei geleertem Keller in einen Endzustand wechselt. Ergänze daher um einen neuen nfangszustand s einen neuen und dann einzigen Endzustand q f ein neues Kellerstartsymbol S sowie Transitionen s ε S SS s q ε S ε q f für alle q Q.

Theoretische Informatik (SS 2004) 41 3.18 Satz Eine Sprache ist kontextfrei genau dann, wenn sie von einem Kellerautomaten akzeptiert wird. Beweis: = : Sei = (V, Σ, P, S) eine kontextfreie rammatik. Wir zeigen, dass es einen Kellerautomaten mit N() = L() gibt, d.h. akzeptiert ein Wort mit leerem Keller genau dann, wenn es in ableitbar ist. Der utomat simuliert im Keller eine Linksableitung, indem Nichtterminalsymbole an der Kellerspitze durch die Satzform einer rechten Regelseite ersetzt und Terminalsymbole mit der Eingabe abgeglichen werden. Sei daher = ({s}, Σ, Γ, δ, s, S, ) mit Γ = Σ V und δ : s ε γ s für alle γ in P s a a ε s für alle a Σ. Wir zeigen, dass für alle u Σ Terminal beginnen, gilt und α Γ, die nicht mit einem S uα mit Linksableitungen (s, u, S) (s, ε, α). Daraus folgt dann für α = ε genau die von der rammatik erzeugte Sprache erkennt. = : Induktion über die Länge k der Berechnung in. k = 0: Dann sind u = ε, α = S und S S mit Linksableitungen. k > 0: Es gelte (s, u, S) k (s, ε, α) und wir betrachten den letzten Berechnungsschritt: 1. Fall: (Transition der Form (s, ε,, γ, s) δ) Dann gilt (s, u, S) k 1 (s, ε, α ) (s, ε, γα ) mit α = γα, und aus der Induktionsvoraussetzung folgt S uα uγα = uα mit Linksableitungen. 2. Fall: (Transition der Form (s, a, a, ε, s) δ) Dann gilt (s, u a, S) k 1 (s, a, aα) (s, ε, α) mit u = u a,

Theoretische Informatik (SS 2004) 42 und aus der Induktionsvoraussetzung folgt S u aα = uα mit Linksableitungen. = : Induktion über die nzahl k der Linksableitungen in. k = 0: Dann sind u = ε, α = S. k > 0: Es gelte S k uα mit Linksableitungen und deren letzte sei γ. Dann gilt S k 1 β 1 β 2 β 1 γβ 2 = uα mit β 1 Σ, da Linksableitungen vorausgesetzt wurden. Mit der Induktionsvoraussetzung gilt also (s, β 1, S) (s, ε, β 2 ) (s, ε, γβ 2 ). ( ) Weil α nicht mit einem Terminal beginnt und das linkeste Nichtterminal in β 1 β 2 ist, gilt β 1 u. Es muss daher ein v Σ mit β 1 v = u und vα = γβ 2 geben. u α β 1 γβ 2 }{{} v Durch nwendung von Transitionen (s, a, a, ε, s) δ, a Σ, erhalten wir (s, u, S) = (s, β 1 v, S) }{{} ( ) (s, v, γβ 2 ) (s, ε, α). = : Zu einem Kellerautomaten = (Q, Σ, Γ, δ, s, S, ) konstruieren wir eine kontextfreie rammatik = (V, Σ, P, S ) mit L() = N(). Die Variablen V = S {[pzq] : p, q Q, Z Γ} der rammatik stehen für mögliche Folgen von Berechnungsschritten des utomaten. Die Idee dahinter ist, dass [pzq] u genau dann gelten soll, wenn beim Übergang von p nach q die Eingabe u verbraucht 4.6.

Theoretische Informatik (SS 2004) 43 und das Symbol Z von der Kellerspitze entfernt (ohne die Zeichen darunter anzufassen). Wir nehmen daher folgende Produktionen auf: P : S [ssq] für alle q Q Beachte, dass a Σ {ε}. [pzq] a für alle (p, a, Z, ε, q) δ [pzq] a[p 0 Z 1 p 1 ][p 1 Z 2 p 2 ] [p n 1 Z n q] für alle (p, a, Z, Z 1 Z n, p 0 ) δ mit n > 0 und p 1,..., p n 1 Q Wir zeigen, dass für alle p, q Q, u Σ und Z Γ gilt (p, u, Z) (q, ε, ε) [pzq] u woraus für p = s, Z = S und u = w die Behauptung folgt, weil dann (s, w, S) (q, ε, ε) S [ssq] w. = : Induktion über die Länge k 1 der Berechnung in. k = 1: Dann ist u = a Σ {ε} und der Berechnungsschritt war von der Form (p, a, Z, ε, q) δ. Nach Konstruktion ist [pzq] a in P. k > 1: Sei u = au mit a Σ {ε} und der erste Berechnungsschritt sei (p, a, Z, Z 1 Z n, p 0 ) δ, dann gilt (p, au, Z) (p 0, u, Z 1 Z n ) k 1 (q, ε, ε). Wähle nun u 1,..., u n Σ mit u = u 1 u n gemäß dem bbau der Z 1,..., Z n im Keller, d.h. u 1 u i führt über vom Zustand p 0 mit Kellerspitze Z 1 Z n zum Zustand p i mit Kellerspitze Z i+1 Z n. Die Zahl der für die Übergänge (p i 1, u i, Z i ) (p i, ε, ε) für i = 1,..., n und p n = q benötigten Berechnungsschritte ist jeweils kleiner als k, sodass sich mit der Induktionsvoraussetzung [p i 1 Z i p i ] u i

Theoretische Informatik (SS 2004) 44 ergibt. Nach Konstruktion gibt es zum ersten bleitungsschritt die Produktion [pzq] a[p 0 Z 1 p 1 ]... [p n 1 Z n q], sodass wir insgesamt [pzq] a[p 0 Z 1 p 1 ] [p n 1 Z n q] au 1 u n = au = u erhalten. = : Induktion über die nzahl k 1 der bleitungen in. k = 1: Die bleitung muss von der Form [pzq] a sein. Es existiert daher eine Transition (p, a, Z, ε, q) δ und somit (p, a, Z) (q, ε, ε). k > 1: Betrachte die bleitung [pzq] a[p 0 Z 1 p 1 ]... [p n 1 Z n p n ] k 1 au 1 u n. Nach Konstruktion muss (p, a, Z, Z 1... Z n, p 0 ) δ sein und aus der Induktionsvoraussetzung folgt (p i 1, u i, Z i ) (p i, ε, ε), sodass insgesamt (p, u, Z) = (p, au 1... u n, Z) (p n, ε, ε) = (q, ε, ε). 3.19 Beispiel Wir nutzen die Konstruktion aus der Hinrichtung des obigen Beweises, um einen Kellerautomaten zu konstruieren, der die Sprache der Palindrome gerader Länge mit leerem Keller akzeptiert. : S ε S asa für alle a Σ führt auf : s ε S ε s s ε S asa s für alle a Σ s a a ε s für alle a Σ.

Theoretische Informatik (SS 2004) 45 3.20 Satz (Pumping-Lemma für kontextfreie Sprachen) Sei L eine kontextfreie Sprache. Dann existiert eine Zahl n jedes Wort w L mit w n darstellen läßt als so, dass sich w = tuvxz mit ux 1, uvx n und tu i vx i z L für alle i 0. Wir beweisen nur die verschärfte Form. 3.21 Satz (Ogdens Lemma: verschärftes PL für kfs) Sei L eine kontextfreie Sprache. Dann existiert eine Zahl n so, dass für jedes Wort w L mit w n gilt: Werden in w mindestens n Buchstaben markiert, dann läßt sich w darstellen als w = tuvxz mit mindestens einer Markierung in ux und höchstens n Markierung in uvx und tu i vx i z L für alle i 0. Beweis: Zu L gibt es eine kontextfreie rammatik = (V, Σ, P, S) in Chomsky-Normalform mit L() = L \ {ε}. Wir setzen n := 2 V +1 und betrachten ein w L mit w > n und mindestens n markierten Buchstaben, sowie einen zugehörigen Syntaxbaum. Der Syntaxbaum hat w Blätter, alle inneren Knoten haben höchstens zwei Kinder und die inneren Knoten mit nur einem Kind sind genau die Eltern der Blätter (da in Chomsky-NF ist). Wir wählen im Baum einen Weg von der Wurzel zu einem Blatt, der immer in Richtung der größeren nzahl der n markierten Blätter weiterläuft (bei leichheit beliebig). Knoten mit markierten Blättern im linken und im rechten Teilbaum heißen Verzweigunsknoten. Wegen n > 2 V liegen mindestens V + 1 Verzweigungsknoten auf dem gewählten Weg. Betrachte die letzten V + 1 davon und beachte, dass mindestens zwei mit der gleichen Variable markiert sein müssen.

Theoretische Informatik (SS 2004) 46 Wir erhalten die folgende Darstellung von w: Da die mit beschrifteten Knoten Verzweigunsknoten sind, enthält ux mindestens einen markierten Buchstaben, und da der gewählte Weg ab dem oberen -Knoten nur noch höchstens V + 1 Verzweigunsknoten enthält, folgt aus der uswahlregel für den jeweils nächsten Knoten, dass uvx höchstens 2 V +1 = n markierte Buchstaben enthält. In der rammatik sind offensichtlich folgende bleitungen möglich: S tz (1) ux (2) v (3) Daraus erhalten wir für jedes i 0 eine bleitung S (1) tz tuxz... tu i x i z (2) (2) (2) }{{} i-mal (3) tu i vx i z sodass tu i vx i z L() L für alle i 0.

Theoretische Informatik (SS 2004) 47 3.22 Beispiel Wie beim Pumping-Lemma für reguläre Sprachen lassen sich diese beiden 8.6. Sätze zum Nachweis der Nicht-Kontextfreiheit einer Sprache einsetzen: Sei L = {a i b j a j b i : i > j > 0} und zum n aus dem Pumping-Lemma betrachte w = a n+1 b n a n b n+1. Sei ferner w = tuvxz eine zugehörige Darstellung aus dem Pumping-Lemma mit ux ε und uvx n. 1. Fall: (uvx ist im Mittelteil b n a n enthalten) Dann kann durch ufpumpen die Bedingung i > j verletzt werden. 2. Fall: (uvx ist in a n+1 b n oder in a n b n+1 enthalten) Dann kann durch ufpumpen die Bedingung der gleichen nzahlen verletzt werden. 3.23 Def inition Ein Kellerautomat = (Q, Σ, Γ, δ, s, S, F ) heißt deterministisch (DK), falls i) Für alle q Q, a Σ {ε}, Z Γ existiert höchstens ein Übergang der Form (q, a, Z,, ) δ. ii) Für alle q Q, Z Γ gilt: Ist ein Übergang der Form (q, ε, Z,, ) δ, dann gibt es keinen Übergang der Form (q, a, Z,, ) mit a Σ. Wir werden zeigen, dass deterministische Kellerautomaten nicht alle kontextfreien Sprachen erkennen. 3.24 Lemma ibt es zu einer Sprache L Σ einen deterministischen Kellerautomaten mit L() = L, so gibt es zu MIN(L) := {w L : es gibt kein echtes Präfix von w in L} einen deterministischen Kellerautomaten B mit L(B) = MIN(L). Beweis: Der DK = (Q, Σ, Γ, δ, s, S, F ) erkenne L. Konstruiere den utomaten B durch Hinzufügen eines neuen Zustands q und der Übergänge q a Z Z q für alle a Σ, Z Γ sowie Umwandeln aller Transition mit q F, a Σ, Z Γ in q a Z Z q. Einmal in F, nie wieder in F

Theoretische Informatik (SS 2004) 48 3.25 Lemma Sei L = L() Σ für einen (deterministischen) Kellerautomaten und R Σ regulär. Dann ist L R = L() für einen (deterministischen) Kellerautomaten B. Beweis: Sei L = L() für den (D)K = (Q, Σ, Γ, δ, s, S, F ) und R = L( ) für den DE = (Q, Σ, δ, s, F ). Wir schalten und wie folgt zu einem (D)K B = (Q Q, Σ, Γ, ˆδ, (s, s ), S, F F ) zusammen: ( (p, p ), a, Z, γ, (q, q ) ) ˆδ : (p, a, Z, γ, q) δ und δ (p, a) = q für a Σ bzw. a = ε und p = q. Mit Induktion über die Länge k der Berechnung folgt ((s, s ), w, S) k B ((q, q ), ε, γ) (s, w, S) k (q, ε, γ) und δ (s, w) = q, und damit L(B) = L() L( ) = L R. 3.26 Satz Es gibt keinen deterministischen Kellerautomaten, der die kontextfreie Sprache L = { w {a, b} : w = vv R, v {a, b} } der Palindrome gerader Länge über {a, b} akzeptiert. Beweis: ngenommen, es existiert ein DK mit L() = L. Nach Lemma 3.24 und Lemma 3.25 existiert dann zu L := MIN(L) (ab) + (ba) + (ab) + (ba) + ein DK mit L( ) = L. Da alle Wörter in L Palindrome gerader Länge ohne echtes Präfix dieser rt sind, gilt: L = { (ab) i (ba) j (ab) j (ba) i : i > j > 0 } Mit dem Pumping-Lemma lässt sich dann aber wie in Beispiel 3.22 zeigen, dass L nicht kontextfrei ist. Dies ist ein Widerspruch!