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!