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

Ähnliche Dokumente
Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik

Klammersprache Definiere

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

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

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

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

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

Theoretische Grundlagen der Informatik

Automatentheorie und formale Sprachen

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

Kontextfreie (Typ-2) Sprachen

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

Theoretische Grundlagen der Informatik

Kapitel 2: Formale Sprachen Gliederung

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

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

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik

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

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

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

Informatik III - WS07/08

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

Chomsky-Grammatiken 16. Chomsky-Grammatiken

Definition der Greibach-Normalform

Automaten und formale Sprachen Notizen zu den Folien

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

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

Vorlesung Automaten und Formale Sprachen Sommersemester Beispielsprachen. Sprachen

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

Musterlösung Informatik-III-Nachklausur

Grundlagen der Theoretischen Informatik

Automaten und formale Sprachen Notizen zu den Folien

Das Halteproblem für Turingmaschinen

2.1 Allgemeines. Was ist eine Sprache? Beispiele:

Kontextfreie Sprachen

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

Grundlagen der Theoretischen Informatik

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)

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

Grundlagen der Theoretischen Informatik

Theorie der Informatik. Theorie der Informatik. 6.1 Einführung. 6.2 Alphabete und formale Sprachen. 6.3 Grammatiken. 6.4 Chomsky-Hierarchie

Definition 4 (Operationen auf Sprachen) Beispiel 5. Seien A, B Σ zwei (formale) Sprachen. Konkatenation: AB = {uv ; u A, v B} A + = n 1 An

Kontextfreie Sprachen

Ogden s Lemma (T6.4.2)

Theoretische Grundlagen der Informatik

(Prüfungs-)Aufgaben zu formale Sprachen

Grundlagen der Theoretischen Informatik

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

Beschreibungskomplexität von Grammatiken Definitionen

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

DisMod-Repetitorium Tag 4

I.5. Kontextfreie Sprachen

Vorlesung Theoretische Informatik (Info III)

Grundbegriffe. Grammatiken

4.2 Die Chomsky Normalform

Hallo Welt für Fortgeschrittene

Ein Fragment von Pascal

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

Rekursiv aufzählbare Sprachen

Theoretische Informatik

2.1 Grundlagen: Kontextfreie Grammatiken

2. Teilklausur zur Vorlesung Grundlagen der Theoretischen Informatik

Formale Sprachen. Script, Kapitel 4. Grammatiken

Einführung in die Computerlinguistik Chart-Parsing

Mehrdeutige Grammatiken

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

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

1 Automatentheorie und Formale Sprachen

Automaten und formale Sprachen Klausurvorbereitung

Grundlagen der Theoretischen Informatik

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

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

Maike Buchin 18. Februar 2016 Stef Sijben. Probeklausur. Theoretische Informatik. Bearbeitungszeit: 3 Stunden

Einführung in die theoretische Informatik Sommersemester 2017 Übungsblatt Lösungsskizze 7

Die Chomsky Hierarchie

Kapitel 2: Formale Sprachen Gliederung. 0. Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie

Nachklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012

Schnitt- und Äquivalenzproblem

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

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

Kapitel IV Formale Sprachen und Grammatiken

Theoretische Informatik Mitschrift

Tutoraufgabe 1 (ɛ-produktionen):

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

Formale Sprachen Jörg Roth Formale Sprachen

Einführung in die Computerlinguistik

Grundlagen der Informatik II

Übungsblatt Nr. 3. Lösungsvorschlag

Grundlagen der Theoretischen Informatik

2. Klausur zur Vorlesung Informatik III Wintersemester 2004/2005

Algorithmen und Datenstrukturen (EI)

Mehrdeutige Grammatiken

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

Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Reguläre Ausdrücke als Suchmuster für grep

Transkript:

Theoretische Grundlagen der Informatik 0 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu

Letzte Vorlesung Eine Grammatik ist G = (Σ, V, S, R) mit Alphabet Σ aller Terminale, Menge V aller Variablen / Nichtterminale, Startvariable S aus V, Menge R aller Regeln / Ableitungen, wobei eine Ableitung ein Tupel (l, r) aus Wörtern in (Σ V ) ist. Wir schreiben auch l r für die Regel (l, r) und entsprechend S w falls w aus S abgeleitet werden kann. Die erzeugte Sprache ist L(G) = {w Σ S w}. Eine Grammatik ist kontextfrei oder Chomsky Typ-2, wenn alle Regeln die folgende Form haben: A v mit A V und v (Σ V ) 1 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik

Letzte Vorlesung Beispiel Grammatik G = (Σ, V, S, R) mit V = {S, A, B} Σ = {0, 1} R = {S 0B 1A, A 0 0S 1AA, B 1 1S 0BB} erzeugt die Sprache L = L(G) {0, 1} + aller Wörter mit genauso vielen Einsen wie Nullen. Zum Beispiel ist 110010 L(G), wegen der Ableitung S 1A 11AA 11A0 110S0 1100B0 110010. 2 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik

Heute Syntaxbäume Eindeutigkeit Chomsky-Normalform CYK-Algorithmus 3 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik

Syntaxbäume Eine Grammatik ist kontextfrei oder Chomsky Typ-2, wenn alle Regeln die folgende Form haben: A v mit A V und v (Σ V ) Syntaxbäume visualisieren die Ableitung eines einzelnen Wortes in einer kontextfreien Grammatik. An der Wurzel eines Syntaxbaumes steht das Startsymbol. Jeder innere Knoten enthält eine Variable. Die Blätter sind Symbole aus Σ oder ε. Wenn ein innerer Knoten A als Nachfolger von links nach rechts α 1,..., α r V Σ hat, so muss A α 1... α r eine Ableitungsregel der Grammatik sein. 4 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik

Syntaxbäume Beispiel Zu den Regeln R = {S 0B 1A, A 0 0S 1AA, B 1 1S 0BB} betrachte die Ableitung S 1A 11AA 11A0 110S0 1100B0 110010. S 1 A 1 A A 0 S 0 0 B 1 5 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik

Syntaxbäume Beispiel S 1 A 1 A A 0 S 0 0 B 1 Zu jeder Ableitung gehört genau ein Syntaxbaum. Zu einem Syntaxbaum können jedoch verschiedene Ableitungen des gleichen Wortes gehören. 5 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik

Syntaxbäume Beispiel R = {S 0B 1A, A 0 0S 1AA, B 1 1S 0BB} S 1A 11AA 110SA 1100BA 11001A 110010 S 1A 11AA 11A0 110S0 1100B0 110010 S 1 A 1 A A 0 S 0 0 B 1 5 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik

Links/Rechtsableitung, Eindeutigkeit Für Chomsky-2 Grammatiken gilt: Wegen der Kontextfreiheit ist die Reihenfolge, in der abgeleitet wird, für das Ergebnis unerheblich. Eine Linksableitung (Rechtsableitung) ist eine Ableitung, bei der in jedem Schritt die linkeste (rechteste) Variable abgeleitet wird. Eine kontextfreie Grammatik G heißt eindeutig, wenn es für jedes Wort w L(G) genau einen Syntaxbaum gibt. Eine kontextfreie Sprache L heißt eindeutig, wenn es eine eindeutige Grammatik G mit L(G) = L gibt. Ansonsten heißt L inhärent mehrdeutig. 6 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik

Beispiel Die Sprache erzeugt durch die Grammatik ist eindeutig. L = {0 n 1 n n 1} V = {S} Σ = {0, 1} R = {S 01 0S1} 7 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik

Beispiel Die Sprache gegeben durch die Regeln R = {S 0B 1A, A 0 0S 1AA, B 1 1S 0BB} ist nicht eindeutig. (a) S (b) S 1 A 1 A 1 A A 1 A A 0 S 0 0 0 S 0 B 1 A 1 0 8 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik

Heute Syntaxbäume Eindeutigkeit Chomsky-Normalform CYK-Algorithmus 9 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik

Chomsky-Normalform Eine Grammatik ist kontextfrei oder Chomsky Typ-2, wenn alle Regeln die folgende Form haben: A v mit A V und v (Σ V ) Eine kontextfreie Grammatik ist in Chomsky-Normalform, wenn alle Regeln von der Form: sind, mit A, B, C V und a Σ. A BC oder A a 10 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik

Chomsky-Normalform Eine kontextfreie Grammatik ist in Chomsky-Normalform, wenn alle Regeln von der Form: sind, mit A, B, C V und a Σ. A BC oder A a Grammatiken in Chomsky-Normalform können also nicht das Wort ε erzeugen. Für kontextfreie Sprachen, die ε enthalten, lässt sich eine Grammatik in Chomsky-Normalform leicht erweitern durch die Regeln S ε und S S, wobei S ein neues Startsymbol zur Erzeugung von ε ist. 10 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik

Chomsky-Normalform Satz: Jede kontextfreie Grammatik kann in eine Grammatik in erweiterter Chomsky-Normalform überführt werden. Eine Grammatik in erweiterter Chomsky-Normalform ist eine Grammatik in Chomsky-Normalform mit den zusätzlichen Regeln S ε und S S. Beweis (konstruktiv): Wir geben eine Schritt für Schritt Überführung der Regeln einer beliebigen kontextfreien Grammatik in Regeln in Normalform an. Großbuchstaben repräsentieren immer Variablen / Nichtterminale. Kleinbuchstaben repräsentieren immer Terminale. 11 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik

Chomsky-Normalform Wir veranschaulichen den Beweis an folgendem Beispiel: Grammatik G = (Σ, V, S, R) mit und der folgenden Regelmenge R: Σ = {a, b} V = {A, B, C, D, E, S} S A aaa bbb ε A C a B b C AF CDE ε D A B ab E B F D E 12 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik

Schritt 1 Ziel: Alle Regeln enthalten auf der rechten Seite nur Symbole aus V oder nur ein Symbol aus Σ. Vorgehen: Ersetze dazu in allen rechten Seiten von Regeln Symbole a Σ durch neue Variablen Y a und füge die Regeln Y a a hinzu. 13 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik

Schritt 1 Ziel: Alle Regeln enthalten auf der rechten Seite nur Symbole aus V oder nur ein Symbol aus Σ. Vorgehen: Ersetze dazu in allen rechten Seiten von Regeln Symbole a Σ durch neue Variablen Y a und füge die Regeln Y a a hinzu. S A aaa bbb ε A C a B b C AF CDE ε D A B ab E B F D E 13 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik S A Y a AY a Y b BY b ε A C a B b C AF CDE ε D A B Y a Y b E B F D E Y a a Y b b

Schritt 2 Ziel: Alle rechten Seiten haben Länge 2. Vorgehen: Sei A B 1... B m Regel mit m > 2. Führe m 2 neue Variablen C 1,..., C m 2 ein, und ersetze die Regel durch neue Regeln A B 1... B m A B 1 C 1 C i B i+1 C i+1 für 1 i m 3 C m 2 B m 1 B m 14 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik

Schritt 2 Ziel: Alle rechten Seiten haben Länge 2. S A Y a AY a Y b BY b ε A C a B b C AF CDE ε S A Y a C 1 Y b C 2 ε A C a B b C AF CC 3 ε D A B Y a Y b E B F D E Y a a Y b b D A B Y a Y b E B F D E C 1 AY a C 2 BY b C 3 DE Y a a Y b b 15 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik

Schritt 3 Ziel: Es kommen keine Regeln A ε vor. Vorgehen, Phase 1: Finde die Menge V aller Variablen A für die A ε existiert: Es werden erst alle A mit A ε in V aufgenommen. Dann wird geprüft, ob neue Regeln B ε entstehen, wenn man A in allen Regeln auf der rechten Seite A durch ε ersetzt. Ist dies der Fall, so werden die entsprechenden Variablen B in V aufgenommen und genauso behandelt. Das Verfahren hört auf, wenn V sich nicht mehr ändert. 16 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik

Schritt 3 Ziel: Es kommen keine Regeln A ε vor. Vorgehen, Phase 1: Finde die Menge V aller Variablen A für die A ε existiert: Bemerkung: In Phase 1 werden noch keine Regeln geändert. Die Ersetzung ist also nur testweise. Am Ende enthält V alle Variablen A mit A ε. 16 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik

Schritt 3 Ziel: Es kommen keine Regeln A ε vor. Vorgehen, Phase 2: Ersetzung. Gegeben V aus Phase 1. Streiche alle Regeln A ε. Für A BC füge die zusätzliche Regel ein. A B falls C V, A C falls B V (Die Regel A BC wird nicht gestrichen). 16 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik

Schritt 3 Initialisierung V = {A A ε} = {S, C} Erster Durchlauf liefert: A V = {A, C, S} Zweiter Durchlauf liefert: D V = {A, C, D, S} Dritter Durchlauf liefert: F V = {A, C, D, F, S} Vierter Durchlauf liefert nichts neues. S A Y a C 1 Y b C 2 ε A C a B b C AF CC 3 ε D A B Y a Y b E B F D E C 1 AY a C 2 BY b C 3 DE Y a a Y b b 17 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik

Schritt 3 Streiche ε-produktionen Simuliere Ableitungen A ε auf den verbleibenden Regeln V = {A, C, D, F, S} S A Y a C 1 Y b C 2 A C a B b C AF F A CC 3 C 3 D A B Y a Y b E B F D E C 1 AY a Y a C 2 BY b C 3 DE E Y a a Y b b 18 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik

Schritt 4 Ziel Die Grammatik enthält keine (Ketten-)Regeln der Form A B. Beispiel A B C B C C c 19 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik

Schritt 4 Ziel Die Grammatik enthält keine (Ketten-)Regeln der Form A B. Vorgehen Phase 1: Finde alle Kreise A 1 A 2... A n A 1. Phase 1: Ersetze alle A i durch A 1. Phase 2: Betrachte die Regeln der Form A B in umgekehrt Phase 2: topologischer Reihenfolge. Für jede Regel A B und jede Regel B β füge Regel A β hinzu. Lösche Regel A B. 19 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik

Schritt 4 Topologische Sortierung der Regelmenge V 1,..., V k Menge von Variablen aus Kettenregeln V 1,..., V k topologisch sortiert, wenn gilt: V i Vj i < j Voraussetzung: Es gibt keine zyklischen Abhängigkeiten 20 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik

Abhängigkeitsgraph S A C 1 Y a S A Y a C 1 Y b C 2 A C a B b C AF F A CC 3 C 3 C F E B C 3 D D A B Y a Y b E B F D E C 1 AY a Y a C 2 BY b C 3 DE E Y a a Y b b 21 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik

Schritt 4 Phase 1 S C 1 Zyklen A C und A C F D A A C F C 3 Y a A, C, F, D äquivalent Entferne an Zyklen beteiligte Regeln Ersetze Vorkommen von C, F, D in allen Regeln durch A Lösche Regeln der Form A A E D B 22 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik

Schritt 4 Phase 1 Zyklus: A C F D A S A Y a C 1 Y b C 2 A C a B b C AF F A CC 3 C 3 D A B Y a Y b E B F D E C 1 AY a Y a C 2 BY b C 3 DE E Y a a Y b b S A Y a C 1 Y b C 2 A a B b A AA AC 3 C 3 A B Y a Y b E B A E C 1 AY a Y a C 2 BY b C 3 AE E Y a a Y b b 23 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik

Schritt 4 Phase 2 S A E B C 3 C 1 Y a S A Y a C 1 Y b C 2 A a AA AC 3 C 3 B Y a Y b E B b E B C 1 AY a Y a C 2 BY b C 3 AE E Y a a Y b b Topologische Sortierung: S, A, C 3, E, B, C 1, Y a 24 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik

Schritt 4 Phase 2 Gehe in umgekehrter topologischer Sortierung vor. Ersetze A B durch A β, falls Regel B β existiert. Topologische Sortierung: S, A, C 3, E, B, C 1, Y a S A Y a C 1 Y b C 2 S Y a C 1 Y b C 2 a AA A a AA AC 3 C 3 B b E B B Y a Y b E C 1 AY a Y a C 2 BY b C 3 AE E Y a a Y b b AC 3 AE b Y a Y b A a AA AC 3 AE b Y a Y b B b E b C 1 AY a a C 2 BY b C 3 AE b Y a a Y b b 25 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik

Schritt 4 Phase 2 Gehe in umgekehrter topologischer Sortierung vor. Ersetze A B durch A β, falls Regel B β existiert. Testen Sie sich: Warum gehen wir in dieser Reihenfolge vor? 25 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik

Sonderbehandlung von ε-produktionen Grammatik ist nun in Chomsky-Normalform, aber G enthält Ableitungsfolge S ε (haben wir entfernt). Erweitere Grammatik um Regeln S S und S ε für neues Startsymbol S. 26 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik

Heute Syntaxbäume Eindeutigkeit Chomsky-Normalform CYK-Algorithmus 27 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik

Der CYK-Algorithmus Satz: Es gibt einen Algorithmus (den Cocke-Younger-Kasami Algorithmus), der für eine kontextfreie Grammatik G in Chomsky-Normalform und ein Wort w Σ in Zeit O( R n 3 ) entscheidet, ob w L(G), wobei n = w und R die Anzahl der Regeln von G ist. 28 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik

Beweis Beschreibung des CYK-Algorithmus Sei w = w 1... w n. Sei V ij V so dass A V ij genau dann, wenn A w i... w j. Für alle 1 i j n berechne die Menge V ij V. Dann ist w L(G) genau dann, wenn S V 1n ist. Die Tabelle der V ij wird nach wachsendem l := j i aufgebaut, beginnend mit l = 0. Für j i = l > 0 wird die Berechnung von V ij systematisch auf zuvor berechnete V ik, V k+1 j mit i k < j zurückgeführt. Bemerkung Wir benutzen dynamische Programmierung. 29 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik

CYK-Algorithmus Beispiel w = 1 (01) S SY SC 1 SS Y ( C 2 C 1 Y S C 2 SY ) Y Y Y ( ( Y ) ) e 0 1 V ii+7 V 18 V ii+6 V ii+5 V ii+4 V ii+3 V ii+2 V ii+1 V ii V 17 V 28 V 16 V 27 V 38 V 15 V 26 V 37 V 48 V 14 V 25 V 36 V 47 V 58 V 13 V 24 V 35 V 46 V 57 V 68 V 12 V 23 V 34 V 45 V 56 V 67 V 78 V 11 V 22 V 33 V 44 V 55 V 66 V 77 V 88 1 ( 0 1 ) i 1 2 3 4 5 6 7 8 30 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik

CYK-Algorithmus Beispiel w = 1 (01) S SY SC 1 SS Y ( C 2 C 1 Y S C 2 SY ) Y Y Y ( ( Y ) ) e 0 1 V ii+7 V 18 V ii+6 V ii+5 V ii+4 V ii+3 V ii+2 V ii+1 V ii V 17 V 28 V 16 V 27 V 38 V 15 V 26 V 37 V 48 V 14 V 25 V 36 V 47 V 58 V 13 V 24 V 35 V 46 V 57 V 68 V 12 V 23 V 34 V 45 V 56 V 67 V 78 V 11 V 22 V 33 V 44 V 55 V 66 V 77 V 88 1 ( 0 1 ) i 1 2 3 4 5 6 7 8 30 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik

CYK-Algorithmus Vorgehen Fall l = 0: Konstruiere die Mengen V ii, d.h. alle A V mit A w i. Da G in Chomsky-Normalform ist, gilt A w i nur, wenn (A w i ) R. Die Berechnung von V ii ist für alle i {1,... n} in O( R ) möglich. 31 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik

CYK-Algorithmus Beispiel w = 1 (01) S SY SC 1 SS Y ( C 2 C 1 Y S C 2 SY ) Y Y Y ( ( Y ) ) e 0 1 V ii+7 V 18 V ii+6 V ii+5 V ii+4 V ii+3 V ii+2 V ii+1 V ii V 17 V 28 V 16 V 27 V 38 V 15 V 26 V 37 V 48 V 14 V 25 V 36 V 47 V 58 V 13 V 24 V 35 V 46 V 57 V 68 V 12 V 23 V 34 V 45 V 56 V 67 V 78 V 11 V 22 V 33 V 44 V 55 V 66 V 77 V 88 1 ( 0 1 ) i 1 2 3 4 5 6 7 8 32 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik

CYK-Algorithmus Beispiel w = 1 (01) S SY SC 1 SS Y ( C 2 C 1 Y S C 2 SY ) Y Y Y ( ( Y ) ) e 0 1 V ii+7 V 18 V ii+6 V ii+5 V ii+4 V ii+3 V ii+2 V ii+1 V ii V 17 V 28 V 16 V 27 V 38 V 15 V 26 V 37 V 48 V 14 V 25 V 36 V 47 V 58 V 13 V 24 V 35 V 46 V 57 V 68 V 12 V 23 V 34 V 45 V 56 V 67 V 78 S Y Y Y ( S S Y ) Y 1 ( 0 1 ) i 1 2 3 4 5 6 7 8 32 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik

CYK-Algorithmus Vorgehen Fall l > 0: Jede Ableitung von w i... w j muss mit einer Regel der Form A BC beginnen, wobei ein k {i,..., j 1} existiert mit B w i... w k und C w k+1... w j. 33 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik

CYK-Algorithmus Vorgehen Verfahren Speichere alle Mengen V rs als Arrays der Länge V, in denen für jedes A V markiert ist, ob A V rs. Berechnung von V ij : Überprüfe für jede Regel (A BC) R und jedes k, ob B w i... w k durch Ansehen der Stelle B im Array zu V ik und C im Array zu V k+1 j. C w k+1... w j 33 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik

CYK-Algorithmus Vorgehen Verfahren Speichere alle Mengen V rs als Arrays der Länge V, in denen für jedes A V markiert ist, ob A V rs. Berechnung von V ij : Überprüfe für jede Regel (A BC) R und jedes k, ob B w i... w k durch Ansehen der Stelle B im Array zu V ik und C im Array zu V k+1 j. C w k+1... w j Bemerkung Dies benötigt Aufwand in O(n R ) 33 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik

CYK-Algorithmus Beispiel w = 1 (01) S SY SC 1 SS Y ( C 2 C 1 Y S C 2 SY ) Y Y Y ( ( Y ) ) e 0 1 V ii+7 V 18 V ii+6 V ii+5 V ii+4 V ii+3 V ii+2 V ii+1 V ii V 17 V 28 V 16 V 27 V 38 V 15 V 26 V 37 V 48 V 14 V 25 V 36 V 47 V 58 V 13 V 24 V 35 V 46 V 57 V 68 V 12 V 23 V 34 V 45 V 56 V 67 V 78 S Y Y Y ( S S Y ) Y 1 ( 0 1 ) i 1 2 3 4 5 6 7 8 34 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik

CYK-Algorithmus Beispiel w = 1 (01) S SY SC 1 SS Y ( C 2 C 1 Y S C 2 SY ) Y Y Y ( ( Y ) ) e 0 1 V ii+7 V 18 V ii+6 V ii+5 V ii+4 V ii+3 V ii+2 V ii+1 V ii V 17 V 28 V 16 V 27 V 38 V 15 V 26 V 37 V 48 V 14 V 25 V 36 V 47 V 58 V 13 V 24 V 35 V 46 V 57 V 68 S S C 2 S Y Y Y ( S S Y ) Y 1 ( 0 1 ) i 1 2 3 4 5 6 7 8 34 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik

CYK-Algorithmus Beispiel w = 1 (01) S SY SC 1 SS Y ( C 2 C 1 Y S C 2 SY ) Y Y Y ( ( Y ) ) e 0 1 V ii+7 V 18 V ii+6 V ii+5 V ii+4 V ii+3 V ii+2 V ii+1 V ii V 17 V 28 V 16 V 27 V 38 V 15 V 26 V 37 V 48 V 14 V 25 V 36 V 47 V 58 C 2 S S C 2 S Y Y Y ( S S Y ) Y 1 ( 0 1 ) i 1 2 3 4 5 6 7 8 34 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik

CYK-Algorithmus Beispiel w = 1 (01) S SY SC 1 SS Y ( C 2 C 1 Y S C 2 SY ) Y Y Y ( ( Y ) ) e 0 1 V ii+7 V 18 V ii+6 V ii+5 V ii+4 V ii+3 V ii+2 V ii+1 V ii V 17 V 28 V 16 V 27 V 38 V 15 V 26 V 37 V 48 S C 2 S S C 2 S Y Y Y ( S S Y ) Y 1 ( 0 1 ) i 1 2 3 4 5 6 7 8 34 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik

CYK-Algorithmus Beispiel w = 1 (01) S SY SC 1 SS Y ( C 2 C 1 Y S C 2 SY ) Y Y Y ( ( Y ) ) e 0 1 V ii+7 V 18 V ii+6 V ii+5 V ii+4 V ii+3 V ii+2 V ii+1 V ii V 17 V 28 V 16 V 27 V 38 C 1 S S C 2 S S C 2 S Y Y Y ( S S Y ) Y 1 ( 0 1 ) i 1 2 3 4 5 6 7 8 34 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik

CYK-Algorithmus Beispiel w = 1 (01) S SY SC 1 SS Y ( C 2 C 1 Y S C 2 SY ) Y Y Y ( ( Y ) ) e 0 1 V ii+7 V 18 V ii+6 V ii+5 V ii+4 V ii+3 V ii+2 V ii+1 V ii V 17 V 28 C 1 S S C 2 S S C 2 S Y Y Y ( S S Y ) Y 1 ( 0 1 ) i 1 2 3 4 5 6 7 8 34 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik

CYK-Algorithmus Beispiel w = 1 (01) S SY SC 1 SS Y ( C 2 C 1 Y S C 2 SY ) Y Y Y ( ( Y ) ) e 0 1 V ii+7 V 18 V ii+6 V ii+5 V ii+4 V ii+3 V ii+2 V ii+1 V ii S C 1 S S C 2 S S C 2 S Y Y Y ( S S Y ) Y 1 ( 0 1 ) i 1 2 3 4 5 6 7 8 34 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik

CYK-Algorithmus Beispiel w = 1 (01) S SY SC 1 SS Y ( C 2 C 1 Y S C 2 SY ) Y Y Y ( ( Y ) ) e 0 1 V ii+7 V ii+6 V ii+5 V ii+4 V ii+3 V ii+2 V ii+1 V ii S S C 1 S S C 2 S S C 2 S Y Y Y ( S S Y ) Y 1 ( 0 1 ) i 1 2 3 4 5 6 7 8 34 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik

Ergebnisse zum Wortproblem Typ-0 Grammatik. Das Wortproblem ist nicht entscheidbar. Typ-1 Grammatik. Das Wortproblem ist N P-vollständig. Typ-2 Grammatik. Das Wortproblem ist in polynomieller Zeit lösbar. Typ-3 Grammatik. Das Wortproblem ist in linearer Zeit lösbar. 35 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik