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 Kasten im UG von Gebäude 50.34) Bitte nutzen ie den WebIncribe Deckblattgenerator und heften ie das Deckblatt an Ihr Übungsblatt. https://webinscribe.ira.uka.de/deckblatt/index.php?course=10588. Aufgabe 1 (2 + 2 = 4 Punkte) Zeigen ie, dass folgende prachen nicht kontextfrei sind: (a) L 1 = {w {a, b, c} : w a = w b = w c }, wobei w x angibt, wie oft x in w vorkommt. (b) L 2 = { a i b i c j i j }. (a) Idee: widerlege die Annahme, dass L 1 kontextfrei ist, mit dem Pumpinglemma. Nehme also an, dass L 1 kontextfrei ist. Dann existiert nach dem Pumpinglemma ein n N, so dass für jedes Wort z mit z n eine Zerlegung z = uvwxy mit vx 1 und vwx n, so dass uv i wx i y L 1 für alle i 0. Wegen vwx n kann vx kann nicht gleichzeitig a s und c s enthalten. Das Wort uv 2 wx 2 y enthält also nicht gleich viele a s und c s, liegt also nicht in L 1, was ein Widerspruch zur Annahme ist, dass L 1 kontextfrei ist. (b) Idee: widerlege die Annahme, dass L 2 kontextfrei ist, mit Ogdens Lemma. Wähle n als Konstante aus Ogdens Lemma. Betrachte z = a n+1 b n+1 c n+1 L 2 und markiere alle b s. Betrachte Zerlegung z = uvwxy gemäß Ogdens Lemma. Dann muss mindestens ein b zu vx gehören. Da höchstens n markierte Buchstaben zu vwx gehören dürfen, kann vx nicht gleichzeitig a s und c s enthalten. Das Wort uv 0 wx 0 y enthält dann entweder zu viele c s, oder zu viele b s und ist deswegen nicht in L 2 enthalten. Widerspruch. Aufgabe 2 (1 + 1 + 2 = 4 Punkte)
Über dem Alphabet Σ = {a, b} sei der reguläre Ausdruck r := (a (ab(b) ba)) gegeben. Gebe eine Typ-k Grammatik mit maximalem k an, die L(r) erzeugt. Die prache L(r) ist regulär und kann somit von einer Typ-3 Grammatik erzeugt werden. Σ = {a, b}, Variablen {, B 1, B 2, B 3, A, T }, tartsymbol a ab 1 ɛ B 1 bb 2 bb 3 B 2 bb 2 bb 3 B 3 ba A at a T ɛ Konstruiere eine Typ-1-Grammatik, welche die prache L = {a n b 2n c n : n 1} erzeugt. Σ = {a, b, c}, Variablen {, A, T, C, U, V }, tartsymbol AT C (1) T AT C (2) T UV (3) AU au b (4) Aa aa (5) V C bv c (6) cc Cc (7) U ɛ (8) V ɛ (9) Konstruiere eine Typ-2-Grammatik, welche die prache L = {w {0, 1} : w 0 = w 1 } erzeugt. Zeigen ie, dass Ihre Grammatik tatsächlich die prache L erzeugt. Die folgende Grammatik G = (Σ, V,, R) mit Alphabet Σ = {0, 1}, Variablen V = {}, tartsymbol, Produktionen R = { 01 10 ɛ} ist vom Typ 2. Noch zu Zeigen: L(G) = L
L(G) L. Gilt weil jede Regel entweder kein Element aus Σ oder genau eine 0 und genau eine 1 erzeugt. L(G) L. ei w ein Wort aus L. Wir beweisen durch strukturelle Induktion, dass w aus durch Produktionen aus R erzeugt werden kann. Induktionshypothese: Alle Wörter aus L mit Länge maximal n sind aus durch die Produktionen R erzeugbar. Induktionsschluss: Alle Wörter aus L mit Länge maximal n + 2 sind aus durch die Produktionen R erzeugbar. ei w L mit Länge n + 2 1. Fall w = 0 w1 bzw w = 1 w0 für ein w. Dann wende die Regel 01 bzw 10 an. Wegen der Induktionshypothese ist w erzeugbar und die Behauptung gilt 2. Fall w = 0 w0. Wegen w 0 = w 1 gilt w 0 + 2 = w 1. Deswegen gibt es eine Zerlegung w = uv, u ɛ, v ɛ mit u 0 = u 1 und v 0 = v 1. Finde eine solche Zerlegung (geht in linearer Zeit), wende die Regel and. Mit der Induktionshypothese folgt die Behauptung. 3. Fall w = 1 w1. Geht analog zum 2. Fall. Aufgabe 3 (2+2 = 4 Punkte) ind die prachen von Typ 0 abgeschlossen unter (a) Vereinigung, Durchschnitt, Komplementbildung, (b) Konkatenation? (a) Aus VL bekannt: Chomsky-Typ-0 entspricht genau den semientscheidbaren prachen. Aus Übungsblatt bekannt: emi-entscheidbare prachen sind abgeschlossen unter, aber nicht abgeschossen unter Komplement (b) Chomsky-Typ-0 prachen sind abgeschlossen unter Konkatenation. eien G 1 = (Σ 1, V 1, 1, P 1 ) und G 2 = (Σ 2, V 2, 2, P 2 ) Typ-0 Grammatiken. O.B.d.A seine Σ 1, V 1, Σ 2, V 2 disjunkt. Die Grammatik G = (Σ 1 Σ 2, V 1 V 2,, P 1 P 2 { 1 2 }) erzeugt G 1 G 2. Falls Σ 1, V 1, Σ 2, V 2 nicht disjunkt sind, mache diese disjunkt durch Umbenennung und füge Produktionen in G ein, die die Umbenennung zu Ende rückgängig machen. Aufgabe 4 (4 Punkte)
ei G = (Σ, V,, R) die CH-2-Grammatik mit Σ = {a, b}, V = {A, B, C, D, E, } und der folgenden Regelmenge R: A aaa bbb ε A C a B C b C CDE ε D A B ab E Bestimme eine Grammatik G für L(G) in Chomsky-Normalform. 1. chritt: Alle Regeln enthalten auf der rechten eite nur ymbole aus V oder nur ein ymbol aus Σ. A Y a AY a Y b BY b ε A C a B C b C CDE ε D A B ab E Y a Y a Y b Y b 2. chritt: Alle rechten eiten haben Länge 2. A Y a C 1 Y b C 2 ε A C a B C b C CC 3 ε D A B ab E C 1 AY a C 2 BY b C 3 DE
3. chritt: Es kommen keine Regeln A ε vor. Berechne V = {A V A ε} = {, C, A, B, D}. A Y a C 1 Y b C 2 A C a B C b C CC 3 C 3 D A B Y a Y b E C 1 AY a Y a C 2 BY b Y b C 3 DE E 4. chritt: Ersetzung aller Kettenregeln A B. Der Abhängigkeitsgraph aller an Kettenregeln beteiligten Variablen ist gegeben durch:... Es gibt nur einen Kreis A C C 3 E mit beteiligten Kettenregeln A, A C, C C 3, C 3 E. Diese Regeln werden gelöscht und alle Vorkommen von, A, C, C 3, E in allen Regeln werden durch ersetzt. Wir erhalten die Regelmenge: Y a C 1 Y b C 2 a B b D Y a Y b C 1 Y a Y a C 2 BY b Y b D Nach Löschen aller Regeln der Form erhalten wir dann: Y a C 1 Y b C 2 a D B b D Y a Y b C 1 Y a Y a C 2 BY b Y b Der Abhängigkeitsgraph aller an Kettenregeln beteiligten Variablen ist nun azyklisch und kann topologisch geordnet werden. Eine mögliche Ordnung ist gegeben durch B, D,, C 1, Y a, C 2, Y b. Wir
verarbeiten die Regeln in umgekehrter Reihenfolge und ersetzen Kettenregeln. Y a C 1 Y b C 2 a D B Y a C 1 Y b C 2 a D b D Y a C 1 Y b C 2 a D Y a Y b C 1 Y a a C 2 BY b b Diese Regelmenge ist in Chomsky-Normalform. Zum chluß müssen wir die Grammatik noch ergänzen durch die Regeln ε und für ein neues tartsymbol, da die ursprüngliche Grammatik die Ableitung ε zuläßt. Aufgabe 5 (1 + 1 + 0,5 + 1,5 + 1 = 5 Punkte) (a) Bestimme eine möglichst kurze Grammatik G R für reguläre Ausdrücke über dem Alphabet Σ = {0, 1} mit maximalem Chomsky-Typ. (b) Bestimme einen Ableitungsbaum für das Wort (1 0) 1. (c) Ist die Grammatik eindeutig? (d) Bringen ie G R in Chomsky-Normalform. (e) Überprüfen ie die Zugehörigkeit des Worts (1 0) 1 zu L(G R ) mit dem CYK-Algorithmus. (a) Grammatik G R für reguläre Ausdrücke: (b) Ableitungsbaum () ε 0 1 1 () 0 1 (c) Es gibt mehrere Wege das Wort 1 (bilde auf ε1 ab oder umgekehrt) aus der Grammatik herzuleiten, daher ist die Grammatik mehrdeutig. (d) Normalisierung: 1. chritt: Alle Regeln enthalten auf der rechten eite nur ymbole aus V oder nur ein ymbol aus Σ. Y Y Y ( Y ) ε 0 1 Y Y Y ( ( Y ) )
2. chritt: Alle rechten eiten haben Länge 2. Y C 1 Y ( C 2 ε 0 1 C 1 Y C 2 Y ) Y Y Y ( ( Y ) ) Grammatik ist schon in Chomsky-Normalform. (e) CYK-Tabelle: C 2 C 1 C 2 Y ( Y Y ) Y ( 1 0 ) 1 Aufgabe 6 (1 + 4 = 5 Punkte) Gegeben sei die Grammatik G 1 = (Σ, V,, R) mit Σ = {a, b}, V = {, A, B} und der Regelmenge R: aa ε A a bb B bb ba. (a) Welchen Chomsky-Typ hat G 1? (b) Konstruiere einen nichtdeterministischen endlichen Automaten für L(G) mithilfe des Verfahrens aus dem kript. (a) G 1 ist eine CH-2-Grammatik.
(b) 1. chritt: Alle Regeln enthalten auf der rechten eite nur ymbole aus V oder nur ein ymbol aus Σ. A Y a B Y a C A B C Y c AY d B BY a ε D Y d Y d DD 2. chritt: Alle rechten eiten haben Länge 2. A Y a B Y a C A B C Y c C 1 B BY a ε D Y d Y d C 2 C 1 AY d 3. chritt: Es kommen keine Regeln A ε vor. Berechne V = {A V A ε} = {A, B}. Wir streichen die Regel B ε und führen als neue Regeln Y a, B Y a, C 1 Y d ein. A Y a B Y a C Y a A B C Y c C 1 B BY a Y a D Y d Y d C 2 C 1 AY d Y d 4. chritt: Ersetzung aller Kettenregeln A B. Es gibt nur einen Kreis: A B mit beteiligten Regeln A, A B, B. Diese Regeln werden gelöscht und alle Vorkommen
von, A, B in allen Regeln werden durch ersetzt. Wir erhalten die Regelmenge: Y a Y a C Y a C Y c C 1 Y a Y a D Y d Y d C 2 C 1 Y d Y d Nach Löschen aller Regeln der Form erhalten wir dann: Y a Y a C Y a C Y c C 1 Y a D Y d Y d C 2 C 1 Y d Y d Topologisches ortieren der verbleibenden an Kettenregeln beteiligten Variablen liefert z.b. die Reihenfolge der Variablen, C, Y a, D, C 1, Y c, Y d. Wir verarbeiten die Regeln in umgekehrter Reihenfolge und ersetzen Kettenregeln. Y a Y a C a d Y d C 2 c Y c C 1 Y a C d Y d C 2 c D d Y d C 2 C 1 Y d d Diese Regelmenge ist in Chomsky-Normalform. Zum chluß müssen wir die Grammatik noch ergänzen durch die Regeln ε und für ein neues tartsymbol, da die ursprüngliche Grammatik die Ableitung ε zuläßt.