Kontextfreie (Typ-2) Sprachen

Ähnliche Dokumente
I.5. Kontextfreie Sprachen

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

Theoretische Grundlagen der Informatik

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

4.2 Die Chomsky Normalform

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

Chomsky-Grammatiken 16. Chomsky-Grammatiken

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

4. Grammatiken Grundlegende Definitionen. Wie lassen sich formale Sprachen beschreiben?

Kontextfreie Sprachen

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

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

Grammatiken und die Chomsky-Hierarchie

Dank. 1 Ableitungsbäume. 2 Umformung von Grammatiken. 3 Normalformen. 4 Pumping-Lemma für kontextfreie Sprachen. 5 Pushdown-Automaten (PDAs)

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

Aufgabentypen: Spickerblatt: kontextfrei (Typ 2): zusätzlich: u ist eine!"# v 1

Grundlagen der Theoretischen Informatik

A : z z A : z z : ( z, x, z ) δ

Übungen zur Vorlesung Einführung in die Theoretische Informatik, Blatt 12 LÖSUNGEN

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

a n b n c n ist kontextsensitiv kontextfreie Sprachen (Typ 2) Abschnitt 3.3 kontextfreie Sprachen: Abschlusseigenschaften Chomsky NF und binäre Bäume

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

Theoretische Grundlagen der Informatik

Ein Satz der deutschen Sprache besitzt ein Subjekt, ein Prädikat und ein Objekt (SPO).

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

Automaten und formale Sprachen Klausurvorbereitung

Tutoraufgabe 1 (ɛ-produktionen):

2. Übungsblatt 6.0 VU Theoretische Informatik und Logik

Grundlagen der Theoretischen Informatik

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

Die Chomsky Hierarchie

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

Formale Sprachen. Script, Kapitel 4. Grammatiken

Deterministischer Kellerautomat (DPDA)

Lösungen zur 1. Klausur. Einführung in Berechenbarkeit, formale Sprachen und Komplexitätstheorie

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

Kapitel 2: Formale Sprachen Gliederung

Wortproblem für kontextfreie Grammatiken

Theoretische Informatik I (Grundzüge der Informatik I)

Die Chomsky Hierarchie

24. Kontextfreie Sprachen

Einführung in die Theoretische Informatik

Formale Sprachen, Automaten, Compiler

3 kontextfreie Sprachen

Theoretische Grundlagen der Informatik

5.7 Kontextfreie Grammatiken und Kellerautomaten

Grundlagen der Informatik II

Grammatiken. Eine Grammatik G mit Alphabet Σ besteht aus: Variablen V. Startsymbol S V. Kurzschreibweise G = (V, Σ, P, S)

(Prüfungs-)Aufgaben zu formale Sprachen

Teil V. Weiterführende Themen, Teil 1: Kontextsensitive Sprachen und die Chomsky-Hierarchie

2.6 Deterministisches Top-Down-Parsen

Pumping-Lemma. Beispiel. Betrachte die kontextsensitive Grammatik G mit den Produktionen. S asbc abc CB HB HB HC HC BC ab ab bb bb bc bc cc cc.

Isomorphie von Bäumen

Suche nach einem solchen Kreis. Endlichkeitstest. Vereinigung und Durchschnitt. Abschlusseigenschaften

Rekursiv aufzählbare Sprachen

Informatik I WS 07/08 Tutorium 24

Berechenbarkeit und Komplexität

Übungsaufgaben zu Formalen Sprachen und Automaten

Theoretische Informatik Mitschrift

Einführung in die Theoretische Informatik

2.11 Kontextfreie Grammatiken und Parsebäume

Kapitel 3: Grundlegende Ergebnisse aus der Komplexitätstheorie Gliederung

Grundbegriffe. Grammatiken

Alphabet, formale Sprache

Theoretische Informatik. Kontextfreie Sprachen und Parser

Grundlagen der Theoretischen Informatik

Kapitel: Kontextfreie Sprachen. Kontextfreie Sprachen 1 / 78

Programmierkurs Python II

Theoretische Informatik: Berechenbarkeit und Formale Sprachen

Was bisher geschah: Formale Sprachen

Fachseminar Compilerbau

Grundlagen der Theoretischen Informatik

Tutorium zur theoretischen Informatik Übungsblatt 4 ( )

Universität Karlsruhe (TH)

Schwach kontextsensitive Grammatikformalismen

Theoretische Informatik I

Funktionale Programmierung mit Haskell

RNA Strukturvorhersage

Grundbegriffe der Informatik Tutorium 12

1. Klausur zur Vorlesung Informatik III Wintersemester 2004/2005

Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen

Grammatiken. Einführung

Algorithmen und Datenstrukturen I - Exkurs Formale Sprachen -

Transkript:

Kontextfreie (Typ-2) prachen Bsp.: L 1 = { n 1 n n>} с {,1}* 1 1 L 2 = {w wє{,1}* und w=w rev } с {,1}* 11 1 ε L 3 = {w w hat genausoviele Nullen wie Einsen} с {,1}* B 1 ε 1 B 1 1 BB 1 11 11 11 11B 111 1 11 11 11B 111 111 1

yntaxbaum für kontextfreie prachen Def.: ei G=(Σ,V,,R) Typ-2 Grammatik. Baum T heisst yntaxbaum für G, falls Wurzel mit beschriftet innere Knoten mit V beschriftet Blätter mit {ε} Σ beschriftet Markierung der inneren Knoten und aller Kinder entspricht einer Regel aus R T heisst yntaxbaum für wєl(g), falls Beschriftung der Blätter von T (von links nach rechts gelesen) w ergibt 2

Bsp. yntaxbaum für Typ-2 prachen B 1, 1, B 1 1 BB 1 1 B 1 3

Linksableitung Bem.: bleitung, bei der immer die linkeste Regel angewendet wird, heisst Linksableitung yntaxbaum kann mehrere bleitungen darstellen: 1 11 11 11 11B 111 1 11 11 11B B 111 111 (aber nur eine Linksableitung) 1 1 1 4

Eindeutige kontextfreie prachen Def.: Typ-2 Grammatik G=(Σ,V,,R) heisst eindeutig, falls es für jedes Wort wєl(g) genau einen yntaxbaum gibt Typ-2 prache L heisst eindeutig, falls es eine eindeutige Typ-2 Grammatik G mit L=L(G) gibt; ansonsten heisst L inhärent mehrdeutig Motivation: Wortproblem für eindeutige Grammatiken sollte einfacher sein 5

6 Bsp. Mehrdeutige Grammatik B 1, 1, B 1 1 BB 1 1 1 1 B 1 1

Chomsky-Normalform (CNF) Def.: Typ-2 Grammatik G=(Σ,V,,R) ist in Chomsky- Normalform (CNF), falls alle Regeln folgende Form haben: BC mit,b,cєv oder a mit єv, aєσ Bem.: ε kann von Grammatik in CNF nicht erzeugt werden T yntaxbaum für CNF-Grammatik alle inneren Knoten haben Grad 2, Väter der Blätter haben Grad 1 7

Herstellen der Chomsky-Normalform atz: Jede Typ-2 prache L mit εєl c, kann von einer Typ-2 Grammatik in CNF erzeugt werden Bew.: Idee: Überführe Regeln einer Typ-2 Grammatik G=(Σ,V,,R) mit L=L(G) schrittweise in CNF Erinnerung: alle Regeln von G haben Form w mit єv und wє(v Σ)* 8

Herstellen der Chomsky-Normalform 1. chritt: für alle aєσ neue Variable Y a und neue Regel Y a a ersetze in Regeln von G (rechte eite) a durch Y a Konsequenz: alle Regeln haben Form w mit єv und wєv + oder wєσ {ε} 9

Herstellen der Chomsky-Normalform 2. chritt: für Regel B 1...B m mit m>2 ersetze durch neue Regeln B 1 C 1, C i B i+1 C i+1 für 1 i m-3 und C m-2 B m-1 B m mit neuen Variablen C 1,...,C m-2 Konsequenz: alle Regeln haben Form w mit єv und wєv 2, wєv oder wєσ {ε} 1

Herstellen der Chomsky-Normalform 3. chritt ( Eliminieren von ε-regeln ): sei E := {єv * ε} ersetze Regeln BC mit BєE durch C ersetze Regeln BC mit CєE durch B streiche Regeln ε Konsequenz: alle Regeln haben Form w mit єv und wєv 2, wєv oder wєσ 11

Herstellen der Chomsky-Normalform 4. chritt ( Eliminieren von Kettenregeln ): () solange es Kreis 1 2... r 1 gibt ersetze 2,..., r durch 1, streiche Regel 1 1 (B) bestimme Nummerierung 1,..., m der Variablen, so dass gilt: falls i j, so ist i < j für alle i = k,k-1,...,1 und für alle j=i+1,...,k mit i j streiche Regel i j falls j a mit aєσ Regel ist, Konsequenz: G ist in CNF führe neue Regel i a ein 12

Herstellen der Chomsky-Normalform Beh.: Die modifizierte Grammatik erzeugt die prache L Bew.: ( Übung) Bsp.: L 1 = { n 1 n n>}, 1 1 Herstellen der CNF: Y 1 1, Y, Y Y 1 Y Y 1 Y 1 1, Y, Y C Y Y 1, C Y 1 13

Wortproblem für Typ-2 prachen atz: Wortproblem einer Typ-2 Grammatik G=(Σ,V,,R) in CNF kann in O( R w 3 ) Zeit entschieden werden Gegeben: G, w = w 1...w n є Σ* Entscheide, ob wєl(g) Bew.: (lg. von Cooke-Younger-Kasami '67 - CYK) Idee: wєl(g) ( BC)єR und B *p, C *s, w=ps berechne V i,j mit dynamischem Programmieren: mit V i,j := {єv * w i...w j } gilt wєl(g) єv 1,n 14

CYK-lgorithmus berechne V i,j := {єv * w i...w j } mit dynamischem Programmieren: V i,i = {єv * w i } = {єv w i }, da G in CNF V i,j = {єv ( BC)єR kє{i,j-1} : BєV i,k und CєV k+1,j } dynamisches Programmieren: for l=2,..,n for i=1,..,n-l+1 j = i+(l-1) V i,j := i k j-1 {єv BєV i,k, CєV k+1,j und ( BC)єR} 15

CYK-lgorithmus for l=2,..,n for i=1,..,n-l+1 j = i+(l-1) V i,j := i k j-1 {єv BєV i,k, CєV k+1,j und ( BC)єR} ufwand zur Berechnung von V i,j : O( R n) (betrachte R Regeln und n Werte für k) Gesamtaufwand: O( R n 3 ) 16

Bsp. CYK-lgorithmus L 1 = {a n b n n>} a, B b, B T, T B a (j=1) a (j=2) b (j=3) b (j=4) B B a (i=1) a (i=2) b (i=3) b (i=4) w = aabb 17

Bsp. CYK-lgorithmus L 1 = {a n b n n>} a, B b, B T, T B a (j=1) a (j=2) b (j=3) b (j=4) B B a (i=1) a (i=2) b (i=3) b (i=4) w = aabb 18

Bsp. CYK-lgorithmus L 1 = {a n b n n>} a, B b, B T, T B a (j=1) a (j=2) b (j=3) b (j=4) T B B a (i=1) a (i=2) b (i=3) b (i=4) w = aabb 19

Bsp. CYK-lgorithmus L 1 = {a n b n n>} a, B b, B T, T B a (j=1) a (j=2) b (j=3) b (j=4) T B B a (i=1) a (i=2) b (i=3) b (i=4) w = aabb 2