Theoretische Grundlagen der Informatik

Ähnliche Dokumente
Informatik III - WS07/08

Theoretische Grundlagen der Informatik

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

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

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

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik

Das Halteproblem für Turingmaschinen

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik

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

Klausur zur Vorlesung Informatik III Wintersemester 2007/2008

8. Turingmaschinen und kontextsensitive Sprachen

Musterlösung Informatik-III-Nachklausur

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

Rekursiv aufzählbare Sprachen

Theoretische Grundlagen der Informatik

Vorlesung Theoretische Informatik (Info III)

Kontextfreie Sprachen

Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012

Grundlagen der Theoretischen Informatik

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

Musterlösung Informatik-III-Klausur

10 Kellerautomaten. Kellerautomaten

Kontextfreie Sprachen

Kellerautomaten u. kontextfr. Spr.

Definition 98 Eine Turingmaschine heißt linear beschränkt (kurz: LBA), falls für alle q Q gilt:

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

Grundlagen der Theoretischen Informatik

Aufgabe Mögliche Punkte Erreichte Punkte a b c d Σ a b c d Σ x1 12

Deterministische und nichtdeterministische Turing-Maschinen, Typ1- und Typ0-Sprachen

Kontextfreie Sprachen werden von PDAs akzeptiert

Aufgabe Mögliche Punkte Erreichte Punkte a b c d Σ a b c d Σ x1 13

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

Einführung in die Theoretische Informatik I/ Grundlagen der Theoretischen Informatik. SS 2007 Jun.-Prof. Dr. Bernhard Beckert Ulrich Koch

Nachklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012

Ist eine algorithmische Problemstellung lösbar und wenn ja, mit welchen Mitteln? was ist eine algorithmische Problemstellung?

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

Akzeptierende Turing-Maschine

Automaten und formale Sprachen Klausurvorbereitung

Formale Grundlagen der Wirtschaftsinformatik

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

Falls H die Eingabe verwirft, so wissen wir, dass M bei Eingabe w nicht hält. M hält im verwerfenden Haltezustand. Beweis:

Ogden s Lemma: Der Beweis (1/5)

Theorie der Informatik

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

Lösung zur Klausur. Grundlagen der Theoretischen Informatik im WiSe 2003/2004

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

Theorie der Informatik

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

Theoretische Grundlagen der Informatik

Chomsky-Grammatiken 16. Chomsky-Grammatiken

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

Theoretische Informatik II

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie

Grundlagen der Informatik II

Theoretische Grundlagen der Informatik. Vorlesung am 16. November INSTITUT FÜR THEORETISCHE INFORMATIK

Theoretische Informatik für Wirtschaftsinformatik und Lehramt

2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2017/2018

11.1 Kontextsensitive und allgemeine Grammatiken

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

WS06/07 Referentin: Katharina Blinova. Formale Sprachen. Hauptseminar Intelligente Systeme Dozent: Prof. Dr. J. Rolshoven

Das Postsche Korrespondenzproblem

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

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

(Prüfungs-)Aufgaben zu formale Sprachen

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

Informatik III. Arne Vater Wintersemester 2006/ Vorlesung

Turing: prinzipielle Berechenbarkeit Abschnitt 4.2. Turingmaschinen: DTM Abschnitt 4.2. DTM: Akzeptieren und Entscheiden Abschnitt 4.

Theoretische Grundlagen der Informatik

Informatik III. Arne Vater Wintersemester 2006/ Vorlesung

Algorithmen und Datenstrukturen I - Exkurs Formale Sprachen -

Konkatenation. Abschlusseigenschaften. Kleenescher Abschluss. Durchschnitt und Komplement

Theoretische Informatik I

Grundlagen der Theoretischen Informatik

5.2 Endliche Automaten

FORMALE SYSTEME. 3. Vorlesung: Endliche Automaten. TU Dresden, 17. Oktober Markus Krötzsch

Grundlagen der Theoretischen Informatik

Klausur SoSe Juli 2013

Theoretische Grundlagen der Informatik

2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2016/2017

Theoretische Grundlagen der Informatik

Algorithmen und Datenstrukturen I - Exkurs Formale Sprachen -

Theoretische Grundlagen der Informatik

1. Klausur zur Vorlesung Informatik III Wintersemester 2004/2005

Formale Sprachen. Script, Kapitel 4. Grammatiken

3. Vorlesung: Endliche Automaten Markus Kr otzsch Lehrstuhl Wissensbasierte Systeme

Zusammenfassung Info3. Lydia Pintscher 20. März 2005

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie

Berechenbarkeit und Komplexität

Mehrdeutige Grammatiken

Theoretische Grundlagen der Informatik

PROBEKLAUSUR SoSe 2016

3.1 Kontextfreie Sprachen und Grammatiken 3.2 Ableitungsbäume 3.3 Die pre -Operation

Transkript:

Theoretische Grundlagen der Informatik Vorlesung am 2.2.2022 Torsten Ueckerdt 2. Februar 2022 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu

Letzte Vorlesung: Ein Maschinenmodell für Chomsky-2 Satz. Jede durch einen NPDA durch leeren STACK akzeptierte Sprache ist kontextfrei. NPDA mit leerem STACK det. Kellerautomat (DPDA) kontextfreie Grammatik NPDA mit akzeptierenden Endzuständen 2/31 02.02.2022 Torsten Ueckerdt: Theoretische Grundlagen der Informatik Institut für Theoretische Informatik

Wiederholung: Kellerautomaten Definition. Ein nichtdeterministischer Kellerautomat (NPDA) besteht aus (Q, Σ, Γ, q 0, Z 0, δ), wobei Q Zustandsmenge, q 0 Q Anfangszustand, Σ Eingabealphabet Γ endliches STACK-Alphabet, Z 0 Γ Initialisierung des STACK δ : Q (Σ {ε}) Γ 2 Q Γ Übergangsrelation, d.h. δ (q, a, Z) {(q,γ) q Q,γ Γ } δ (q, ε, Z) {(q,γ) q Q,γ Γ } 3/31 02.02.2022 Torsten Ueckerdt: Theoretische Grundlagen der Informatik Institut für Theoretische Informatik

Wiederholung: Kellerautomaten Definition. Ein nichtdeterministischer Kellerautomat (NPDA) besteht aus (Q, Σ, Γ, q 0, Z 0, δ), wobei Q Zustandsmenge, q 0 Q Anfangszustand, Σ Eingabealphabet Γ endliches STACK-Alphabet, Z 0 Γ Initialisierung des STACK δ : Q (Σ {ε}) Γ 2 Q Γ Übergangsrelation, d.h. δ (q, a, Z) {(q,γ) q Q,γ Γ } δ (q, ε, Z) {(q,γ) q Q,γ Γ } Eine Konfiguration eines NPDA ist ein Tripel (q, w, α) mit q Q, w Σ der Teil der Eingabe, der noch nicht gelesen wurde, α Γ STACK-Inhalt. 3/31 02.02.2022 Torsten Ueckerdt: Theoretische Grundlagen der Informatik Institut für Theoretische Informatik

Wiederholung: Kellerautomaten Eine Konfiguration eines NPDA ist ein Tripel (q, w, α) mit q Q, w Σ der Teil der Eingabe, der noch nicht gelesen wurde, α Γ STACK-Inhalt. Definition. Ein NPDA akzeptiert ein w Σ durch leeren STACK, wenn es eine zulässige Folge von Konfigurationen aus der Anfangskonfiguration (q 0, w, Z 0 ) in eine Konfiguration (q, ε, ε), q Q, gibt. 3/31 02.02.2022 Torsten Ueckerdt: Theoretische Grundlagen der Informatik Institut für Theoretische Informatik

Wiederholung: Kellerautomaten Eine Konfiguration eines NPDA ist ein Tripel (q, w, α) mit q Q, w Σ der Teil der Eingabe, der noch nicht gelesen wurde, α Γ STACK-Inhalt. Definition. Ein NPDA akzeptiert ein w Σ durch leeren STACK, wenn es eine zulässige Folge von Konfigurationen aus der Anfangskonfiguration (q 0, w, Z 0 ) in eine Konfiguration (q, ε, ε), q Q, gibt. Ziel: Für jeden beliebigen NPDA A der eine Sprache L durch leeren STACK akzeptiert, konstruiere eine kontextfreie Grammatik G mit L(G) = L. 3/31 02.02.2022 Torsten Ueckerdt: Theoretische Grundlagen der Informatik Institut für Theoretische Informatik

Ein Maschinenmodell für Chomsky-2 Satz. Jede durch einen NPDA durch leeren STACK akzeptierte Sprache ist kontextfrei. NPDA mit leerem STACK det. Kellerautomat (DPDA) kontextfreie Grammatik NPDA mit akzeptierenden Endzuständen 4/31 02.02.2022 Torsten Ueckerdt: Theoretische Grundlagen der Informatik Institut für Theoretische Informatik

Beweis: NPDA kontextfreie Grammatik Sei A = (Q, Σ, Γ, δ, q 0, Z 0 ) NPDA, der L A durch leeren STACK akzeptiert. Wir geben eine kontextfreie Grammatik G = (Σ, V, S, R) mit L A = L(G) an. Die Konstruktion von G heißt Tripelkonstruktion. Setze V := {[q, X, p] p, q Q, X Γ} {S}. Sei S Startsymbol. Ziel: Aus [q, X, p] sollen genau die w Σ ableitbar sein, für die es eine Abarbeitung von A gibt, die im Zustand q mit STACK-Inhalt X beginnt und nach Lesen von w im Zustand p mit leerem STACK endet. 5/31 02.02.2022 Torsten Ueckerdt: Theoretische Grundlagen der Informatik Institut für Theoretische Informatik

Beweis: NPDA kontextfreie Grammatik Sei A = (Q, Σ, Γ, δ, q 0, Z 0 ) NPDA, der L A durch leeren STACK akzeptiert. Wir geben eine kontextfreie Grammatik G = (Σ, V, S, R) mit L A = L(G) an. Die Konstruktion von G heißt Tripelkonstruktion. Setze V := {[q, X, p] p, q Q, X Γ} {S}. Sei S Startsymbol. Die Regelmenge R ist gegeben durch S [q 0, Z 0, q] für alle q Q [q, X, q m+1 ] a[q 1, Y 1, q 2 ][q 2, Y 2, q 3 ] [q m, Y m, q m+1 ] für alle Möglichkeiten q 2, q 3,..., q m+1 Q, falls (q 1, Y 1 Y 2 Y m ) δ (q, a, X), insbes. [q, X, p] a falls (p, ε) δ (q, a, X). 5/31 02.02.2022 Torsten Ueckerdt: Theoretische Grundlagen der Informatik Institut für Theoretische Informatik

Notation Eine Konfiguration eines NPDAs ist (q, w, α) mit q aktueller Zustand, w noch zu lesende Eingabe, α aktueller STACK-Inhalt. Für einen Schritt von Konfiguration (q, w, α) zu Konfiguration (p, w, β) schreiben wir (q, w, α) (p, w, β). Für eine Folge von Konfigurationen (q, w, α) nach (p, w, β) schreiben wir auch beziehungsweise (q, w, α) (p, w, β) (q, w, α) k (p, w, β) für eine Folge von genau k Konfigurationen. 6/31 02.02.2022 Torsten Ueckerdt: Theoretische Grundlagen der Informatik Institut für Theoretische Informatik

Beweis: NPDA kontextfreie Grammatik Wir werden per Induktion beweisen, dass für alle p, q Q, X Γ und w L gilt: [q, X, p] w in G (q, w, X) (p, ε, ε) Aus dieser Behauptung folgt dann w L A p Q mit (q 0, w, Z 0 ) (p, ε, ε), wobei (q 0, w, Z 0 ) Anfangskonfiguration von A ist p Q mit [q 0, Z 0, p] w p Q mit S [q 0, Z 0, p] w w L(G) 7/31 02.02.2022 Torsten Ueckerdt: Theoretische Grundlagen der Informatik Institut für Theoretische Informatik

Beweis: NPDA kontextfreie Grammatik Richtung: [q, X, p] Beschreibung: w in G = (q, w, X) (p, ε, ε) Induktion über die Länge k einer Ableitung [q, X, p] k w in G 8/31 02.02.2022 Torsten Ueckerdt: Theoretische Grundlagen der Informatik Institut für Theoretische Informatik

Beweis: NPDA kontextfreie Grammatik V := {[q, X, p] p, q Q, X Γ} {S}. [q, X, q m+1 ] a[q 1, Y 1, q 2 ][q 2, Y 2, q 3 ] [q m, Y m, q m+1 ] für alle q 2, q 3,..., q m+1 Q, mit (q 1, Y 1 Y 2 Y m ) δ (q, a, X). Induktionsanfang: Für k = 1 gilt, dass [q, X, p] w eine Regel in G ist. Wir zeigen: [q, X, p] k w in G (q, w, X) (p, ε, ε) Also ist (p, ε) δ (q, w, X) und w = 1. Also gibt es die Abarbeitung (q, w, X) 1 (p, ε, ε) in A. 9/31 02.02.2022 Torsten Ueckerdt: Theoretische Grundlagen der Informatik Institut für Theoretische Informatik

Beweis: NPDA kontextfreie Grammatik V := {[q, X, p] p, q Q, X Γ} {S}. [q, X, q m+1 ] a[q 1, Y 1, q 2 ][q 2, Y 2, q 3 ] [q m, Y m, q m+1 ] für alle q 2, q 3,..., q m+1 Q, mit (q 1, Y 1 Y 2 Y m ) δ (q, a, X). Induktionsschritt: Betrachte eine Ableitung [q, X, p] k w. Schreibe diese als [q, X, p] a[q 1, Y 1, q 2 ][q 2, Y 2, q 3 ] [q m, Y m, q m+1 ] k 1 w, wobei q m+1 = p und w = aw 1 w m, mit w i Σ, a Σ und [q j, Y j, q j+1 ] k w j mit k k 1 für alle 1 j m. Wir zeigen: [q, X, p] k w in G (q, w, X) (p, ε, ε) 9/31 02.02.2022 Torsten Ueckerdt: Theoretische Grundlagen der Informatik Institut für Theoretische Informatik

Beweis: NPDA kontextfreie Grammatik V := {[q, X, p] p, q Q, X Γ} {S}. [q, X, q m+1 ] a[q 1, Y 1, q 2 ][q 2, Y 2, q 3 ] [q m, Y m, q m+1 ] für alle q 2, q 3,..., q m+1 Q, mit (q 1, Y 1 Y 2 Y m ) δ (q, a, X). Induktionsschritt: Induktionsvoraussetzung: (q j, w j, Y j ) (q j+1, ε, ε) für alle 1 j m. Also (q j, w j, Y j Y m ) (q j+1, ε, Y j+1 Y m ) für alle 1 j m. Damit (q, w, X) (q 1, w 1 w m, Y 1 Y m ) (q 2, w 2 w m, Y 2 Y m ) (q 3, w 3 w m, Y 3 Y m ) (q m, w m, Y m ) (q m+1, ε, ε) = (p, ε, ε) Wir zeigen: [q, X, p] k w in G (q, w, X) (p, ε, ε) 9/31 02.02.2022 Torsten Ueckerdt: Theoretische Grundlagen der Informatik Institut für Theoretische Informatik

Beweis: NPDA kontextfreie Grammatik Richtung: [q, X, p] Beschreibung: w in G = (q, w, X) (p, ε, ε) Induktion über die Länge k einer Abarbeitung (q, w, X) k (p, ε, ε) 10/31 02.02.2022 Torsten Ueckerdt: Theoretische Grundlagen der Informatik Institut für Theoretische Informatik

Beweis: NPDA kontextfreie Grammatik V := {[q, X, p] p, q Q, X Γ} {S}. [q, X, q m+1 ] a[q 1, Y 1, q 2 ][q 2, Y 2, q 3 ] [q m, Y m, q m+1 ] für alle q 2, q 3,..., q m+1 Q, mit (q 1, Y 1 Y 2 Y m ) δ (q, a, X). Induktionsanfang: Für k = 1 folgt aus (q, w, X) (p, ε, ε), dass w = 1 und (p, ε) δ (q, w, X). Dann ist [q, X, p] w eine Regel von G. Wir zeigen: [q, X, p] w in G (q, w, X) k (p, ε, ε) 11/31 02.02.2022 Torsten Ueckerdt: Theoretische Grundlagen der Informatik Institut für Theoretische Informatik

Beweis: NPDA kontextfreie Grammatik V := {[q, X, p] p, q Q, X Γ} {S}. [q, X, q m+1 ] a[q 1, Y 1, q 2 ][q 2, Y 2, q 3 ] [q m, Y m, q m+1 ] für alle q 2, q 3,..., q m+1 Q, mit (q 1, Y 1 Y 2 Y m ) δ (q, a, X). Induktionsschritt: Betrachte eine Abarbeitung (q, w, X) k (p, ε, ε) Zerlege w = aw wobei a = ε, falls der erste Schritt von A ein ε-übergang ist a Σ, also der erste Buchstabe von w, sonst. Sei (q 1, w, Y 1 Y m ) die Konfiguration von A nach dem 1. Schritt. Dann gilt (q, aw, X) (q 1, w, Y 1 Y m ) k (p, ε, ε) mit k = k 1. Wir zeigen: [q, X, p] w in G (q, w, X) k (p, ε, ε) 11/31 02.02.2022 Torsten Ueckerdt: Theoretische Grundlagen der Informatik Institut für Theoretische Informatik

Beweis: NPDA kontextfreie Grammatik Sei V := {[q, X, p] p, q Q, X Γ} {S}. [q, X, q m+1 ] a[q 1, Y 1, q 2 ][q 2, Y 2, q 3 ] [q m, Y m, q m+1 ] für alle q 2, q 3,..., q m+1 Q, mit (q 1, Y 1 Y 2 Y m ) δ (q, a, X). w = w 1 w m Zerlegung von w mit w j Σ Wir zeigen: [q, X, p] w in G (q, w, X) k (p, ε, ε) so, dass A startend mit der Konfiguration (q 1, w, Y 1 Y m ) bei der betrachteten Abarbeitung gerade nach dem Lesen von w 1 w j zum ersten Mal den STACK-Inhalt Y j+1 Y m erzeugt. Sei q j+1 der zu diesem Zeitpunkt erreichte Zustand. 11/31 02.02.2022 Torsten Ueckerdt: Theoretische Grundlagen der Informatik Institut für Theoretische Informatik

Beweis: NPDA kontextfreie Grammatik V := {[q, X, p] p, q Q, X Γ} {S}. [q, X, q m+1 ] a[q 1, Y 1, q 2 ][q 2, Y 2, q 3 ] [q m, Y m, q m+1 ] für alle q 2, q 3,..., q m+1 Q, mit (q 1, Y 1 Y 2 Y m ) δ (q, a, X). Dann gilt: q m+1 = p und (q j, w j w m, Y j Y m ) k (q j+1, w j+1 w m, Y j+1 Y m ), Wir zeigen: [q, X, p] w in G (q, w, X) k (p, ε, ε) k k 1, und während der gesamten Abarbeitung liegt Y j+1 Y m ungelesen auf dem STACK. Also gilt auch (q j, w j, Y j ) k (q j+1, ε, ε). 11/31 02.02.2022 Torsten Ueckerdt: Theoretische Grundlagen der Informatik Institut für Theoretische Informatik

Beweis: NPDA kontextfreie Grammatik V := {[q, X, p] p, q Q, X Γ} {S}. [q, X, q m+1 ] a[q 1, Y 1, q 2 ][q 2, Y 2, q 3 ] [q m, Y m, q m+1 ] für alle q 2, q 3,..., q m+1 Q, mit (q 1, Y 1 Y 2 Y m ) δ (q, a, X). Also gilt auch (q j, w j, Y j ) k (q j+1, ε, ε). Nach Induktionsvoraussetzung folgt daraus, dass [q j, Y j, q j+1 ] G existiert. Damit erhalten wir, dass auch [q, X, p] a[q 1, Y 1, q 2 ][q 2, Y 2, q 3 ] [q m, Y m, q m+1 ] in G existiert. w j in aw 1 w m = w Wir zeigen: [q, X, p] w in G (q, w, X) k (p, ε, ε) 11/31 02.02.2022 Torsten Ueckerdt: Theoretische Grundlagen der Informatik Institut für Theoretische Informatik

Übersicht NPDA mit leerem STACK det. Kellerautomat (DPDA) kontextfreie Grammatik NPDA mit akzeptierenden Endzuständen Korollar. Die Klasse der von nichtdeterministischen Kellerautomaten akzeptierten Sprachen ist gleich der Klasse der kontextfreien Sprachen. 12/31 02.02.2022 Torsten Ueckerdt: Theoretische Grundlagen der Informatik Institut für Theoretische Informatik

Ein Maschinenmodell für Chomsky-2 Typ-0 semi-entscheidbar DTM / NTM akzeptiert Typ-1 kontextsensitiv NT APE(n) (offen, ob NT APE(n) = DT APE(n)) Typ-2 kontextfrei nichtdet. Kellerautomat (NPDA) Typ-3 regulär DEA / NEA Korollar. Die Klasse der von nichtdeterministischen Kellerautomaten akzeptierten Sprachen ist gleich der Klasse der kontextfreien Sprachen. 13/31 02.02.2022 Torsten Ueckerdt: Theoretische Grundlagen der Informatik Institut für Theoretische Informatik

Exkurs Wofür braucht man eigentlich Grammatiken und Berechnungsmodelle wie endliche Automaten oder Turingmaschinen? Die Chomsky-Hierarchie wurde 1956 von dem Linguisten Noam Chomsky entworfen. Ursprünglich war sie als Mittel zur Beschreibung natürlicher Sprachen gedacht (hat sich nicht erfüllt). Grammatiken und Automaten sind fundamental für die Beschreibung von Programmiersprachen. XML basiert auf sogenannten Dokumenttypdefinitionen (DTD). Diese sind kontextfreie Grammatiken. Noam Chomsky (geb. 1928, hier um 1960) 14/31 02.02.2022 Torsten Ueckerdt: Theoretische Grundlagen der Informatik Institut für Theoretische Informatik

Zwischenfazit zu kontextfreien Grammatiken Es kann in polynomialer Laufzeit entschieden werden, ob zu einer kontextfreien Grammatik G die Sprache L(G) leer bzw. endlich ist. Entfernung nutzloser Variablen (vgl. VL 15) Das Wortproblem für kontextfreie Grammatiken ist in polynomialer Laufzeit entscheidbar. Chomsky-Normalform und CYK-Algorithmus (vgl. VL 14) Für kontextfreie Grammatiken G, G 1 und G 2 sind auch die Sprachen L(G), L(G 1 ) L(G 2 ) und L(G 1 ) L(G 2 ) kontextfrei. (vgl. VL 15) Kontextfreie Sprachen sind genau die Sprachen, die von nichtdet. Kellerautomaten (NPDAs) akzeptiert werden. Tripelkonstruktion (vgl. VL 16 & heute) 15/31 02.02.2022 Torsten Ueckerdt: Theoretische Grundlagen der Informatik Institut für Theoretische Informatik

Unentscheidbare Probleme für kontextfreie Grammatiken Satz. Das Problem für kontextfreie Grammatiken G 1 und G 2 zu entscheiden, ob L(G 1 ) L(G 2 ) = ist, ist nicht entscheidbar. 16/31 02.02.2022 Torsten Ueckerdt: Theoretische Grundlagen der Informatik Institut für Theoretische Informatik

Unentscheidbare Probleme für kontextfreie Grammatiken Satz. Das Problem für kontextfreie Grammatiken G 1 und G 2 zu entscheiden, ob L(G 1 ) L(G 2 ) = ist, ist nicht entscheidbar. Beweisskizze: Wir beweisen, dass aus der Entscheidbarkeit von L(G 1 ) L(G 2 ) die Entscheidbarkeit des Post schen Korrespondenzproblems (PKP) folgt. Dies ist ein Widerspruch zur Nichtentscheidbarkeit des PKP. Wir geben für jede PKP-Instanz K kontextfreie Grammatiken G 1 und G 2 an, so dass es ein Wort w L(G 1 ) L(G 2 ) genau dann gibt, wenn es eine Lösung für K gibt. 16/31 02.02.2022 Torsten Ueckerdt: Theoretische Grundlagen der Informatik Institut für Theoretische Informatik

Das Post sche Korrespondenzproblem Post sches Korrespondenzproblem. Gegeben ist endliche Folge von Wortpaaren K = ((x 1, y 1 ),..., (x k, y k )) über einem endlichen Alphabet Σ. Es gilt x i Σ + und y i Σ +. Gefragt ist, ob es eine endliche Folge von Indizes i 1,..., i l {1,..., k} gibt, so dass x i1 x il = y i1 y il gilt. 17/31 02.02.2022 Torsten Ueckerdt: Theoretische Grundlagen der Informatik Institut für Theoretische Informatik

Beweis Gegeben sei PKP-Instanz K = ((x 1, y 1 ),..., (x k, y k )) über Alphabet Σ. Dann gilt Es sei Σ = Σ {a 1,..., a k } für neue Symbole a 1,..., a k. Es sei G 1 = (Σ, V 1 = {S 1 }, S 1, R 1 ) mit Regeln S 1 a i x i und S 1 a i S 1 x i für alle 1 i k; Es sei G 2 = (Σ, V 2 = {S 2 }, S 2, R 2 ) mit Regeln S 2 a i y i und S 2 a i S 2 y i für alle 1 i k. L(G 1 ) = {a in a i1 x i1 x in n N, 1 i j k} L(G 2 ) = {a in a i1 y i1 y in n N, 1 i j k}. 18/31 02.02.2022 Torsten Ueckerdt: Theoretische Grundlagen der Informatik Institut für Theoretische Informatik

Beweis Es folgt K = ((x 1, y 1 ),..., (x k, y k )) L(G 1 ) = {a in a i1 x i1 x in n N, 1 i j k} L(G 2 ) = {a in a i1 y i1 y in n N, 1 i j k}. K hat Lösung i 1,..., i n mit x i1 x in = y i1 y in i 1,..., i n mit a in a i1 x i1 x in = a in a i1 y i1 y in w L(G 1 ) L(G 2 ) L(G 1 ) L(G 2 ) 19/31 02.02.2022 Torsten Ueckerdt: Theoretische Grundlagen der Informatik Institut für Theoretische Informatik

Eindeutigkeit von kontextfreien Grammatiken Definition. Eine Grammatik G ist eindeutig, wenn es für jedes w L(G) genau einen Syntaxbaum gibt. Satz. Das Problem, für eine kontextfreie Grammatik G zu entscheiden, ob sie eindeutig ist, ist nicht entscheidbar. G is nicht eindeutig es gibt w L(G) mit mindestens zwei verschiedenen Syntaxbäumen 20/31 02.02.2022 Torsten Ueckerdt: Theoretische Grundlagen der Informatik Institut für Theoretische Informatik

Eindeutigkeit von kontextfreien Grammatiken Definition. Eine Grammatik G ist eindeutig, wenn es für jedes w L(G) genau einen Syntaxbaum gibt. Satz. Das Problem, für eine kontextfreie Grammatik G zu entscheiden, ob sie eindeutig ist, ist nicht entscheidbar. G is nicht eindeutig es gibt w L(G) mit mindestens zwei verschiedenen Syntaxbäumen Beweisskizze. Annahme: Es sei entscheidbar, ob eine kontextfreie Grammatik nicht eindeutig ist. Dann könnten wir das PKP entscheiden. Dies ist ein Widerspruch. 20/31 02.02.2022 Torsten Ueckerdt: Theoretische Grundlagen der Informatik Institut für Theoretische Informatik

Beweis Gegeben sei PKP-Instanz K = ((x 1, y 1 ),..., (x k, y k )) über Alphabet Σ. Seien G 1 = (Σ, V 1, S 1, R 1 ) und G 2 = (Σ, V 2, S 2, R 2 ) wie im letzten Beweis. Wir konstruieren eine neue Grammatik G = (Σ, V, S, R), die genau dann nicht eindeutig ist, wenn L(G 1 ) L(G 2 ) : V = V 1 V 2 {S} wobei S neues Startsymbol R = R 1 R 2 {S S 1 S 2 } Da G 1 und G 2 eindeutig sind, existiert w L(G 1 ) L(G 2 ) genau dann, wenn es in G Ableitungen S S 1 w und S S2 w gibt, also G mehrdeutig ist. 21/31 02.02.2022 Torsten Ueckerdt: Theoretische Grundlagen der Informatik Institut für Theoretische Informatik

Sprache der korrekten Rechenwege Sei M = (Q, Σ, Γ,, q 0, δ, F) eine TM. Eine Berechnung von M kann durch die Folge der durchlaufenen Konfigurationen α (q)β mit α, β Γ und q Q beschrieben werden. α (q)β bedeutet, dass auf dem Band das Wort αβ, umgeben von Blanksymbolen, steht, die Turingmaschine im Zustand q ist und der Lese-/Schreibkopf auf die Stelle des Bandes, an der das erste Symbol von β steht, zeigt. Wenn w 1, w 2,..., w n die Abfolge der Konfigurationen einer Berechnung von M ist, so kann dieser Rechenweg durch das Wort w 1 #w 2 # #w n #, mit # Γ Trennsymbol, kodiert werden. Hierbei sei (q) für q Q ein einziges Zeichen. 22/31 02.02.2022 Torsten Ueckerdt: Theoretische Grundlagen der Informatik Institut für Theoretische Informatik

Sprache der korrekten Rechenwege Sei M = (Q, Σ, Γ,, q 0, δ, F) eine TM. Wenn w 1, w 2,..., w n die Abfolge der Konfigurationen einer Berechnung von M ist, so kann dieser Rechenweg durch das Wort w 1 #w 2 # #w n #, mit # Γ Trennsymbol, kodiert werden. Hierbei sei (q) für q Q ein einziges Zeichen. Allerdings lässt sich die Sprache aller Wörter, die in dieser Weise die korrekten Rechenwege einer TM kodieren, nicht unbedingt durch kontextfreie Grammatiken beschreiben. Daher wird ein Trick angewendet und jede zweite Konfiguration gespiegelt kodiert. 22/31 02.02.2022 Torsten Ueckerdt: Theoretische Grundlagen der Informatik Institut für Theoretische Informatik

Sprache der korrekten Rechenwege Definition. Die Sprache B M der korrekten Rechenwege einer TM M besteht aus allen Worten wobei w 1 #w R 2 #w 3#w R 4 w R n #, falls n gerade und w 1 #w R 2 #w 3#w R 4 w n#, falls n ungerade, ist. die w i, 1 i n, Konfigurationen von M sind, w 1 eine Anfangskonfiguration, w n eine akzeptierende Konfiguration und für alle 1 i n 1 die Konfiguration w i+1 die direkte Nachfolgekonfiguration von w i bei einer korrekten Berechnung von M 23/31 02.02.2022 Torsten Ueckerdt: Theoretische Grundlagen der Informatik Institut für Theoretische Informatik

Sprache der korrekten Rechenwege Lemma. Für alle Turingmaschinen M ist B M der Durchschnitt zweier Sprachen L 1 = L(G 1 ) L 2 = L(G 2 ), wobei G 1 und G 2 kontextfreie Grammatiken sind. 24/31 02.02.2022 Torsten Ueckerdt: Theoretische Grundlagen der Informatik Institut für Theoretische Informatik

Beweis Sei M = (Q, Σ, Γ,, q 0, δ, F) eine Turing-Maschine. Wir konstruieren L 1 und L 2 aus den Sprachen L := {u#v R v ist direkte Nachfolgekonfiguration von u für M} L := {v R #u u ist direkte Nachfolgekonfiguration von v für M} E := {ε} (Γ {(q) q F } Γ {#}) Falls L und L kontextfrei sind, so sind auch L 1 := (L {#}) E L 2 := {(q 0 )} Σ {#} (L {#}) E kontextfrei. 25/31 02.02.2022 Torsten Ueckerdt: Theoretische Grundlagen der Informatik Institut für Theoretische Informatik

Beweis L := {u#v R v ist direkte Nachfolgekonfiguration von u für M} L := {v R #u u ist direkte Nachfolgekonfiguration von v für M} E := {ε} (Γ {(q) q F } Γ {#}) L 1 := (L {#}) E L 2 := {(q 0 )} Σ {#} (L {#}) E Offensichtlich haben alle Wörter aus L 1 die Form w 1 #w R 2 # w 2i 1#w R 2i # oder w 1 #w R 2 # w 2i 1#w R 2i #w 2i+1# wobei für alle 1 j i gilt w j ist Konfiguration von M w 2j ist direkte Nachfolgekonfiguration von w 2j 1 und w 2i+1 ist akzeptierende Konfiguration, falls vorhanden. 26/31 02.02.2022 Torsten Ueckerdt: Theoretische Grundlagen der Informatik Institut für Theoretische Informatik

Beweis Analog haben alle Wörter aus L 2 die Form w 1 #w R 2 # w 2i 1#w R 2i # oder w 1 #w R 2 # w R 2i 2 #w 2i 1# wobei für alle 1 j i 1 gilt w j ist Konfiguration von M, w 1 ist Anfangskonfiguration, w 2j+1 ist direkte Nachfolgekonfiguration von w 2j und w 2i ist akzeptierende Konfiguration, falls vorhanden. Dann ist B M = L 1 L 2. 27/31 02.02.2022 Torsten Ueckerdt: Theoretische Grundlagen der Informatik Institut für Theoretische Informatik

Beweis L := {u#v R v ist direkte Nachfolgekonfiguration von u für M} Wir geben nun eine kontextfreie Grammatik G für L an mit Startvariable S und zusätzlicher Variable A. G enthalte folgende Regeln: (i) alle Regeln S asa, a Γ\{ }; (ii) für alle Übergänge δ (q, a) = (q, b, R) von M die Regeln S (q)aa(q )b; (iii) für alle Übergänge δ (q, a) = (q, b, L) von M und alle x Γ {ε} die Regeln S x (q)aabx (q ); (iv) für alle Übergänge δ (q, a) = (q, b, N) von M die Regeln S (q)aab(q ); (v) für alle a Γ die Regeln A aaa; (vi) die Regel A #. 28/31 02.02.2022 Torsten Ueckerdt: Theoretische Grundlagen der Informatik Institut für Theoretische Informatik

Beweis Analog kann eine kontextfreie Grammatik G für L angegeben werden. Es ist leicht zu zeigen, dass L(G) = L und L(G ) = L ist. Damit ist die Behauptung bewiesen. 29/31 02.02.2022 Torsten Ueckerdt: Theoretische Grundlagen der Informatik Institut für Theoretische Informatik

Beweis Analog kann eine kontextfreie Grammatik G für L angegeben werden. Es ist leicht zu zeigen, dass L(G) = L und L(G ) = L ist. Damit ist die Behauptung bewiesen. Lemma. Für alle Turingmaschinen M ist B M der Durchschnitt zweier kontextfreier Sprachen. Bemerkung. Falls M in jeder Berechnung nur höchstens einen Rechenschritt ausführt, ist B M sogar selbst kontextfrei. 29/31 02.02.2022 Torsten Ueckerdt: Theoretische Grundlagen der Informatik Institut für Theoretische Informatik

Weiterhin gilt... Lemma. Für alle Turingmaschinen M ist B M der Durchschnitt zweier kontextfreier Sprachen. Bemerkung. Falls M in jeder Berechnung nur höchstens einen Rechenschritt ausführt, ist B M sogar selbst kontextfrei. Lemma. Sei M eine TM, die auf jeder Eingabe mindestens zwei Rechenschritte ausführt. Dann ist die Sprache B M genau dann kontextfrei, wenn L(M) endlich ist. Ohne Beweis. 30/31 02.02.2022 Torsten Ueckerdt: Theoretische Grundlagen der Informatik Institut für Theoretische Informatik

Zusammenfassung Chomsky-Hierarchie Testen Sie sich: Können Sie folgende Tabelle ausfüllen? Welche Ergebnisse sind aus der heutigen Vorlesung? Chomsky- Typ Regeln in der Grammatik Komplexität des Wortproblems zugehöriges Maschinenmodell Beispielsprache Typ 0 Typ 1 Typ 2 Typ 3 31/31 02.02.2022 Torsten Ueckerdt: Theoretische Grundlagen der Informatik Institut für Theoretische Informatik