4.2 Die Chomsky Normalform
|
|
|
- Hetty Hertz
- vor 9 Jahren
- Abrufe
Transkript
1 4.2 Die Chomsky Normalform Für algorithmische Problemstellungen (z.b. das Wortproblem) aber auch für den Nachweis von Eigenschaften kontextfreier Sprachen ist es angenehm, von CFG in Normalformen auszugehen. Eine der wichtigsten Normalformen für CFG ist die Chomsky Normalform. Definition (Chomsky Normalform (CNF)). Sei G =(V,Σ,P,S) eine CFG. G heißt in CNF, falls alle Produktionen in G von der Form a für ein a Σ oder BC für Nichtterminale B, C sind. Wir sprechen von einer CNF-Grammatik, um eine CFG in CNF zu bezeichnen. Z.B. ist die CFG mit den Regeln S D B, D SD d, a, B b in CNF; nicht aber die CFG mit den Regeln S asb ab. Satz Zu jeder CFG G mit ε/ L(G) gibt es eine äquivalente CFG in CNF. Beweis. Sei G =(V,Σ,P,S) eine CFG mit ε/ L(G). Wir geben nun ein Verfahren an, mit dem G in eine äquivalente CFG G in CNF überführt werden kann. 1. Zunächst erstellen wir eine zu G äquivalente ε-freie CFG G 1. Wegen ε/ L(G), enthält diese keine ε-regeln. 2. Im zweiten Schritt führen wir G 1 in eine äquivalente CFG G 2 ohne Kettenregeln, d.h. ohne Regeln der Form B, über. Dazu wenden wir das in lgorithmus 15 (Seite 147) angegebene Verfahren an. Der erste Teil von lgorithmus 15 läßt sich mit einem lgorithmus durchführen, der die starken Zusammenhangskomponenten des Digraphen (V,E), wobei (,B) E genau dann, wenn B eine Kettenregel in G 1 ist, berechnet, daraus den zugehörigen azyklischen Digraphen G der starken Zusammenhangskomponenten erstellt und anschließend eine topologische Sortierung für G bestimmt. 3. G 2 wird durch eine äquivalente CFG G 3 ersetzt, in der sämtliche Regeln die Form a oder B 1 B 2...B k mit k 2 haben, wobei,b 1,...,B k Variablen sind und a ein Terminal. Hierzu gehen wir wie folgt vor. Jede Regel yaz mit yz 1 in G 2 wird durch y a z ersetzt. Dabei ist a ein neues Nichtterminal mit der Regel a a. (D.h. aus a ist nur das Wort a ableitbar.) In Schritt 3 ist es offenbar ausreichend, nur für solche Terminalzeichen a ein neues Nichtterminal a einzuführen, für die es nach usführung von Schritt 1 eine Regel x gibt, so daß x 2 und a in x vorkommt. Weiter kann man a = setzen, falls eine bereits existente Variable ist, für die es genau die Regel a gibt. 146
2 4. Im letzten Schritt ersetzen wir G 3 durch eine äquivalente CNF-Grammatik G 4. Hierzu müssen alle Regeln B 1...B k mit k 3 von G 3 in CNF-Gestalt gebracht. Die Vorgehensweise ist wie folgt. Für jede Regel B 1 B 2...B k in G 3 mit k 3 fügen wir neue, paarweise verschiedene Nichtterminale C 1,C 2,...C k 2 ein und ersetzen die Regel B 1 B 2...B k durch folgende Regeln: B 1 C 1 C 1 B 2 C 2. C k 3 B k 2 C k 2 C k 2 B k 1 B k Die neuen Variablen C 1,C 2,...C k 2 tauchen in keinen weiteren Regeln auf. Die Motivation für die Ersetzung der Regel B 1 B 2...B k durch die angegebenen CNF-Regeln besteht darin, jede nwendung der Regel B 1...B k in G 3 durch die Rechtsableitung in G 4 zu simulieren. B 1 C 1 B 1 B 2 C 2 B 1 B 2 B 3 C 3... B 1 B 2...B k 2 C k 2 B 1 B 2...B k 2 B k 1 B k Da L(G)=L(G 1 )=L(G 2 )=L(G 3 )=L(G 4 ) und da G 4 offenbar eine CNF-Grammatik ist, ist hiermit die ussage von Satz bewiesen. lgorithmus 15 G 1 G 2 (Elimination von Kettenregeln) (* Teil 1: entferne Zyklen *) WHILE 1,..., n V mit 1 2, 2 3,..., n 1 n, n 1 DO ersetze 2,..., n durch 1 entferne die Regel 1 1 bestimme eine Nummerierung 1,..., k der Nichtterminale, so dass gilt: aus i j folgt i<j (* Teil 2: entferne die verbleibenden Kettenregeln *) FOR i = k,k 1,...,1 DO FOR j = i+1,...,k DO IF i j THEN streiche die Regel i j FOR LL Regeln j x DO füge die Regel i x hinzu. FI 147
3 Bemerkung (Elimination von Kettenregeln). In lgorithmus 15 ist die Reihenfolge, in der die Regeln i j entfernt werden, wesentlich. Z.B. für die Grammatik G mit den Regeln S, B und B b wird zuerst B durch b ersetzt und dann S durch S b. Würde man zuerst S eliminieren, dann würde man die Grammatik bestehend aus der Regeln S B, b, B b erhalten, welche die Kettenregel S B enthält. Selbst wenn man eventuell neu entstehende Kettenregeln ignoriert, kann das Verfahren fehlschlagen, falls die im lgorithmus beschriebene Reihenfolge nicht eingehalten wird. In obigem Beispiel würde man die Grammatik mit den Regeln b, B b erhalten, in der es keine Regel für das Startsymbol S gibt. Die erzeugte Sprache dieser Grammatik ist leer und stimmt somit nicht mit der durch G definierten Sprache L(G)={b} überein. Beispiel (Erstellung der CNF). Für die CFG mit den Regeln S C und C acb ab arbeitet der im Beweis von Satz angegebene lgorithmus zur Erstellung einer äquivalenten CNF-Grammatik wie folgt. Da es keine Zyklen 1 2,..., n 1 n, n 1 gibt, wird im ersten Schritt nur die Regel S C entfernt und durch die beiden Regeln S acb und S ab ersetzt. Im zweiten Schritt werden neue Nichtterminale a = und b = B mit den Regeln a und B b hinzugefügt. nschließend werden sämtliche Vorkommen von a bzw. b auf der rechten Seite einer Regel durch bzw. B ersetzt. Wir erhalten das Produktionssystem S CB B C CB B a B b Im letzten Schritt werden die beiden Regeln S CB und C CB durch ersetzt. 14 S D, D CB, C E, E CB, a,b b 14 Soweit der lgorithmus. Man sieht, daß einige Optimierungen möglich sind. Beispielsweise kann man D = E setzen und C durch S ersetzen. 148
4 Beispiel (Erstellung der CNF, Elimination von Kettenregeln). Wir betrachten die CFG mit den folgenden Regeln. S ab ac B S Ba D d ddd B C cd C D c Zunächst werden mit lgorithmus 15 die Kettenregeln S, B, B S, C und C D entfernt. Wir erstellen folgenden Digraphen. S C S C D B D Die Variablen S,, B bilden eine starke Zusammenhangskomponente. Zusätzlich bilden jeweils C und D einelementige starke Zusammenhangskomponenten. Wir ersetzen und B durch S und streichen die Regel S S. Man erhält die Grammatik mit folgenden Regeln: S as ac C csd Sa C D c D d ddd Im letzten Schritt wird zuerst C D durch C d ddd, dann S C durch S d ddd c ersetzt. uf die so erhaltene Grammatik wenden wir den im Beweis von Satz angegebenen lgorithmus an. Dieser bringt z.b. die Regel C ddd in CNF-Gestalt, indem ein neues Nichtterminal d eingefügt wird und C ddd zunächst durch C d DD, d d, und dann C d DD durch C d D 2 und D 2 DD ersetzt wird. Entsprechend wird mit der Regel S ddd verfahren. Die Regeln werden nun durch S as ac Sa S a S a C Sa a a c c ersetzt. Die Eliminierung der Regel S csd wird durch Einfügen der Regeln S c E und E S d vorgenommen. Die Größe der konstruierten CNF-Grammatik Die Größe einer CFG G wird an der nzahl an Nichtterminalen und der Summe der Längen aller Produktionen gemessen und mit size(g) bezeichnet. Das Terminalalphabet Σ wird als konstant angenommen und geht daher nicht in die Größe der Grammatik ein. Mit der beschriebenen Methode zur Erstellung einer äquivalenten CNF-Grammatik G gilt size(g )=O ( size(g) 2), 149
5 sofern eine CFG ohne ε-regeln vorliegt. Man beachte, daß die Elimination der Kettenregeln die Größe der Grammatik quadratisch vergrößern kann; während der Ersetzungsprozeß B 1...B k B 1 C 1, C 1 B 2 C 2,..., C k 2 B k 1 B k 2 keinen Einfluß auf die asymptotische Größe der Grammatik hat. Der in bschnitt 2 (siehe Seite 89) beschriebene lgorithmus, der eine gegebene CFG in eine äquivalente ε-freie CFG überführt, kann zu einem exponentiellen Blow-Up führen. Es gibt jedoch ein effizientes Verfahren, welches die asymptotische Größe der CFG unverändert läßt (siehe Übungen). 4.3 Der Cocke-Younger-Kasami lgorithmus Um das Wortproblem für kontextfreie Sprachen zu lösen, gehen wir von einer Darstellung der Sprache durch eine CNF-Grammatik G =(V,Σ,P,S) aus. Sei w = a 1 a 2...a n Σ. Für den Test, ob w L(G) liegt, wenden wir die Methode des dynamischen Programmierens zur Bestimmung der Variablenmengen V[i,j] = { V : w i,j } an. Dabei ist w i,j = a i a i+1...a i+j 1 und 1 i n, 1 j n+1 i. Es gilt: w liegt genau dann in L(G), wenn S V[1,n]. Da G in CNF ist, gilt V[i,1]= { V : a i }. Für j 2 und V gilt wi,j genau dann, wenn es eine Regel BC und einen Index l {1,...,j 1} gibt, so daß B w i,l und C w i+l,j l. B C w i,l = a i...a i+l 1 w i+l,j l = a i+l...a i+j 1 w i,l w i+l,j l bbildung 46: bleitungsbaums für w i,j = a i a i+1...a i+j 1 Daher haben wir folgende rekursive Charakterisierung der Mengen V[i,j]. V[i,j] = j 1 l=1 { V : BC mit B V[i,l] C V[i+l,j l] }. 150
6 Diese Beobachtung wird im lgorithmus von Cocke-Younger-Kasami, kurz CYK-lgorithmus genannt, angewandt. Siehe lgorithmus 16 auf Seite 151. Dieser berechnet in Bottom-Up- Manier die Zeilen der folgenden Tabelle. V[1,n] V[1,n 1] V[2,n 1] V[1,n 2] V[2,n 2] V[3,n 2]. V[1, 2] V[2, 2] V[3, 2] V[4, 2]... V[n 1, 2] V[1, 1] V[2, 1] V[3, 1] V[4, 1]... V[n 1, 1] V[n, 1] a 1 a 2 a 3 a 4... a n 1 a n lgorithmus 16 Der CYK-lgorithmus (* Das Eingabewort sei w = a 1 a 2...a n. *) FOR i = 1,...,n DO V[i,1] := { V : a i }; FOR j = 2,...,n DO FOR i = 1,...,n + 1 j DO V[i,j] := ; FOR l = 1,...,j 1 DO V[i,j] := V[i,j] { V : BC mit B V[i,l] C V[i+l,j l]}; IF S V[1,n] THEN Return J. w L(G). ELSE Return NEIN. w L(G). FI Es ist offensichtlich, daß die Laufzeit des CYK-lgorithmus kubisch in der Länge des Eingabeworts ist und daß der Platzbedarf quadratisch ist, sofern die Grammatik als fest angesehen wird. Die Kosten beziehen sich auf den Fall, daß die kontextfreie Sprache durch eine feste CNF- Grammatik dargestellt ist. Die Größe der CNF-Grammatik wird daher als konstant angesehen. Wir erhalten folgenden Satz: Satz Das Wortproblem für CNF-Grammatiken läßt sich mit dem CYK-lgorithmus in Zeit O(n 3 ) und Platz O(n 2 ) lösen. Dabei ist n die Länge des Eingabeworts. Beispiel (CYK-lgorithmus). Die rbeitsweise des CYK-lgorithmus für die Sprache L = {a n b n : n 1}, dargestellt durch die CNF-Grammatik S C B C SB a B b, und das Wort w = aabb ist wie folgt. Im Initialisierungsschritt wird 151
7 V[1, 1]=V[2, 1]={} und V[3, 1]=V[4, 1]={B} gesetzt. Daraus ergibt sich V[1, 2]=V[3, 2]= und V[2, 2]={S}. Im zweiten Schleifendurchlauf erhalten wir V[1, 3]= und V[2, 3]={C}, da S V[2,2], B V[3,1] und C SB. Wegen V[1,1] und C V[2,3] ergibt sich V[1,4]= {S}. Die oben erwähnte Tabelle hat also die Gestalt: {S} {C} {S} {} {} {B} {B} a a b b Der lgorithmus terminiert also mit der ntwort J. Eigenschaften kontextfreier Sprachen Wie für reguläre Sprachen gibt es ein notwendiges Kriterium, das unter dem Stichwort Pumping Lemma bekannt ist und das für den Nachweis, daß eine Sprache nicht kontextfrei ist, hilfreich sein kann. Später diskutieren wir bschlußeigenschaften für die Klasse der kontextfreien Sprachen. 4.4 Das Pumping Lemma für kontextfreie Sprachen In nalogie zum Pumping Lemma für reguläre Sprachen gibt es ein notwendiges Kriterium für kontextfreie Sprachen. Wir werden dieses mit Hilfe der bleitungsbäume für CNF- Grammatiken beweisen. Satz (Pumping Lemma für kontextfreie Sprachen). Sei L eine kontextfreie Sprache. Dann gibt es eine natürliche Zahl n, so daß sich jedes Wort z L der Länge n wie folgt zerlegen läßt: z = uvwxy, wobei (1) vx 1 (2) vwx n (3) uv k wx k y L für alle k N. Beweis. Wir können o.e. annehmen, daß ε/ L. (Ist ε L, dann betrachten wir die Sprache L \{ε} anstelle von L.) Sei G eine CNF-Grammatik mit L = L(G) (siehe Satz 4.2.2, Seite 146). Weiter sei N = V die nzahl an Variablen in G. Die im Pumping Lemma genannte Konstante n ist wie folgt definiert: n = 2 N 152
8 Sei z L mit z n. Zu zeigen ist nun, dass sich z in fünf Teilwörter u,v,w,x,y zerlegen läßt, so dass Eigenschaften (1), (2) und (3) erfüllt sind. ls Hilfsmittel für die Definition solcher Teilwörter u, v, w, x, y verwenden wir einen bleitungsbaum T für z. Dieser ist ein Binärbaum mit z n Blättern. Innere Knoten mit genau einem Sohn repräsentieren eine Regel der Form a. Sie haben die Höhe 1. lle anderen inneren Knoten stehen für eine Regel der Form BC. Sie haben genau zwei Söhne. Die Höhe von T sei h+1. Es gilt: h log z logn = N. Sei v 0,v 1,...,v h+1 ein Pfad in T der Länge h+1 von der Wurzel v 0 zu einem Blatt v h+1. Weiter sei i die Markierung des Knotens v i, i = 0,1,...,h. Dann ist 0 = S, 1,..., h eine Folge von Variablen der Länge h+1 N+1. lso gibt es eine Variable und Indizes i,j {0,1,...,h}, so daß folgende drei Eigenschaften erfüllt sind: = i = j i < j i+1,..., h sind paarweise verschieden. Wir zerlegen z in z = uvwxy gemäß der Skizze in bbildung 47. S i j u v w x y z = uvwxy bbildung 47: Zerlegung von z in uvwxy 153
9 (1) Da G in CNF ist, ist v ε oder x ε. (Da v i ein innerer Knoten der Höhe > 1 ist, steht v i für das nwenden einer Regel der Gestalt i BC. Ist z.b. v j ein Nachfolger des mit B markierten Sohns von v i, so ist das aus C hergeleitete Wort ein Suffix von x. Somit ist x ε.) Es folgt: vx 1. (2) Wir betrachten den Teilbaum T mit Wurzel v i. T ist ein bleitungsbaum für die bleitung i vwx. Die Höhe von T ist h i+1, da v i,v i+1,...,v h+1 ein längster Pfad in T ist. Da i+1,..., h paarweise verschieden sind, gilt h i N. Die Höhe von T ist daher N+1. Da in jeder CNF-Grammatik die Höhe eines bleitungsbaum für ein Wort der Länge l mindestens logl + 1 ist, folgt hieraus: vwx 2 h i 2 N = n (3) bleitungen der Wörter uv k wx k y ergeben sich durch Kombinieren der bleitungen S u i y = uy, = j w, = i v j x = vx. Es folgt S uv k wx k y (also uv k wx k y L) für alle k N. bbildung 48 skizziert die bleitungsbäume für k = 0 und k = 2. Die Zerlegung z = uvwxy erfüllt also die drei geforderten Bedingungen. k = 0 : S uy uwy S k = 2 : S uy uvxy uvvxxy uv 2 wx 2 y S u w y u v v w x x y bbildung 48: Pumpeigenschaft für k = 0 und k = 2 154
Theoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 15.01.2015 INSTITUT FÜR THEORETISCHE 0 KIT 15.01.2015 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik
Theoretische Grundlagen der Informatik. Vorlesung am 8. Januar INSTITUT FÜR THEORETISCHE INFORMATIK
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
Grundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie Sprachen (III) 17.06.2015 Viorica Sofronie-Stokkermans e-mail: [email protected] 1 Übersicht 1. Motivation 2. Terminologie
Kontextfreie Sprachen. Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester Kontextfreie Sprachen
Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2012 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Wortproblem: der CYK-Algorithmus Pumping Lemma für kontextfreie Sprachen
Tutoraufgabe 1 (ɛ-produktionen):
Prof aa Dr J Giesl Formale Systeme, Automaten, Prozesse SS 2010 M Brockschmidt, F Emmes, C Fuhs, C Otto, T Ströder Hinweise: Die Hausaufgaben sollen in Gruppen von je 2 Studierenden aus dem gleichen Tutorium
Theoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 17. Januar 2012 INSTITUT FÜR THEORETISCHE 0 KIT 18.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der
Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 18/19
Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 6 Vorlesung Theoretische Grundlagen der Informatik im WS 18/19 Ausgabe 8. Januar 2019 Abgabe 22. Januar 2019, 11:00 Uhr (im
Ein Fragment von Pascal
Ein Fragment von Pascal Wir beschreiben einen (allerdings sehr kleinen) Ausschnitt von Pascal durch eine kontextfreie Grammatik. Wir benutzen das Alphabet Σ = {a,..., z, ;, :=, begin, end, while, do} und
Klammersprache Definiere
Klammersprache w=w 1...w n {(,)}* heißt korrekt geklammert, falls die Anzahl ( ist gleich der Anzahl ). in jedem Anfangsstück w 1,...,w i (i n) ist die Anzahl ( nicht kleiner als die Anzahl ). Definiere
Einführung in die theoretische Informatik Sommersemester 2017 Übungsblatt Lösungsskizze 7
Prof. J. Esparza Technische Universität München S. Sickert, J. Krämer KEINE ABGABE Einführung in die theoretische Informatik Sommersemester 2017 Übungsblatt 7 Übungsblatt Wir unterscheiden zwischen Übungs-
Theoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Übung am 4.2.2011 INSTITUT FÜR THEORETISCHE INFORMATIK 0 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Kontextfreie (Typ-2) Sprachen
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
Ogden s Lemma (T6.4.2)
Weiteres Beispiel L={a r b s c t d u r=0 s=t=u} Nahe liegende Vermutung: L nicht kontextfrei. Kann man mit dem Pumping-Lemma nicht zeigen. r=0: Pumpen erzeugt Wort aus L. r>0: Pumpen der a s erzeugt Wort
Lemma Für jede monotone Grammatik G gibt es eine kontextsensitive
Lemma Für jede monotone Grammatik G gibt es eine kontextsensitive Grammatik G mit L(G) = L(G ). Beweis im Beispiel (2.): G = (V,Σ, P, S) : P = {S asbc, S abc, CB BC, ab ab, bb bb, bc bc, cc cc}. (i) G
Übungsblatt 7. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17
Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 7 Vorlesung Theoretische Grundlagen der Informatik im W 16/17 Ausgabe 17. Januar 2017 Abgabe 31. Januar 2017, 11:00 Uhr (im
Kapitel 3. Kontextfreie Sprachen. Induktive Charakterisierung der Sprache L der korrekten Klammerausdrücke: (w) L, falls w L vw L, falls v, w L
Kapitel 3 Kontextfreie Sprachen Induktive Charakterisierung der Sprache L der korrekten Klammerausdrücke: s. Übung ε L (w) L, falls w L vw L, falls v, w L (R0) (R1) (R2) Für beliebige w {(, )} kann w L
Lösungen zu Übungsblatt 6
Lösungen zu Übungsblatt 6 Aufgabe 1 Um nachzuweisen, dass eine Sprache L nicht kontextfrei ist, genügt es nach dem (starken) Pumping Lemma für kontextfreie Sprachen zu zeigen: Für jedes n 0 existiert ein
Ogden s Lemma: Der Beweis (1/5)
Ogden s Lemma: Der Beweis (1/5) Wir betrachten zuerst die Rahmenbedingungen : Laut dem auf der vorhergehenden Folie zitierten Satz gibt es zur kontextfreien Sprache L eine Grammatik G = (Σ, V, S, P) in
Grundlagen der Theoretischen Informatik
1 Grundlagen der Theoretischen Informatik Till Mossakowski Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Wintersemester 2014/15 2 Kontextfreie Grammatiken Definition: Eine Grammatik G
Übungen zur Vorlesung Einführung in die Theoretische Informatik, Blatt 12 LÖSUNGEN
Universität Heidelberg / Institut für Informatik 7. Juli 24 Prof. Dr. Klaus Ambos-Spies Nadine Losert Übungen zur Vorlesung Einführung in die Theoretische Informatik, Blatt 2 LÖSUNGEN Aufgabe Verwenden
Beweis des Pumping Lemmas
Beweis des Pumping Lemmas Die Sprache L sei eine Typ-2 Sprache, d.h. es gibt eine Typ-2 Grammatik G =(V,, P, S) in CNF, so dass L = L(G) gilt. Wir fixieren eine solche Grammatik G und wählen n = 2 V. Nun
Übungsblatt 7. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17
Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 7 Vorlesung Theoretische Grundlagen der Informatik im W 16/17 Ausgabe 17. Januar 2017 Abgabe 31. Januar 2017, 11:00 Uhr (im
kontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung
Theoretische Informatik Rainer Schrader Zentrum für Angewandte Informatik Köln 14. Juli 2009 1 / 40 2 / 40 Beispiele: Aus den bisher gemachten Überlegungen ergibt sich: aus der Chomsky-Hierarchie bleiben
Dank. 1 Ableitungsbäume. 2 Umformung von Grammatiken. 3 Normalformen. 4 Pumping-Lemma für kontextfreie Sprachen. 5 Pushdown-Automaten (PDAs)
ank Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert iese Vorlesungsmaterialien basieren ganz wesentlich auf den Folien zu den Vorlesungen
Informales Beispiel. Formale Grundlagen der Informatik 1 Kapitel 6 Eigenschaften kontextfreier Sprachen. Grammatiken. Anmerkungen
Informales Beispiel Formale Grundlagen der Informatik 1 Kapitel 6 Eigenschaften kontextfreier Sprachen Frank Heitmann [email protected] 22. April 2014 I L IL ID L a b c D 0 1 2 3 4 Eine
Informatik III - WS07/08
Informatik III - WS07/08 Kapitel 5 1 Informatik III - WS07/08 Prof. Dr. Dorothea Wagner [email protected] Kapitel 5 : Grammatiken und die Chomsky-Hierarchie Informatik III - WS07/08 Kapitel 5 2 Definition
I.5. Kontextfreie Sprachen
I.5. Kontextfreie prachen Zieht man in Betracht, dass BNF-yteme gerade so beschaffen sind, dass auf der linken eite immer genau ein Nichtterminal steht, so sind das also gerade die Ableitungsregeln einer
Theoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 12.01.2012 INSTITUT FÜR THEORETISCHE 0 KIT 12.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik
Musterlösung Informatik-III-Nachklausur
Musterlösung Informatik-III-Nachklausur Aufgabe 1 (2+2+4+4 Punkte) (a) L = (0 1) 0(0 1) 11(0 1) 0(0 1) (b) Der Automat ist durch folgendes Übergangsdiagramm gegeben: 0, 1 0, 1 0, 1 0, 1 0 s q 1 1 0 0 q
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.
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. Sie erzeugt z.b. das Wort aabbcc: S asbc aabcbc aabhbc aabhcc
Umformung NTM DTM. Charakterisierung rek. aufz. Spr. Chomsky-3-Grammatiken (T5.3) Chomsky-0-Grammatik Rek. Aufz.
Chomsky-0-Grammatik Rek. Aufz. Satz T5.2.2: Wenn L durch eine Chomsky-0- Grammatik G beschrieben wird, gibt es eine NTM M, die L akzeptiert. Beweis: Algo von M: Schreibe S auf freie Spur. Iteriere: Führe
Theoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 18.01.2011 INSTITUT FÜR THEORETISCHE INFORMATIK 0 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Grammatiken. Grammatiken sind regelbasierte Kalküle zur Konstruktion von Systemen und Sprachen Überprüfung von Systemen und Sprachen
Grammatiken Grammatiken sind regelbasierte Kalküle zur Konstruktion von Systemen und Sprachen Überprüfung von Systemen und Sprachen Grammatiken eignen sich besonders zur Modellierung beliebig tief geschachtelter,
Kontextfreie Sprachen
Kontextfreie Sprachen besitzen große Bedeutung im Compilerbau Chomsky-Normalform effiziente Lösung des Wortproblems (CYK-Algorithmus) Grenzen kontextfreier Sprachen (Pumping Lemma) Charakterisierung durch
Kontextfreie Sprachen
Kontextfreie Sprachen Bedeutung: Programmiersprachen (Compilerbau) Syntaxbäume Chomsky-Normalform effiziente Lösung des Wortproblems (CYK-Algorithmus) Grenzen kontextfreier Sprachen (Pumping Lemma) Charakterisierung
Theoretische Informatik
Theoretische Informatik Prof. Meer, Dr. Gengler Aufgabenblatt 7 Besprechung in KW 48 / Abgabe in KW 49 Heften Sie unbedingt alle Blätter Ihrer Lösung zusammen und geben Sie oben auf dem ersten Blatt Ihren
Algorithmen und Datenstrukturen (EI)
Algorithmen und Datenstrukturen (EI) ADS Zentralübung Stefan Schmid 4. Februar 2009 Einturnen... Ein heutiger Computer aus dem Saturn ist im Prinzip eine Turing Maschine? Nein. Zum Beispiel Sprache L =
q 0 q gdw. nicht (q A) (q A) q i+1 q gdw. q i q oder ( a Σ) δ(q, a) i δ(q, a) L = {a n b n : n N} für a, b Σ, a b
Kap. 2: Endliche Automaten Myhill Nerode 2.4 Minimalautomat für reguläre Sprache Abschnitt 2.4.3 L Σ regulär der Äuivalenzklassen-Automat zu L ist ein DFA mit minimaler Zustandszahl (= index( L )) unter
Definition 4 (Operationen auf Sprachen) Beispiel 5. Seien A, B Σ zwei (formale) Sprachen. Konkatenation: AB = {uv ; u A, v B} A + = n 1 An
Definition 4 (Operationen auf Sprachen) Seien A, B Σ zwei (formale) Sprachen. Konkatenation: AB = {uv ; u A, v B} A 0 = {ɛ}, A n+1 = AA n A = n 0 An A + = n 1 An Beispiel 5 {ab, b}{a, bb} = {aba, abbb,
Kapitel 2: Formale Sprachen Gliederung
Gliederung 0. Motivation und Einordnung 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie 2.1. Chomsky-Grammatiken 2.2. Reguläre Sprachen 2.3. 2/5, Folie 1 2017 Prof.
Kontextfreie Grammatiken
Kontextfreie Grammatiken Bisher haben wir verschiedene Automatenmodelle kennengelernt. Diesen Automaten können Wörter vorgelegt werden, die von den Automaten gelesen und dann akzeptiert oder abgelehnt
Grundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie Sprachen (II) 11.06.2015 Viorica Sofronie-Stokkermans e-mail: [email protected] 1 Übersicht 1. Motivation 2. Terminologie
Sei Σ ein endliches Alphabet. Eine Sprache L Σ ist genau dann regulär, wenn sie von einem regulären Ausdruck beschrieben werden kann.
Der Satz von Kleene Wir haben somit Folgendes bewiesen: Der Satz von Kleene Sei Σ ein endliches Alphabet. Eine Sprache L Σ ist genau dann regulär, wenn sie von einem regulären Ausdruck beschrieben werden
Was bisher geschah Chomsky-Hierarchie für Sprachen: L 0 Menge aller durch (beliebige) Grammatiken beschriebenen Sprachen L 1 Menge aller monotonen
Was bisher geschah Chomsky-Hierarchie für Sprachen: L 0 Menge aller durch (beliebige) Grammatiken beschriebenen Sprachen L 1 Menge aller monotonen (Kontextsensitive) Sprachen L 2 Menge aller kontextfreien
Theoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Übung am 02.02.2012 INSTITUT FÜR THEORETISCHE 0 KIT 06.02.2012 Universität des Andrea Landes Schumm Baden-Württemberg - Theoretische und Grundlagen der Informatik
A : z z A : z z : ( z, x, z ) δ
Informatik IV, SoS2003 1 Definition 1.1 Ein Quintupel A =(X,Z,z 0,δ,Z f )heißt nichtdeterministischer endlicher Automat (NEA): 1. X, Z sind endliche nichtleere Mengen. 2. z 0 Z 4. δ Z X Z Informatik IV,
Algorithmen mit konstantem Platzbedarf: Die Klasse REG
Algorithmen mit konstantem Platzbedarf: Die Klasse REG Sommerakademie Rot an der Rot AG 1 Wieviel Platz brauchen Algorithmen wirklich? Daniel Alm Institut für Numerische Simulation Universität Bonn August
Übung zur Vorlesung Grundlagen der theoretischen Informatik. Aufgabenblatt 7 Lösungen. Wiederholung: Pumping-Lemma für kontextfreie Sprachen
Prof. Dr. Viorica Sofronie-Stokkermans Universität Koblenz-Landau Fachbereich 4: Informatik Dennis Peuter 01. Juni 2017 Übung zur Vorlesung Grundlagen der theoretischen Informatik Aufgabenblatt 7 Lösungen
2.1 Allgemeines. Was ist eine Sprache? Beispiele:
Was ist eine Sprache? Beispiele: (a) Deutsch, Japanisch, Latein, Esperanto,...: Natürliche Sprachen (b) Pascal, C, Java, Aussagenlogik,...: Formale Sprachen Wie beschreibt man eine Sprache? (i) Syntax
3 kontextfreie Sprachen
Hans U. Simon Bochum, den 7.10.2008 Annette Ilgen Beispiele zur Vorlesung Theoretische Informatik WS 08/09 Vorbemerkung: Hier findet sich eine Sammlung von Beispielen und Motivationen zur Vorlesung Theoretische
Algorithmische Bioinformatik 1
Algorithmische Bioinformatik 1 Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 2009 Übersicht Algorithmen
Formale Grundlagen der Informatik
Formale Grundlagen der Informatik / 2015 1 Reguläre Ausdrücke Kommen in der Praxis immer dann vor, wenn standardisierte Eingaben erforderlich sind: Telefonnummern: +Land (0) Ort Anschluß Dateinamen: (A-Z,
Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 17/18
Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 6 Vorlesung Theoretische Grundlagen der Informatik im WS 17/18 Ausgabe 10. Januar 2018 Abgabe 23. Januar 2018, 11:00 Uhr (im
Definition der Greibach-Normalform
Definition der Greibach-Normalform Ähnlich wie die CNF wollen wir noch eine zweite Normalform einführen, nämlich die Greibach-Normalform (GNF), benannt nach Sheila Greibach: Definition: Eine Typ-2 Grammatik
Grundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie prachen (VI) 25.06.2015 Viorica ofronie-tokkermans e-mail: [email protected] 1 Übersicht 1. Motivation 2. Terminologie
Kapitel: Die Chomsky Hierarchie. Die Chomsky Hierarchie 1 / 14
Kapitel: Die Chomsky Hierarchie Die Chomsky Hierarchie 1 / 14 Allgemeine Grammatiken Definition Eine Grammatik G = (Σ, V, S, P) besteht aus: einem endlichen Alphabet Σ, einer endlichen Menge V von Variablen
Übungsblatt Nr. 3. Lösungsvorschlag
Institut für Kryptographie und Sicherheit Prof. Dr. Jörn Müller-Quade Dirk Achenbach Tobias Nilges Vorlesung Theoretische Grundlagen der Informatik Übungsblatt Nr. 3 Aufgabe 1: Karlsruhe ist nicht genug
Automatentheorie und formale Sprachen
Automatentheorie und formale Sprachen VL 8 Chomsky-Grammatiken Kathrin Hoffmann 23. Mai 2012 Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 23.5. 2012 250 Wortproblem Wortproblem ist das
Übungen zu Grundlagen der Theoretischen Informatik
Übungen zu Grundlagen der Theoretischen Informatik INSTITUT FÜR INFORMATIK UNIVERSITÄT KOBLENZ-LANDAU SS 2013 Lösungen 07 Übungen GTI SS 2013 Manfred Jackel 2 Übungen GTI SS 2013 Manfred Jackel 3 Aufgabe
Chomsky-Grammatiken 16. Chomsky-Grammatiken
Chomsky-Grammatiken 16 Chomsky-Grammatiken Ursprünglich von Chomsky in den 1950er Jahren eingeführt zur Beschreibung natürlicher Sprachen. Enge Verwandschaft zu Automaten Grundlage wichtiger Softwarekomponenten
Reguläre Sprachen. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer,
Reguläre Sprachen Reguläre Sprachen (Typ-3-Sprachen) haben große Bedeutung in Textverarbeitung und Programmierung (z.b. lexikalische Analyse) besitzen für viele Entscheidungsprobleme effiziente Algorithmen
Satz 90 Sei A = (Q, Σ, δ, q 0, F ) ein DFA. Der Zeitaufwand des obigen Minimalisierungsalgorithmus ist O( Q 2 Σ ).
Satz 90 Sei A = (Q, Σ, δ, q 0, F ) ein DFA. Der Zeitaufwand des obigen Minimalisierungsalgorithmus ist O( Q 2 Σ ). Beweis: Für jedes a Σ muss jede Position in der Tabelle nur konstant oft besucht werden.
Theorie der Informatik
Theorie der Informatik 8. Reguläre Sprachen II Malte Helmert Gabriele Röger Universität Basel 24. März 24 Pumping Lemma Pumping Lemma: Motivation Man kann zeigen, dass eine Sprache regulär ist, indem man
Aufgabentypen: Spickerblatt: kontextfrei (Typ 2): zusätzlich: u ist eine!"# v 1
Info4 Stoff Aufgabentypen: Grammatik CH einordnen NFA DFA Grammatik Chomsky-NF CYK-Algorithmus: Tabelle / Ableitungsbäume Grammatik streng kf. Grammatik Grammatik Pumping Lemma Beweis, dass Gr. nicht reg,
Das Halteproblem für Turingmaschinen
Das Halteproblem für Turingmaschinen Das Halteproblem für Turingmaschinen ist definiert als die Sprache H := { T w : T ist eine TM, die bei Eingabe w {0, 1} hält }. Behauptung: H {0, 1} ist nicht entscheidbar.
Schnitt- und Äquivalenzproblem
Schnitt- und Äquivalenzproblem Das Schnittproblem besteht in der Frage, ob der Schnitt zweier gegebener regulärer Sprachen L 1 und L 2 leer ist. Dabei können die Sprachen durch DEAs oder Typ-3 Grammatiken,
Grundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie Sprachen (I) 3.06.2015 Viorica Sofronie-Stokkermans e-mail: [email protected] 1 Organisatorisches 1. Teilklausur: Mittwoch,
24. Kontextfreie Sprachen
24. Kontextfreie Sprachen Obwohl das Wortproblem für kontextsensitive Sprachen entscheidbar ist, ist nicht bekannt, ob dieses auch tatsächlich d.h. in Polynomialzeit entscheidbar ist. Da man allgemein
1. Klausur zur Vorlesung Informatik III Wintersemester 2003/2004. Mit Lösung!
Universität Karlsruhe Theoretische Informatik Fakultät für Informatik WS 23/4 ILKD Prof. Dr. D. Wagner 2. Februar 24. Klausur zur Vorlesung Informatik III Wintersemester 23/24 Mit Lösung! Beachten Sie:
Stichpunktezettel fürs Tutorium
Stichpunktezettel fürs Tutorium Moritz und Dorian 18. November 2009 1 Chomskys Erstschlag 1.1 Reguläre Sprachen und Grammatiken Aufgabe 1. Wie sieht die Sprache zu den folgenden Grammatiken aus? 1. G =
2. Übungsblatt 6.0 VU Theoretische Informatik und Logik
2. Übungsblatt 6.0 VU Theoretische Informatik und Logik 25. September 2013 Aufgabe 1 Geben Sie jeweils eine kontextfreie Grammatik an, welche die folgenden Sprachen erzeugt, sowie einen Ableitungsbaum
10 Kellerautomaten. Kellerautomaten
10 Kellerautomaten Bisher hatten wir kontextfreie Sprachen nur mit Hilfe von Grammatiken charakterisiert. Wir haben gesehen, dass endliche Automaten nicht in der Lage sind, alle kontextfreien Sprachen
Theoretische Informatik. Exkurs: Komplexität von Optimierungsproblemen. Optimierungsprobleme. Optimierungsprobleme. Exkurs Optimierungsprobleme
Theoretische Informatik Exkurs Rainer Schrader Exkurs: Komplexität von n Institut für Informatik 13. Mai 2009 1 / 34 2 / 34 Gliederung Entscheidungs- und Approximationen und Gütegarantien zwei Greedy-Strategien
Deterministischer Kellerautomat (DPDA)
Deterministische Kellerautomaten Deterministischer Kellerautomat (DPDA) Definition Ein Septupel M = (Σ,Γ, Z,δ, z 0,#, F) heißt deterministischer Kellerautomat (kurz DPDA), falls gilt: 1 M = (Σ,Γ, Z,δ,
Maike Buchin 18. Februar 2016 Stef Sijben. Probeklausur. Theoretische Informatik. Bearbeitungszeit: 3 Stunden
Maike Buchin 8. Februar 26 Stef Sijben Probeklausur Theoretische Informatik Bearbeitungszeit: 3 Stunden Name: Matrikelnummer: Studiengang: Geburtsdatum: Hinweise: Schreibe die Lösung jeder Aufgabe direkt
Andererseits ist L kontextfrei, wie die einfache kontextfreie Grammatik G = ({a, b},{s}, S, P) mit den Regeln
REG versus CF Theorem REG ist echt in CF enthalten. Beweis: Wir wissen: L = {a m b m m 1} ist nicht regulär. Andererseits ist L kontextfrei, wie die einfache kontextfreie Grammatik G = ({a, b},{s}, S,
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Prof. Martin Lercher Institut für Informatik Heinrich-Heine-Universität Düsseldorf Teil 10 Suche in Graphen Version vom 13. Dezember 2016 1 / 2 Vorlesung 2016 / 2017 2 /
Algorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen 2 Lerneinheit 3: Greedy Algorithmen Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Sommersemester 2016 10.5.2016 Einleitung Einleitung Diese Lerneinheit
Informatik 3 Theoretische Informatik WS 2015/16
2. Probeklausur 22. Januar 2016 Informatik 3 Theoretische Informatik WS 2015/16 Prof. Dr. Peter Thiemann Albert-Ludwigs-Universität Freiburg Institut für Informatik Name: Matrikel-Nr.: Schreiben Sie Ihren
