Wortproblem für kontextfreie Grammatiken



Ähnliche Dokumente
Theoretische Grundlagen der Informatik

Theorie der Informatik

Grundlagen der Theoretischen Informatik

Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen 19

Kapitel 2: Formale Sprachen Kontextfreie Sprachen. reguläre Grammatiken/Sprachen. kontextfreie Grammatiken/Sprachen

Grundbegriffe der Informatik

Grundbegriffe der Informatik

Grundbegriffe der Informatik

Formale Grundlagen der Informatik 1 Kapitel 12 Zusammenfassung

Theoretische Informatik I

Programmiersprachen und Übersetzer

Grammatiken und die Chomsky-Hierarchie

Mathematische Grundlagen der Informatik 2

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel.

Grammatiken. Einführung

Grundlagen der Künstlichen Intelligenz

4.9 Deterministische Kellerautomaten Wir haben bereits definiert: Ein PDA heißt deterministisch (DPDA), falls

2.11 Kontextfreie Grammatiken und Parsebäume

Zusammenfassung. 1 Wir betrachten die folgende Signatur F = {+,,, 0, 1} sodass. 3 Wir betrachten die Gleichungen E. 4 Dann gilt E 1 + x 1

Kapitel 2: Formale Sprachen Gliederung

Grundlagen Theoretischer Informatik I SoSe 2011 in Trier. Henning Fernau Universität Trier fernau@uni-trier.de

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5)

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

Mächtigkeit von WHILE-Programmen

t r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r )

3. LINEARE GLEICHUNGSSYSTEME

Die Komplexitätsklassen P und NP

Übung Theoretische Grundlagen Nachtrag zur Vorlesung Dirk Achenbach

Absolute Stetigkeit von Maßen

7 Die Determinante einer Matrix

Formale Sprachen und Grammatiken

Division Für diesen Abschnitt setzen wir voraus, dass der Koeffizientenring ein Körper ist. Betrachte das Schema

Rekursionen. Georg Anegg 25. November Methoden und Techniken an Beispielen erklärt

TheGI 1: Grundlagen und algebraische Strukturen Prof. Dr.-Ing. Uwe Nestmann Februar Schriftliche Leistungskontrolle (EK)

Logische Folgerung. Definition 2.11

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)

Teil III: Routing - Inhalt I. Literatur. Geometric Routing. Voraussetzungen. Unit Disk Graph (UDG) Geometric Routing 29

Grundlagen der Informatik II. Teil I: Formale Modelle der Informatik

Formale Sprachen. Der Unterschied zwischen Grammatiken und Sprachen. Rudolf Freund, Marian Kogler

Erfüllbarkeit und Allgemeingültigkeit

Übung Theoretische Grundlagen

Komplexität und Komplexitätsklassen

Basis und Dimension. Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren.

Musterlösungen zur Linearen Algebra II Blatt 5

Zusammenfassung Grundzüge der Informatik 4

Erinnerung/Zusammenfassung zu Abbildungsmatrizen

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

7 Rechnen mit Polynomen

Sprachen/Grammatiken eine Wiederholung

Satz. Für jede Herbrand-Struktur A für F und alle t D(F ) gilt offensichtlich

Reguläre Sprachen Endliche Automaten

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

Definition:Eine meromorphe Modulform vom Gewicht k Z ist eine meromorphe. f : H C. (ii) C > 0, so daß f(z) im Bereich Im z > C keine Singularität hat.

Informatik IC2. Balazs Simon

16. All Pairs Shortest Path (ASPS)

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

3.3 Eigenwerte und Eigenräume, Diagonalisierung

WS 2008/09. Diskrete Strukturen

Logik für Informatiker

Zusammenfassung. Satz. 1 Seien F, G Boolesche Ausdrücke (in den Variablen x 1,..., x n ) 2 Seien f : B n B, g : B n B ihre Booleschen Funktionen

Theoretische Grundlagen des Software Engineering

Algorithmen II Vorlesung am

Welche Lagen können zwei Geraden (im Raum) zueinander haben? Welche Lagen kann eine Gerade bezüglich einer Ebene im Raum einnehmen?

Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen

Grundlagen der Theoretischen Informatik

Entscheidungsprobleme. Berechenbarkeit und Komplexität Entscheidbarkeit und Unentscheidbarkeit. Die Entscheidbarkeit von Problemen

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

3. Ziel der Vorlesung

0, v 6 = , v 4 = span(v 1, v 5, v 6 ) = span(v 1, v 2, v 3, v 4, v 5, v 6 ) 4. span(v 1, v 2, v 4 ) = span(v 2, v 3, v 5, v 6 )

Theoretische Informatik SS 04 Übung 1

Formale Methoden II. Gerhard Jäger. SS 2008 Universität Bielefeld. Teil 8, 11. Juni Formale Methoden II p.1/30

Schranken für zulässige Lösungen

Theoretische Informatik I

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren:

Übungen zum Ferienkurs Lineare Algebra WS 14/15

WS 2009/10. Diskrete Strukturen

Lineare Gleichungssysteme

Professionelle Seminare im Bereich MS-Office

Theoretische Grundlagen der Informatik WS 09/10

Vorlesung Theoretische Informatik

Deterministische Turing-Maschinen (DTM) F3 03/04 p.46/395

Eine Logikschaltung zur Addition zweier Zahlen

Die Klassen P und NP. Dr. Eva Richter. 29. Juni 2012

Primzahlen und RSA-Verschlüsselung

Numerische Verfahren und Grundlagen der Analysis

Optimierung. Optimierung. Vorlesung 7 Lineare Programmierung II Thomas Brox, Fabian Kuhn

Kapitel 5: Dynamisches Programmieren Gliederung

Informationsblatt Induktionsbeweis

Grundbegriffe der Informatik

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis

Programmierkurs Java

Planen mit mathematischen Modellen 00844: Computergestützte Optimierung. Autor: Dr. Heinz Peter Reidmacher

Informatik IV Theoretische Informatik: Formale Sprachen und Automaten, Berechenbarkeit und NP-Vollständigkeit

Satz 90 Sei A = (Q, Σ, δ, q 0, F ) ein DFA. Der Zeitaufwand des obigen Minimalisierungsalgorithmus ist O( Q 2 Σ ).

Anmerkungen zur Übergangsprüfung

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume?

9.2. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83

Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können.

3. Grundlagen der Linearen Programmierung

Transkript:

Wortproblem für kontextfreie Grammatiken G kontextfreie Grammatik. w Σ w L(G)? Wortproblem ist primitiv rekursiv entscheidbar. (schlechte obere Schranke!) Kellerautomat der L(G) akzeptiert Ist dieser effizient? Problem: keine Endeutigkeit (mehrere Strukturbäume) Kellerautomat ist nicht-deterministisch. Falls deterministischer Kellerautomat möglich, so effizienter. Beachte Beispiele: Boolesche Formeln über Signatur (PL-Formeln) Terme über Signatur Formeln über Signatur While Programme über Signatur Mehrere Regeln mit gleicher linken Seite! 7.4 Kontextfreie Sprachen - Typ2-Sprachen 264

Verallgemeinerung der deterministischen Kellerautomaten Mit Vorausschau n N, falls in Abhängigkeit vom Kellerinhalt und den n-nächsten Eingabezeichen eindeutig die Möglichkeit besteht, die einzig richtige, als nächstes anzuwendende Produktion zu finden. 1-Vorausschau {a n b n : n 1} Schlagwort LR(k)-LL(k) Analyse. 7.45 Definition Normalformen für kontext-freie Grammatiken Sei G eine kontext-freie Grammatik, G ist in Chomsky-Normalform: Produktionen der Form A BC oder A a A, B, C N, a T Greibach-Normalform: Produktionen der Form A aα A N, a T, α N 7.46 Satz Zu jeder kontextfreien Grammatik G mit ε L(G) gibt es eine kontextfreie Grammatik G in Chomsky-Normalform, mit L(G) = L(G ). Die Transformation G G ist effektiv. 7.4 Kontextfreie Sprachen - Typ2-Sprachen 265

Beweisidee Beweisidee: G = (N, T, Π, Z) kontextfrei. 1. Schritt: ε-frei: Da ε L(G), gibt es eine äquivalente Grammatik G, die keine Produktionen der Form A ε enthält. 2. Schritt: Normierte Terminierung: Zu G = (N, T, Π, Z) gibt es eine äquivalente Grammatik G = (Ñ, T, Π, Z), die nur Produktionen A a mit a T und A α mit α Ñ enthält. Sei Ñ = N {A a : a T }. Π entsteht aus Π indem jedes a T in Π durch A a ersetzt wird, vereinigt mit {A a a : a T } Platzhalter. 3. Schritt: Keine Kettenproduktionen: Zu einer Grammatik G = (N, T, Π, Z) gibt es eine äquivalente Grammatik G = (N, T, Π, Z), die keine Produktionen der Form A B mit A, B N enthält (siehe NEA). Sei M = {(A, B) N 2 : A B} G (lässt sich berechnen: Entferne Zyklen (A, B), (B, A) M. Beginne mit (A, A).) Π = Π\{A B : A, B N} vereinigt mit Produktionen A r, r > 1, die aus Produktionen A r Π durch Ersetzen mancher B in r durch C mit (B, C) M entstehen, vereinigt mit A a für alle (A, A a ) M. 7.4 Kontextfreie Sprachen - Typ2-Sprachen 266

Beweisidee (Forts.) 4. Schritt: Chomsky-Normalform: Produktionen der Form A B 1... B n, n > 2 ersetzen: Dazu A B 1 H 1, H 1 B 2 H 2,, H n 3 B n 2 H n 2, H n 2 B n 1 B n mit neuen Nichterminalsymbolen H 1,..., H n 2. Falls ε L(G), so ist (N {Z }, T, Π {Z Z, Z ε}, Z ), wobei (N, T, Π, Z) in Chomsky-Normalform. 7.47 Beispiel Sei G = ({Z, A, B}, {a, b}, Π, Z) Π : Z ba Z ab A a B b A az B bz A baa B abb 1. Schritt: ε-frei: ok. 2. Schritt: Z A b A A a B A a, B b, A a a, A b b A A a Z B A b Z A A b AA B A a BB 3. Schritt: Keine Kettenproduktionen: ok. 7.4 Kontextfreie Sprachen - Typ2-Sprachen 267

Wortproblemalgorithmen für k.f. Sprachen 4. Schritt: Letzte Zeile oben: A A b C 1, C 1 AA B A a D 1, D 1 BB Auswirkungen auf Strukturbaum? (binär) Pumping Lemma Konstante: 2 N + 1. x L(G) x ist in höchstens 2 x + 1 Schritten in G ableitbar (exponentieller Aufwand für Entscheidung x L(G)). 7.5 Algorithmus von Cocke-Kasami-Younger 7.48 Satz Sei G in Chomsky-Normalform. Dann gibt es einen Algorithmus der das Wortproblem für G mit Laufzeit O(n 3 ) entscheidet. w L(G) w = n Laufzeit O(n 3 ) Beweis: Sei w = a 1... a n, L ij (w) = {A N : A G a i... a j } (i j) Es gilt w L(G) gdw Z L 1n (w). Wie berechnet man aus w die L ij. Dynamisches Programmieren. Induktiv über j i Berechnung von L ij : j i = 0 : L jj = {A : A a j Π} (da Chomsky-Normalform) 7.5 Algorithmus von Cocke-Kasami-Younger 268

Algorithmus von Cocke-Kasami-Younger j i > 0: Berechne L ij aus L ik 1 und L kj für ein k mit i < k j, wobei A L ij, falls A BC Π, B L ik 1, C L kj. In jedem Schritt müssen maximal 2n Mengen betrachtet werden und es gibt weniger als n 2 Mengen L ij, daher kann die Laufzeit durch cn 3 beschränkt werden, wobei c eine Konstante ist, die von der Grammatik G abhängt. Verwaltung mithilfe einer Erkennungs-Matrix j i i 1 2... n 0 {} {} {} 1 {}... {} 2... n 1 {} Beispiel: Z CB F A F B A CZ F D a B F Z CE b D AA, E BB, C a, F b w = aababb, w = 6 7.5 Algorithmus von Cocke-Kasami-Younger 269

Teilw. j i i = 1 2 3 4 5 6 Länge 1 0 A, C A, C B, F A, C B, F B, F (n Einträge) 2 1 D Z Z Z E, Z (n 1 Eintr.) Kosten 1 3 2 A A B A, B (n 1 Eintr.) Kosten 2 4 3 D Z Z, E. 5 4 A A, B. 6 5 D, Z 1-Eintrag nx Kosten n 1 n + (n i + 1)(i 1) = n3 + 5 6 i=2 Auf Mehrband TM mit Zeit n 3 realisierbar. Siehe z. B. Hopcroft/Ullman Automaten + formale Sprachen. Viele Verbesserungen: Mit Einschränkungen oft O(n) möglich! (Vorausschau 1 Det.). 7.5 Algorithmus von Cocke-Kasami-Younger 270

7.6 Unentscheidbare Probleme für kontextfreie Grammatiken Unentscheidbare Probleme für allgemeine Grammatiken Wortproblem L(G) = L(G) = Σ L(G) endlich L(G 1 ) = L(G 2 ) ε L(G)? Für rechts-lineare-grammatiken alle entscheidbar. Für kontexfreie Grammatiken? Wortproblem, L(G) endlich?, L(G) =?, ε L(G)? entscheidbar. 7.49 Satz Sind G 1, G 2 kontextfreie Grammatiken. Es ist unentscheidbar, ob die zugehörigen Sprachen disjunkt sind. Folgendes Problem ist nicht rekursiv entscheidbar: Eingabe: kontextfreie Grammatiken G 1, G 2. Frage: L(G 1 ) L(G 2 )? 7.6 Unentscheidbare Probleme für kontextfreie Grammatiken 271

Unentscheidbare Probleme für kontextfreie Grammatiken (Forts.) Beweis: Reduktion des PCP auf dieses Problem. Sei L = (u 1 v 1,..., u k v k ), u i, v i Γ +, k 1. Sei J = {1,..., k}, J Γ =. Definiere Grammatiken G j = (N j, T, Π j, Z j ), j = 1, 2. T = Γ J, N j = {Z j } Π 1 = {Z 1 u i Z 1 i u i i : i = 1,..., k} 2k-Regeln Π 2 = {Z 2 v i Z 2 i v i i : i = 1,..., k} 2k-Regeln L(G 1 ) L(G 2 ) gdw x Σ x L(G 1 ) L(G 2 ) gdw t 1, t 2 J x = U(t 1 )t mi 1 = V (t 2 )t mi 2 gdw t J + x = U(t)t mi = V (t)t mi gdw t J + U(t) = V (t) gdw P CP (L) Beachte: Die Konstruktion liefert einfache k.f. Grammatiken G 1 und G 2 : Sie sind linear (A ubv Regeln) und eindeutig: nur eine Linksableitung möglich! 7.6 Unentscheidbare Probleme für kontextfreie Grammatiken 272

Folgerungen Es gibt kein effektives Verfahren, um für zwei kontextfreie Grammatiken G 1, G 2 eine kontextfreie Grammatik G zu bestimmen mit L(G) = L(G 1 ) L(G 2 ). (Begründung: L(G) ist für kontextfreie Grammatiken entscheidbar). Man kann jedoch eine kontextsensitive Grammatik berechnen mit L(G) = L(G 1 ) L(G 2 ), d. h. L(G) ist nicht entscheidbar für kontextsensitive Grammatiken. 7.50 Satz Das Mehrdeutigkeitsproblem für kontextfreie Grammatiken ist unentscheidbar. Eingabe: G kontextfreie Grammatik. Frage: Ist G mehrdeutig? Beweis: PCP auf Mehrdeutigkeitsproblem reduzieren: Seien G 1 und G 2 die kontextfreien Grammatiken wie oben zu PCP L konstruiert. G L := ({Z, Z 1, Z 2 }, Γ J, Π 1 Π 2 {Z Z 1, Z Z 2 }, Z) L G L effektiv. L(G L ) = L(G 1 ) L(G 2 ) G 1, G 2 sind eindeutig. G L ist mehrdeutig gdw L(G 1 ) L(G 2 ) gdw P CP (L) 7.6 Unentscheidbare Probleme für kontextfreie Grammatiken 273

Weitere unentscheidbare Probleme für kontextfreie Grammatiken 7.51 Satz Folgende Probleme für kontextfreie Grammatiken sind nicht entscheidbar. 1) P 1 (G) gdw L(G) = Σ (G über Σ = T ) 2) P 2 (G) gdw L(G) ist rechts-linear 3) P 3 (G) gdw L(G) ist kontextfrei (rechts-linear, unendlich) 4) P 4 (G) gdw L(G 1 ) = L(G 2 ) (beide über T ) 5) P 5 (G) gdw L(G 1 ) L(G 2 ) 6) P 6 (G 1, G 2 ) gdw L(G 1 ) L(G 2 ) ist kontextfrei 7) P 7 (G 1, G 2 ) gdw L(G 1 ) L(G 2 ) unendlich 8) P 8 (G 1, G 2 ) gdw L(G 1 ) L(G 2 ) RL-Sprache L endl L 3 L det-kf L 2 L 1 L prim-rek L entsch. L 0 = L rek-aufzb. 7.6 Unentscheidbare Probleme für kontextfreie Grammatiken 274

Kontextsensitive Grammatiken und Sprachen Erinnerung: Die Sprache {a n b n c n : n N} ist eine Typ-1 Sprache: Grammatik ({Z, A, B, H, C}, {a, b, c}, Π, Z) mit Produktionen Π = {Z ε Ac, A ab aacb, CB CH, CH BH, BH BC, B b, Cc cc}. Sie ist nicht kontexfrei. Das Wortproblem für k.s. Grammatiken ist entscheidbar. Man muss nur Ableitungen bis zur Länge ( N + T + 1) x + 1 durchsuchen (ansonsten enthält die Ableitung zwei identische Wörter mit Länge x ). Ein linear beschränkter Automat (LBA) ist eine (nichtdeterministische) Turing-Maschine, deren Lese-/Schreibkopf den Bereich, auf dem beim Start die Eingabe steht, nicht verlassen darf. Die Typ-1-Sprachen sind genau die Sprachen, die sich mit einem LBA akzeptieren lassen. Solche Automaten lassen sich auch durch Produktionen Charakterisieren. Sie haben die Gestalt: qa q a q, q Q, a, a N T qa aq q, q Q, a, a N T bqa q ba q, q Q, a, a N T letztere für alle b N T falls keine andere diese linke Seite hat. 7.6 Unentscheidbare Probleme für kontextfreie Grammatiken 275

Kontextsensitive Grammatiken und Sprachen (Fort.) Es gibt weitere Charakterisierungen der k.s. Sprachen durch spezielle Grammatiken. Eine Grammatik G = (N, T, Π, Z) heißt erweiternd, falls Π nur Produktionen der Form l r mit l ε und r l enthält. Es gilt: Zu jeder erweiternden Grammatik gibt eine äquivalente k.s. Grammatik. 7.6 Unentscheidbare Probleme für kontextfreie Grammatiken 276