Normalformen für kontextfreie Grammatiken. Noam CHOMSKY, Sheila GREIBACH. Bäume. Ableitungen in kontextfreien Grammatiken. Grammatik G = (N,T,P,S)

Ähnliche Dokumente
2. Übungsblatt 6.0 VU Theoretische Informatik und Logik

I.5. Kontextfreie Sprachen

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

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

Formale Sprachen. Grammatiken und die Chomsky-Hierarchie. Rudolf FREUND, Marian KOGLER

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

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

Automaten und formale Sprachen Klausurvorbereitung

Grundlagen der Theoretischen Informatik

Theoretische Informatik Kap 1: Formale Sprachen/Automatentheorie

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

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.

Theoretische Informatik Mitschrift

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

Kontextfreie Sprachen

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

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

Theorie der Informatik

Motivation natürliche Sprachen

Grundbegriffe der Informatik Tutorium 12

Beschreibungskomplexität von Grammatiken Definitionen

Tutoraufgabe 1 (ɛ-produktionen):

Abschluss unter Operationen

5.7 Kontextfreie Grammatiken und Kellerautomaten

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

24. Kontextfreie Sprachen

Theoretische Informatik I

Grundbegriffe. Grammatiken

(Prüfungs-)Aufgaben zu formale Sprachen

Abschluss gegen Substitution. Wiederholung. Beispiel. Abschluss gegen Substitution

Was bisher geschah: Formale Sprachen

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

Definition (Reguläre Ausdrücke) Sei Σ ein Alphabet, dann gilt: (ii) ε ist ein regulärer Ausdruck über Σ.

Teil 4: Grammatiken und Syntaxanalyse. (Kapitel T5-T7)

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

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

Informatik IC2. Balazs Simon

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

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

Grundbegriffe der Informatik Tutorium 11

Kontextfreie Grammatiken

Typ-3-Sprachen. Das Pumping-Lemma

Rekursiv aufzählbare Sprachen

Eigenschaften regulärer Sprachen

Berechenbarkeitstheorie 7. Vorlesung

Theoretische Informatik I (Grundzüge der Informatik I)

Die Chomsky Hierarchie

Musterlösung zur Hauptklausur Theoretische Grundlagen der Informatik Wintersemester 2013/14

Grammatik Prüfung möglich, ob eine Zeichenfolge zur Sprache gehört oder nicht

Einführung in die Theoretische Informatik

Vorlesung Theoretische Informatik

Theoretische Informatik I

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

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

Klausur zur Vorlesung Grundbegriffe der Informatik 5. März 2014

Grundlagen der Theoretischen Informatik

Formale Systeme, Automaten, Prozesse

2.11 Kontextfreie Grammatiken und Parsebäume

Einführung in die Theoretische Informatik

Chomsky-Grammatiken 16. Chomsky-Grammatiken

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

Automaten und Coinduktion

Grundlagen der Theoretischen Informatik

Klausuraufgaben. 1. Wir betrachten die folgende Sprache über dem Alphabet {a, b}

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

Einführung in die Theoretische Informatik

Fakultät für Informatik Universität Magdeburg Jürgen Dassow. Motivation Englisch

Einführung in die Computerlinguistik Formale Grammatiken rechtslineare und kontextfreie Grammatiken Kellerautomaten

Theoretische Grundlagen des Software Engineering

Formale Methoden 2. Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2015/2016

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

Formale Systeme. Büchi-Automaten. Prof. Dr. Bernhard Beckert WS 2009/2010 KIT INSTITUT FÜR THEORETISCHE INFORMATIK

Formale Sprachen. Formale Grundlagen (WIN) 2008S, F. Binder. Vorlesung im 2008S

Theoretische Informatik Testvorbereitung Moritz Resl

Programmiersprachen und Übersetzer

1. Klausur zur Vorlesung Informatik III Wintersemester 2004/2005

Übungsaufgaben zu Formalen Sprachen und Automaten

Grundlagen der Informatik II

Aufgabe 4.2 Sei G = (V, E, l) ein ungerichteter, gewichteter und zusammenhängender Graph.

...imbeispiel: Die Konkatenation der Blätter des Ableitungsbaums t bezeichnen wir auch mit yield(t). liefert die Konkatenation: name int + int.

Theoretische Informatik für Wirtschaftsinformatik und Lehramt

FORMALE SYSTEME. Sprachen beschreiben. Wiederholung. Wie kann man Sprachen beschreiben? 2. Vorlesung: Grammatiken und die Chomsky-Hierarchie

Theoretische Grundlagen der Informatik

Ausgewählte unentscheidbare Sprachen

Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen

Das Postsche Korrespondenzproblem

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

Konstruktion der reellen Zahlen

Beispiele für Wortverarbeitung durch NEA. Beispiele für NEA (1) Beispiele für NEA (2) Beispiele für NEA (3) 1.) 1 q 2. q 5. q 1 1 0,1,2. 0 q 2.

Formale Methoden 1. Gerhard Jäger 23. Januar Uni Bielefeld, WS 2007/2008 1/18

6 Modellierung von Strukturen 6.1 Kontextfreie Grammatiken

Formale Sprachen und Automaten

Theoretische Informatik 2

äußere Klammern können entfallen, ebenso solche, die wegen Assoziativität von + und Konkatenation nicht notwendig sind:

Die Chomsky Hierarchie

Formale Sprachen. Script, Kapitel 4. Grammatiken

Grundlagen der Informatik II

Grundbegriffe der Informatik

Logik für Informatiker

Transkript:

Noam CHOMSKY, Sheila GREIBACH Normalformen für kontextfreie Grammatiken Noam CHOMSKY (*1928 ) Sheila GREIBACH (*1939) Grammatik G = (N,T,P,S) GREIBACH Normalform: A aw, w N* Erweiterte GREIBACH Normalform: A aw, w (N T)* CHOMSKY Normalform: A BC, A a, A,B,C N, a T S ε ist nur dann erlaubt, wenn S nicht auf der rechten Seite einer Produktion vorkommt. 1 2 Ableitungen in kontextfreien Grammatiken normale Ableitung : ein beliebiges Nonterminal wird ersetzt. Links-Ableitung L : das in der Satzform am weitesten links vorkommende Nonterminal wird ersetzt Rechts-Ableitung R : das in der Satzform am weitesten rechts vorkommende Nonterminal wird ersetzt Parallel-Ableitung : alle in der Satzform vorkommenden Nonterminale werden gleichzeitig ersetzt Alle Ableitungsvarianten ergeben dieselbe Sprache! 3 Bäume Ein (geordneter, markierter gerichteter) Baum über V und W ist ein Graph g = (K,E,L) über V und W, der folgende Bedingungen erfüllt: 1) W = [1..n] für ein n N 1. 2) Es gibt genau einen ausgezeichneten Knoten p 0 (Wurzel), der keinen Vorgänger hat. Außerdem gibt es von der Wurzel aus zu jedem anderen Knoten q von g einen Pfad (p 0,e 1,p 1,,p k-1,e k,q) der Länge k 1, (p i,e i+1,p i+1 ) E, 0 i < k, q = p k. 3) Jeder von der Wurzel verschiedene Knoten hat genau einen Vorgänger. 4) Jeder Knoten ohne Nachfolger heißt Blatt. 5) Ist p kein Blatt, so sind die Nachfolger von p geordnet (die Kanten tragen die Bezeichnungen 1 bis k für ein k). 4

Ableitungsbäume für kontextfreie Grammatiken Sei G = (N,T,P,S) eine kontextfreie Grammatik. Ein Baum g = (K,E,L) über V = N T {ε} und W = [1..n] heißt Ableitungsbaum für G, wenn Folgendes gilt: 1) Ist p 0 die Wurzel von g, so gilt L(p 0 ) = S. 2) Ist p kein Blatt, so muss L(p) N gelten. 3) Ist p ein Blatt mit L(p) = ε, so ist p der einzige Nachfolger seines Vorgängers. 4) Ist <(p,i,q i )>i [1..k] die geordnete Menge der von p mit L(p) = A wegführenden Kanten, so ist A L(q 1 ) L(q k ) eine Produktion in P. A-Baum für G: für Wurzel gilt L(p 0 ) = A. Front eines Ableitungsbaumes Sei G = (N,T,P,S) eine kontextfreie Grammatik und g = (K,E,L) ein A-Baum für G. Wir definieren nun eine Ordnungsrelation auf den Pfaden von g: Seien P(j) = (p(j,0),e(j,1),p(j,1),,e(j,k j ),p(j,k j )) für j {1,2} zwei voneinander verschiedene Pfade in g, die in der Wurzel beginnen (i.e., p(1,0) = p(2,0) = p 0 ) und zu einem Blatt von g führen, dann definieren wir P(1) < P(2) genau dann, wenn es ein m 1 so gibt, dass e(1,i) = e(2,i) für alle 1 i < m und e(1,m) e(2,m). Betrachten wir nun alle derartigen Pfade in g, so sind diese wohlgeordnet und sind p(1),,p(k) die Blätter dieser Pfade, so ist die Front von g durch L(p(1)) L(p(k)) definiert. Ableitungsbaum ist ein S-Baum. 5 6 Ableitungen und Ableitungsbäume Sei G = (N,T,P,S) eine kontextfreie Grammatik und g = (K,E,L) ein A-Baum für G sowie w (N T)*. Dann gilt A G w genau dann, wenn es einen A-Baum für G mit Front w gibt. Jeder Linksableitung in G kann man eindeutig einen Ableitungsbaum zuordnen. Gibt es zwei verschiedene Linksableitungen in G für ein Wort w, so sind die entsprechenden Ableitungsbäume nicht äquivalent. Eindeutigkeit, (inhärente) Mehrdeutigkeit Sei G = (N,T,P,S) eine kontextfreie Grammatik. G heißt eindeutig, wenn es zu jedem in G ableitbaren Terminalwort genau eine Linksableitung in G gibt. Ansonsten heißt G mehrdeutig. Eine kontextfreie Sprache heißt inhärent mehrdeutig, wenn jede Grammatik, die L erzeugt, mehrdeutig ist. Beispiel: Die kontextfreie Sprache L = L(1) L(2) mit L(1) = {a n b n c m n,m N} und L(2) = {a n b m c m n,m N} ist inhärent mehrdeutig. Bemerkung: L(1) L(2) = {a n b n c n 1 n}. 7 8

Pumping Lemma für kontextfreie Sprachen Sei L eine unendliche kontextfreie Sprache. Dann gibt es eine (nur von L abhängige) Schranke m > 0 so, dass für jedes Wort z in L mit z m Wörter u,x,v,y,w Σ* so existieren, dass z = uxvyw mit xvy m und xy > 0 sowie z(i) = ux i vy i w für alle i 0 ebenfalls in L liegt. Pumping Lemma für kontextfreie Sprachen Beweis 1 Sei G = (N,T,P,S) eine kontextfreie Grammatik, die L erzeugt, k = card(n) und m := 2 k. Wegen z m (= 2 k ) muss jeder Ableitungsbaum für z einen Pfad mit einer Länge von mindestens k+1 haben. So ein Pfad hat aber mindestens k+2 Knoten, wobei alle bis auf den letzten mit einem Nonterminal markiert sind. Also muss es mindestens ein Nonterminal A aus N geben, das in diesem Pfad mindestens zweimal als Markierung eines Knotens vorkommt (Schubfachprinzip!). 9 10 Pumping Lemma für kontextfreie Sprachen Beweis 2 Sei nun (p 0,e 1,,p l ) so ein Pfad maximaler Länge in einem Ableitungsbaum von z, d.h., l k. Dann kann man in diesem Pfad zwei Knoten p v1 und p v2 so auswählen, dass Folgendes gilt: 1) 0 < v2 - v1 k und v1 l-k-1; 2) L(p v1 ) = L(p v2 ) = A für ein A N und L(p j ) A für alle j {i v1 < i l} {v2}. Der A-Baum T mit der Wurzel p v1 repräsentiert die Ableitung eines Teilwortes z von z mit einer Länge von höchstens 2 k, da es lt. Voraussetzung nur Pfade mit einer maximalen Länge von k+1 geben kann; z ist somit die Front von T ; bezeichnet man die Front des vom Knoten p v2 ausgehenden A-Baumes mit v, so kann man z = xvy für gewisse Wörter x,v,y schreiben. 11 Pumping Lemma für kontextfreie Sprachen Beweis 3 Da G (außer eventuell S ε) keine ε-produktionen enthält und v2 v1 gilt, muss xy 1 gelten, d.h.: A * xay und A * v, wobei xvy 2 k =m und xy 1. A * x i Ay i * x i vy i für alle i 0. Offensichtlich gibt es nun noch Wörter u und w so, dass man z = uxvyw schreiben kann, d.h., man erhält S * ux i vy i w für alle i 0. 12

Korollare zum Pumping Lemma für kontextfreie Sprachen Korollar A. Sei L = {a f(m) m N} eine formale Sprache und f: N N eine monoton wachsende Funktion über den natürlichen Zahlen derart, dass für jedes c N ein k N mit f(k+1) > f(k)+c existiert. Dann ist L nicht kontextfrei. Korollar B. Sei L = {a f(m) m N} eine formale Sprache und f: N N eine monoton wachsende Funktion über den natürlichen Zahlen derart, dass für ein d > 0 f(k+1) > f(k) + dk für alle k N gilt. Dann ist L nicht kontextfrei. Beispiele zum Pumping Lemma für kontextfreie Sprachen Bemerkung: Korollar B folgt direkt aus Korollar A. Beispiel. L = {a p p prim} ist nach Korollar A nicht kontextfrei, da es beliebig große Primzahllücken gibt. Aufgabe PL2A. L = {a f(m) m N} ist nicht kontextfrei für: 1) f(m) = m d, d 2, 2) f(m) = k m. Aufgabe PL2B. L ist nicht kontextfrei für: 1) L = {a n b n c n n 1}, 2) L = {ww w {0,1}*}. 13 14 Abschlusseigenschaften kontextfreier Sprachen Die Familie der kontextfreien Sprachen ist weder gegenüber Durchschnitt noch gegenüber Komplement abgeschlossen. Die Sprachen L(1) und L(2) mit L(1) = {a n b n c m n,m N} und L(2) = {a n b m c m n,m N} sind kontextfreie Sprachen. L(1) L(2) = {a n b n c n 1 n} ist aber nicht kontextfrei. Außerdem gilt L(1) L(2) = {a,b,c}* - (({a,b,c}* -L(1)) ({a,b,c}* -L(2))). Wäre also L 2 gegenüber Komplement abgeschlossen, dann wäre L 2, da gegenüber Vereinigung abgeschlossen, auch gegenüber Durchschnitt abgeschlossen; Widerspruch! 15 Homomorphismen auf kontextfreien Sprachen Satz. Die Familie der kontextfreien Sprachen ist gegenüber beliebigen Homomorphismen abgeschlossen. Beweis: Sei Grammatik G = (N,T,P,S) eine Typ-2-Grammatik, ohne Beschränkung der Allgemeinheit in CHOMSKY- Normalform, und h: T* W* ein Homomorphismus mit N W = { } (sonst Variablen in N umbenennen! ). Konstruiere nun ein kontextfreie Grammatik G, G = (N,W,P,S ) mit P = P {A a A a P, A N, a T} {A h(a) A a P, A N, a T}. Klarerweise gilt auf Grund der Konstruktion L(G ) = h(l(g)). 16

Kontextfreie Sprachen aus {a}* Jede kontextfreie Sprache über einem einelementigen Alphabet ist regulär. Die Korollare A und B zum Pumping Lemma für kontextfreie Sprachen würden somit schon aus dem Pumping Lemma für reguläre Sprachen ableitbar sein. Normalformen für kontextfreie Grammatiken Grammatik G = (N,T,P,S) GREIBACH Normalform: A aw, w N* Erweiterte GREIBACH Normalform: Charakterisierung regulärer Sprachen aus {a}*: Für jede reguläre Sprache L aus {a}* gibt es natürliche Zahlen d,m 0 sowie c(k), 1 k m, derart, dass L = 1 k m {adx+c(k) x N}. Aufgabe: Wie schauen die entsprechenden Minimalautomaten aus? A aw, w (N T)* CHOMSKY Normalform: A BC, A a, A,B,C N, a T S ε ist nur dann erlaubt, wenn S nicht auf der rechten Seite einer Produktion vorkommt. 17 18 Normalformen für Grammatiken Varianten von regulären Grammatiken Grammatik G = (N,T,P,S) Grammatik G = (N,T,P,S) Normalform für monotone Grammatiken: Normalform für reguläre Grammatiken: A BC, AD BC, A a, A,B,C,D N, a T A ab, A a, A,B N, a T S ε ist nur dann erlaubt, wenn S nicht auf der rechten Seite einer Produktion vorkommt. S ε ist nur dann erlaubt, wenn S nicht auf der rechten Seite einer Produktion vorkommt. Normalform für unbeschränkte Grammatiken: A BC, AD BC, A a, A,B,C,D N, a T {ε} Maximalvariante für reguläre Grammatiken: A wb, A w, A,B N, w T* 19 20

CHOMSKY - Hierarchie Grammatik G = (N,T,P,S); betrachte Normalformen: Normalform für unbeschränkte Grammatiken: A BC, AD BC, A a, A,B,C,D N, a T {ε} Normalform für monotone Grammatiken: A BC, AD BC, A a, A,B,C,D N, a T CHOMSKY Normalform: A BC, A a, A,B,C N, a T Normalform für reguläre Grammatiken: A ab, A a, A,B N, a T CHOMSKY-Hierarchie: L3 L 2 L 1 L 0 L 3 L 2 L 1 L rek L 0 21 Bedeutung der ε- Produktionen Grammatik G = (N,T,P,S): Normalform für unbeschränkte Grammatiken: A BC, AD BC, A a, A,B,C,D N, a T {ε} Normalform für monotone Grammatiken: A BC, AD BC, A a, A,B,C,D N, a T Unterschied: ε-produktionen der Gestalt A ε Eine ε-produktion der Gestalt A ε reicht bereits: Zu jeder Typ-0-Sprache L T* gibt es eine monotone Sprache L (T {e})* derart, dass gilt: - Für jedes Wort w L existiert ein Wort we n L für ein n N. - Jedes Wort v L ist von der Gestalt we n für ein w L und ein n N. 22 Homomorphismen auf monotonen Sprachen Beweis: Sei Grammatik G = (N,T,P,S) eine Typ-0-Grammatik, ohne Beschränkung der Allgemeinheit in Normalform. Konstruiere dazu ein monotone Grammatik G, G = (N {S,E},T {e},p,s ) mit den folgenden Produktionen in P : S Se, ED DE für alle D N, Ee ee, A E für alle Produktionen A ε in P, A BC, AD BC, A a, A,B,C,D N, a T, für alle derartigen Produktionen in P. h(l(g )) = L für den Homomorphismus h: (T {e})* T* mit h(a) = a, a T, und h(e) = ε. Analog dazu gilt L(G ) = L für G = (N {S,E,e},T,P {e ε},s ). 23 Abgeschlossenheit gegenüber Homomorphismen Aufgabe HOMA: Zeigen Sie, dass alle Sprachfamilien der CHOMSKY- Hierarchie gegenüber ε-freien Homomorpismen abgeschlossen sind. Aufgabe HOMB: Zeigen Sie, dass die Sprachfamilien der CHOMSKY- Hierarchie L 3, L 2 und L 0 gegenüber beliebigen Homomorpismen abgeschlossen sind, L 1 und L rek hingegen nicht. 24

Sprachfamilien (volle) Trios Sprachfamilie: nichttriviale Menge formaler Sprachen (enthält zumindest eine nichtleere Sprache) TRIO: Abgeschlossen gegenüber R, h -1, h -ε (ε-freier Homomorphismus) full (volles) TRIO: Abgeschlossen gegenüber R, h -1, h (volle) Abstrakte Sprachfamilien (full) abstract family of languages: (f)afl AFL: TRIO und abgeschlossen gegenüber,, + full AFL: volles TRIO und abgeschlossen gegenüber,, * oder folgt bereits aus den jeweils 5 anderen Eigenschaften! 25 26 Abschlusseigenschaften von Sprachfamilien Quotient von Sprachen + TRIO ftrio AFL fafl L 3 L 2 L 1 L 0 + + + + + + + + + + + + + + + + + + * + + + + + R + + + + + + + + h -ε + + + + + + + + h + + + + + - + h -1 gsm -ε + + + + + + + + + + + + + + + + gsm + + + + - + gsm -1 + + + + + + + + Kompl. + - - 27 Quotient von Sprachen L/M L/M = { w es gibt ein u M sodass wu L } L\M = { w es gibt ein u M sodass uw L } Ist F eine Sprachfamilie, die gegenüber gsm-abbildungen abgeschlossen ist, so ist für jede Sprache L T* aus F auch L\{a} für jedes a T aus F. Beweis: b/b für alle b T a/ε q 0 q 1 28

Weitere Operationen auf Sprachen INIT(L) = { w wu L } FIN(L) = { w uw L } SUB(L) = { w xwu L } Aufgabe AFLA: Zeigen Sie, dass jede Sprachfamilie, die gegenüber gsm-abbildungen abgeschlossen ist, auch gegenüber den Operationen INIT, FIN und SUB abgeschlossen ist. 29