Übung Theoretische Grundlagen Nachtrag zur Vorlesung Dirk Achenbach 21.11.2013 INSTITUT FÜR KRYPTOGRAPHIE UND SICHERHEIT KIT University of the State of Baden-Wuerttemberg and National Laboratory of the Helmholtz Association www.kit.edu
Äquivalenz In der Vorlesung gezeigt: Jede kontextfreie Sprache kann von einem Kellerautomaten erkannt werden Heute: Die von Kellerautomaten erkannten Sprachen sind kontextfrei Dirk Achenbach Übung 21.11.2013 2/13
Äquivalenz In der Vorlesung gezeigt: Jede kontextfreie Sprache kann von einem Kellerautomaten erkannt werden Heute: Die von Kellerautomaten erkannten Sprachen sind kontextfrei Dirk Achenbach Übung 21.11.2013 2/13
Äquivalenz Theorem Wird eine Sprache L von einem Kellerautomaten erkannt, dann ist sie kontextfrei. Dirk Achenbach Übung 21.11.2013 3/13
Technische Tweaks Wir können jeden Kellerautomaten M so zu einen Kellerautomaten M modifizieren dass 1 M und M erkennen die selbe Sprache. 2 M hat nur einen einzigen akzeptierenden Zustand q accept 3 Der Keller von M ist leer wenn M in Zustand q accept ist. 4 Jeder Zustandsübergang von M nimmt entweder ein Zeichen vom Keller oder legt eines auf dem Keller ab (Jede Operation ist Pop oder Push Operation) Dirk Achenbach Übung 21.11.2013 4/13
Technische Tweaks Wir können jeden Kellerautomaten M so zu einen Kellerautomaten M modifizieren dass 1 M und M erkennen die selbe Sprache. 2 M hat nur einen einzigen akzeptierenden Zustand q accept 3 Der Keller von M ist leer wenn M in Zustand q accept ist. 4 Jeder Zustandsübergang von M nimmt entweder ein Zeichen vom Keller oder legt eines auf dem Keller ab (Jede Operation ist Pop oder Push Operation) Dirk Achenbach Übung 21.11.2013 4/13
Technische Tweaks Wir können jeden Kellerautomaten M so zu einen Kellerautomaten M modifizieren dass 1 M und M erkennen die selbe Sprache. 2 M hat nur einen einzigen akzeptierenden Zustand q accept 3 Der Keller von M ist leer wenn M in Zustand q accept ist. 4 Jeder Zustandsübergang von M nimmt entweder ein Zeichen vom Keller oder legt eines auf dem Keller ab (Jede Operation ist Pop oder Push Operation) Dirk Achenbach Übung 21.11.2013 4/13
Technische Tweaks Wir können jeden Kellerautomaten M so zu einen Kellerautomaten M modifizieren dass 1 M und M erkennen die selbe Sprache. 2 M hat nur einen einzigen akzeptierenden Zustand q accept 3 Der Keller von M ist leer wenn M in Zustand q accept ist. 4 Jeder Zustandsübergang von M nimmt entweder ein Zeichen vom Keller oder legt eines auf dem Keller ab (Jede Operation ist Pop oder Push Operation) Dirk Achenbach Übung 21.11.2013 4/13
Technische Tweaks Die Punkte (2) und (3) lassen sich einfach erreichen. Füge dazu ein neues leerer Keller Symbol und einen neuen Endzustand q accept ein. Punkt (4) erreicht man dadurch dass man Jede Zustandsübergangsregel δ(q i, a, S) (q j, T ) mit S, T ɛ durch zwei Regeln δ(q i, a, S) (q i,j,s,t, ɛ) und δ(q i,j,a,s,t, ɛ, ɛ) (q j, T ) ersetzt. Dabei ist q i,j,a,s,t ein neuer Zustand. Jede Zustandsübergangsregel δ(q i, a, ɛ) (q j, ɛ) durch zwei Regeln δ(q i, a, ɛ) (q i,j,a, R) und δ(q i,j,a, ɛ, R) (q j, ɛ) ersetzt, wobei q i,j,a ein neuer Zustand und R ein neues Bandsymbol ist. Dirk Achenbach Übung 21.11.2013 5/13
Technische Tweaks Die Punkte (2) und (3) lassen sich einfach erreichen. Füge dazu ein neues leerer Keller Symbol und einen neuen Endzustand q accept ein. Punkt (4) erreicht man dadurch dass man Jede Zustandsübergangsregel δ(q i, a, S) (q j, T ) mit S, T ɛ durch zwei Regeln δ(q i, a, S) (q i,j,s,t, ɛ) und δ(q i,j,a,s,t, ɛ, ɛ) (q j, T ) ersetzt. Dabei ist q i,j,a,s,t ein neuer Zustand. Jede Zustandsübergangsregel δ(q i, a, ɛ) (q j, ɛ) durch zwei Regeln δ(q i, a, ɛ) (q i,j,a, R) und δ(q i,j,a, ɛ, R) (q j, ɛ) ersetzt, wobei q i,j,a ein neuer Zustand und R ein neues Bandsymbol ist. Dirk Achenbach Übung 21.11.2013 5/13
Technische Tweaks Die Punkte (2) und (3) lassen sich einfach erreichen. Füge dazu ein neues leerer Keller Symbol und einen neuen Endzustand q accept ein. Punkt (4) erreicht man dadurch dass man Jede Zustandsübergangsregel δ(q i, a, S) (q j, T ) mit S, T ɛ durch zwei Regeln δ(q i, a, S) (q i,j,s,t, ɛ) und δ(q i,j,a,s,t, ɛ, ɛ) (q j, T ) ersetzt. Dabei ist q i,j,a,s,t ein neuer Zustand. Jede Zustandsübergangsregel δ(q i, a, ɛ) (q j, ɛ) durch zwei Regeln δ(q i, a, ɛ) (q i,j,a, R) und δ(q i,j,a, ɛ, R) (q j, ɛ) ersetzt, wobei q i,j,a ein neuer Zustand und R ein neues Bandsymbol ist. Dirk Achenbach Übung 21.11.2013 5/13
Technische Tweaks Die Punkte (2) und (3) lassen sich einfach erreichen. Füge dazu ein neues leerer Keller Symbol und einen neuen Endzustand q accept ein. Punkt (4) erreicht man dadurch dass man Jede Zustandsübergangsregel δ(q i, a, S) (q j, T ) mit S, T ɛ durch zwei Regeln δ(q i, a, S) (q i,j,s,t, ɛ) und δ(q i,j,a,s,t, ɛ, ɛ) (q j, T ) ersetzt. Dabei ist q i,j,a,s,t ein neuer Zustand. Jede Zustandsübergangsregel δ(q i, a, ɛ) (q j, ɛ) durch zwei Regeln δ(q i, a, ɛ) (q i,j,a, R) und δ(q i,j,a, ɛ, R) (q j, ɛ) ersetzt, wobei q i,j,a ein neuer Zustand und R ein neues Bandsymbol ist. Dirk Achenbach Übung 21.11.2013 5/13
Sei also M = (Q, Σ, Γ, δ, q 0, {q accept }) ein Kellerautomat der die Bedingungen (1)-(4) erfüllt. Wir definierend die kontextfreie Grammatik G = (T, V, S, P) mit T = Σ, V = {A pq p, q Q}, S = A q0 q accept und den Produktionen P mit Für alle p, q, r, s Q, t Γ und a, b Σ {ɛ} enthält P die Regel A pq aa rs b gdw. δ(p, a, ɛ) (r, t) und δ(s, b, t) (q, ɛ) Für alle p, q, r Q enthält P die Regel A pq A pr A rq Für alle p Q enthält P die Regel A pp ɛ Dirk Achenbach Übung 21.11.2013 6/13
Sei also M = (Q, Σ, Γ, δ, q 0, {q accept }) ein Kellerautomat der die Bedingungen (1)-(4) erfüllt. Wir definierend die kontextfreie Grammatik G = (T, V, S, P) mit T = Σ, V = {A pq p, q Q}, S = A q0 q accept und den Produktionen P mit Für alle p, q, r, s Q, t Γ und a, b Σ {ɛ} enthält P die Regel A pq aa rs b gdw. δ(p, a, ɛ) (r, t) und δ(s, b, t) (q, ɛ) Für alle p, q, r Q enthält P die Regel A pq A pr A rq Für alle p Q enthält P die Regel A pp ɛ Dirk Achenbach Übung 21.11.2013 6/13
Sei also M = (Q, Σ, Γ, δ, q 0, {q accept }) ein Kellerautomat der die Bedingungen (1)-(4) erfüllt. Wir definierend die kontextfreie Grammatik G = (T, V, S, P) mit T = Σ, V = {A pq p, q Q}, S = A q0 q accept und den Produktionen P mit Für alle p, q, r, s Q, t Γ und a, b Σ {ɛ} enthält P die Regel A pq aa rs b gdw. δ(p, a, ɛ) (r, t) und δ(s, b, t) (q, ɛ) Für alle p, q, r Q enthält P die Regel A pq A pr A rq Für alle p Q enthält P die Regel A pp ɛ Dirk Achenbach Übung 21.11.2013 6/13
Sei also M = (Q, Σ, Γ, δ, q 0, {q accept }) ein Kellerautomat der die Bedingungen (1)-(4) erfüllt. Wir definierend die kontextfreie Grammatik G = (T, V, S, P) mit T = Σ, V = {A pq p, q Q}, S = A q0 q accept und den Produktionen P mit Für alle p, q, r, s Q, t Γ und a, b Σ {ɛ} enthält P die Regel A pq aa rs b gdw. δ(p, a, ɛ) (r, t) und δ(s, b, t) (q, ɛ) Für alle p, q, r Q enthält P die Regel A pq A pr A rq Für alle p Q enthält P die Regel A pp ɛ Dirk Achenbach Übung 21.11.2013 6/13
Behauptung A pq x genau dann wenn, M bei Lesen von x, ausgehend von Zustand p und leerem Keller den Zustand q erreichen kann, wobei bei Erreichen von q der Keller wieder leer ist. Beide Richtungen der Behauptung lassen sich induktiv zeigen. Dirk Achenbach Übung 21.11.2013 7/13
Behauptung A pq x genau dann wenn, M bei Lesen von x, ausgehend von Zustand p und leerem Keller den Zustand q erreichen kann, wobei bei Erreichen von q der Keller wieder leer ist. Beide Richtungen der Behauptung lassen sich induktiv zeigen. Dirk Achenbach Übung 21.11.2013 7/13
" ": Induktion Über die Länge k der Ableitung A pq x. Ist k = 1, so ist x = ɛ. Das ist nur möglich falls p = q, also ist die in der Ableitung auftretende Regel A pp ɛ. Der Keller verändert sich nicht. Ist k > 1, so ist die erste Regelanwendung der Ableitung entweder von der Form A pq aa rs b oder A pq A pr A rq Dirk Achenbach Übung 21.11.2013 8/13
" ": Induktion Über die Länge k der Ableitung A pq x. Ist k = 1, so ist x = ɛ. Das ist nur möglich falls p = q, also ist die in der Ableitung auftretende Regel A pp ɛ. Der Keller verändert sich nicht. Ist k > 1, so ist die erste Regelanwendung der Ableitung entweder von der Form A pq aa rs b oder A pq A pr A rq Dirk Achenbach Übung 21.11.2013 8/13
" ": Induktion Über die Länge k der Ableitung A pq x. Ist k = 1, so ist x = ɛ. Das ist nur möglich falls p = q, also ist die in der Ableitung auftretende Regel A pp ɛ. Der Keller verändert sich nicht. Ist k > 1, so ist die erste Regelanwendung der Ableitung entweder von der Form A pq aa rs b oder A pq A pr A rq Dirk Achenbach Übung 21.11.2013 8/13
Ist die erste Regel A pq aa rs b, so ist x = ayb, wobei A rs y eine Ableitung der Länge k 1 ist. Nach Induktionsannahme kann M also bei Lesen von y mit leerem Keller von r nach s überführt werden. Nach Konstruktion der Produktion A pq aa rs b gilt aber dass t Γ : δ(p, a, ɛ) (r, t) und δ(s, b, t) (q, ɛ). Also erhält die Ableitung A pq x den leeren Keller. Dirk Achenbach Übung 21.11.2013 9/13
Ist die erste Regel A pq A pr A rq, so ist x = yz mit A pr y und A rq z. Die beiden letzten Ableitungen haben jeweils Länge k 1, also trifft für sie die Induktionsannahme zu und es gilt dass M bei Lesen von y mit leerem Keller von p nach r und bei Lesen von z mit leerem Keller von r nach q überführt werden kann. Insgesamt also kann M bei Lesen von x = yz mit leerem Keller von p nach q überführt werden. Dirk Achenbach Übung 21.11.2013 10/13
" ": Starte M in Zustand p mit leerem Keller und erreiche nach Lesen von x Zustand q mit leerem Keller. Induktion über die Länge k der Trace von M. Ist k = 0, dann startet und bleibt M in einem Zustand p. Es gilt notwendigerweise x = ɛ. Dazu passt die Regel A pp ɛ von P, also A pp x Ist k > 0, so bleibt der Keller während der Berechnung von M entweder immer gefüllt oder er wird irgendwann zwischendurch leer. Dirk Achenbach Übung 21.11.2013 11/13
" ": Starte M in Zustand p mit leerem Keller und erreiche nach Lesen von x Zustand q mit leerem Keller. Induktion über die Länge k der Trace von M. Ist k = 0, dann startet und bleibt M in einem Zustand p. Es gilt notwendigerweise x = ɛ. Dazu passt die Regel A pp ɛ von P, also A pp x Ist k > 0, so bleibt der Keller während der Berechnung von M entweder immer gefüllt oder er wird irgendwann zwischendurch leer. Dirk Achenbach Übung 21.11.2013 11/13
" ": Starte M in Zustand p mit leerem Keller und erreiche nach Lesen von x Zustand q mit leerem Keller. Induktion über die Länge k der Trace von M. Ist k = 0, dann startet und bleibt M in einem Zustand p. Es gilt notwendigerweise x = ɛ. Dazu passt die Regel A pp ɛ von P, also A pp x Ist k > 0, so bleibt der Keller während der Berechnung von M entweder immer gefüllt oder er wird irgendwann zwischendurch leer. Dirk Achenbach Übung 21.11.2013 11/13
Im ersten Fall (Keller zwischendurch nie leer) muss das im ersten Schritt der Ableitung auf den Keller gelegte Zeichen t im letzten Schritt wieder entfernt werden. Zerlegen wir also x = ayb. Zweiter Zustand in der Trace von M sei r, vorletzter Zustand sei s. Es gibt als r, s Q und t Γ sodass δ(p, a, ɛ) (r, t) und δ(s, b, t) (q, ɛ). Es gibt also eine Regel A pq aa rs b in P. Da M bei Lesen von y mit leerem Keller in maximal k 1 Schritten von r nach s gelangt, gilt A rs y, insgesamt also A pq x. Dirk Achenbach Übung 21.11.2013 12/13
Im zweiten Fall (Keller zwischendurch leer) erreicht M zwischendurch einen Zustand r mit leerem Keller. Liest M zwischen p und r das Wort y, so können wir x = yz Zerlegen. M erreicht also jeweils von p bei Lesen von y den Zustand r mit leerem Keller und von Zustand r aus bei Lesen von z den Zustand q mit leerem Keller. Es gilt also A pr y und A rq z, da die beiden Teilableitungen Länge < k haben und somit die Induktionsannahme gilt. Da es in P die Regel A pq A pr A rq gibt gilt insgesamt A pq x. Damit ist der Beweis abgeschlossen. Dirk Achenbach Übung 21.11.2013 13/13