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

Ähnliche Dokumente
Klausur zur Vorlesung Einführung in die Theoretische Informatik

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

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

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

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

Musterlösung Informatik-III-Nachklausur

Nachklausur zur Vorlesung Einführung in die Theoretische Informatik

Theoretische Grundlagen der Informatik

Theoretische Informatik

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

Theoretische Grundlagen der Informatik

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.

Grundlagen der Theoretischen Informatik

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

Vorlesung Theoretische Informatik (Info III)

Informatik III - WS07/08

Universität Heidelberg 23. Juli 2018 Institut für Informatik Prof. Dr. Klaus Ambos-Spies Dipl. Math. Martin Monath

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

Lösung zur Klausur. Grundlagen der Theoretischen Informatik im WiSe 2003/2004

Tutoraufgabe 1 (ɛ-produktionen):

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK

Ogden s Lemma: Der Beweis (1/5)

Theoretische Grundlagen der Informatik

Lösungen zu Übungsblatt 6

Theoretische Grundlagen der Informatik

Grundlagen der Theoretischen Informatik

20. REGULÄRE SPRACHEN

24. Kontextfreie Sprachen

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK

Grundlagen der Theoretischen Informatik

Formale Grundlagen der Informatik 1 Kapitel 7 Eigenschaften kontextfreier Sprachen

Zentralübung zur Vorlesung Theoretische Informatik

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

Übung zur Vorlesung Grundlagen der theoretischen Informatik. Aufgabenblatt 7 Lösungen. Wiederholung: Pumping-Lemma für kontextfreie Sprachen

Informales Beispiel. Formale Grundlagen der Informatik 1 Kapitel 6 Eigenschaften kontextfreier Sprachen. Grammatiken. Anmerkungen

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

1. Teilklausur zur Vorlesung Grundlagen der Theoretischen Informatik

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

Kontextfreie Sprachen

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2012

Formale Grundlagen der Informatik

Beweis des Pumping Lemmas

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

Ogden s Lemma (T6.4.2)

Kontextfreie Sprachen

Theoretische Grundlagen der Informatik

Ein Fragment von Pascal

Musterlösung Informatik-III-Klausur

(Prüfungs-)Aufgaben zu formale Sprachen

2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2017/2018

Formale Grundlagen der Wirtschaftsinformatik

Algorithmen und Datenstrukturen (EI)

4.2 Die Chomsky Normalform

Motivation natürliche Sprachen

Theoretische Informatik I

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

10 Kellerautomaten. Kellerautomaten

Klausur zur Vorlesung Informatik III Wintersemester 2007/2008

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK

Grundbegriffe der Informatik Tutorium 12

Chomsky-Grammatiken 16. Chomsky-Grammatiken

Informatik 3 Theoretische Informatik WS 2015/16

Definition der Greibach-Normalform

Reguläre Sprachen. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer,

1. Übungsblatt 6.0 VU Theoretische Informatik und Logik

Informatik IV Theoretische Informatik: Formale Sprachen und Automaten, Berechenbarkeit und NP-Vollständigkeit. Zugangsnummer: 3288

Grundlagen der Theoretischen Informatik

Binärbäume und Pfade

2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2016/2017

Endliche Automaten, reguläre Ausdrücke, rechtslineare Grammatiken

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

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

Einführung in die Computerlinguistik. Chomskyhierarchie. Dozentin: Wiebke Petersen Wiebke Petersen Einführung CL (SoSe 2010) 1

Automatentheorie und formale Sprachen

F2 Zusammenfassung Letzte Tips zur Klausur

Hochschule Bonn-Rhein-Sieg University of Applied Sciences Grantham-Allee Sankt Augustin

Grundlagen der Theoretischen Informatik

Theoretische Grundlagen der Informatik

Automaten und formale Sprachen Notizen zu den Folien

Algorithmen und Datenstrukturen (EI)

Vorlesung im Sommersemester Informatik IV. Probeklausurtermin: 21. Juni 2016

16. Die Chomsky-Hierarchie

Tutorium 23 Grundbegriffe der Informatik (10. Sitzung)

1. Klausur zur Vorlesung Informatik III Wintersemester 2004/2005

Nachklausur zur Vorlesung

3 kontextfreie Sprachen

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

Akzeptierende Turing-Maschine

Universität des Saarlandes Theoretische Informatik (WS 2015) Lösungsvorschlag 4

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

1. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2017/2018

2. Gegeben sei folgender nichtdeterministischer endlicher Automat mit ɛ-übergängen:

Lösungen zum Ergänzungsblatt 2

Einführung in die Theoretische Informatik

2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2014/2015

Grundlagen der Theoretischen Informatik

2. Teilklausur zur Vorlesung Grundlagen der Theoretischen Informatik

Transkript:

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 Sie das in der Vorlesung angegebene Verfahren, um die kontextfreie Grammatik G = ({S, A, B, C, D}, {, }, P, S) mit den Regeln in Chomsky-Normalform zu überführen. S AB A A CD C C λ D D λ B B LÖSUNG. Zunächst geben wir eine zu G äquivalente separierte Grammatik G an: G = ({S, A, B, C, D,, }, {, }, P, S) mit den Regeln S AB A A CD C C λ D D λ B B Zur Bestimmung der Menge der eliminierbaren Variablen E = {X N : X λ P } von G deniert man nun induktiv die Mengen E = {X N : X λ P }

E n+ = E n {X N : w E n(x w P )} Für das kleinste n mit E n = E n+ gilt dann E = E n. Für die gegebene Grammatik G erhält man: E = {X N : X λ P } = {C, D} Also: E 2 = {C, D} {X N : w {C, D} (X w P )} = {C, D} {A, C, D} = {A, C, D} E 3 = {A, C, D} {X N : w {A, C, D} (X w P )} = {A, C, D} {A, C, D} = {A, C, D} E = E 2 = {A, C, D}. Eine zu G äquivalente λ-treue kontextfreie Grammatik G 2 ist dann: wobei P 2 folgende Regeln enthält: G 2 = ({S, S, A, B, C, D,, }, {, }, P 2, S ) S S S AB B A A CD C D C C D D B B Im dritten Schritt beseitigt man nun zu lange Regel D D und erhält die Grammatik mit den Regeln G 3 = ({S, S, A, B, C, D, Z, }, {, }, P 3, S ) S S S AB B A A CD C D C C D Z Z D B B Zuletzt müssen noch die Variablenumbenennungen beseitigt werden. Für die aus einer Variable X durch Umbenennungen erreichbaren Variablenmengen U(X) erhalten wir: U(S ) = {S, S, B, }, U(S) = {S, B, }, U(A) = {A, C, D, }, U(B) = {B, }, U(C) = {C, }, U(D) = {D} U(Z) = Z,

U() = {} und U() = {}. Wir erhalten die Grammatik mit den Regeln G 4 = ({S, S, A, B, C, D, Z, }, {, }, P 4, S ) S AB B S AB B A A C CD Z C C D Z Z D B B. Diese Grammatik ist in Chomsky-Normalform. Aufgabe 2 (a) Zeigen Sie mit Hilfe des Pumpinglemmas für kontextfreie Sprachen, dass die Sprache nicht kontextfrei ist. L = {ww : w Σ 2} (b) Geben Sie eine Grammatik vom Erweiterungstyp an, die L erzeugt. Zeigen Sie mit Hilfe des Pumpinglemmas für kontextfreie Sprachen, dass die Sprache nicht kontextfrei ist. L = {ww : w Σ 2} LÖSUNG. (a) Der Beweis ist indirekt. Widerspruchsannahme: L sei kontextfrei. Nach dem Pumpinglemma gibt es dann eine Zahl p, sodass jedes Wort z in L, dessen Länge p ist, sich in 5 Teile, z = uvwxy, zerlegen lässt, wobei diese Zerlegungen die folgenden Eigenschaften hat: (i) vx λ (ii) vwx < p (iii) Für alle n gilt: uv n wx n y L. Da das Wort z = p p p p in L liegt und z = 4p p gilt, gibt es also eine Zerlegung p p p p = z = uvwxy mit den obigen Eigenschaften. Vergleichen wir diese Zerlegung mit der Zerlegung z = z z 2 z 3 z 4 in die 4 Blöcke z = z 3 = p und z 2 = z 4 = p, so liegt wegen (ii) das Teilwort vwx von z entweder komplett in einem der Blöcke z i oder ist Teil von zwei benachbarten Blöcken z i z i+. Betrachtet man daher das Wort z = uwy = uv wx y, so hat dieses wegen (i) und (ii) eine der folgenden Gestalten: q p p p oder p q p p oder p p q p oder p p p q wobei q < p

bzw. q q p p oder p q q p oder p p q q wobei min(q, q ) < p. Wie man unmittelbar sieht, erhält man also in jedem Fall ein Wort z, das nicht von der Gestalt w w ist, also nicht in L liegt. Das widerspricht aber der Eigenschaft (iii) der Zerlegung z = uvwxy. (b) Eine Grammatik vom Erweiterungstyp, die L erzeugt, ist mit den Regeln G = ({S, A, B, C, C, C, C, C, C }, {, }, P, S) S λ AB A AC AC C C C C C x C x für x {,,,,, } C x C x für x {,,,,, } C x B BC x für x {,,,,, } BC B BC B BC BC BC BC. Die Funktionsweise der Grammatik ist wie folgt: Wörter ww der Länge höchstens 2 werden direkt generiert. Für längere Wörter wird zunächst mittels der Regel S AB das Wort AB generiert. A kennzeichnet fortan den Anfang des ersten Vorkommens, B den Anfang des zweiten Vorkommens von w in ww. Sukzessive können nun Buchstaben vorne an das erste Teilwort angehängt werden, indem diese von A erzeugt werden. Dabei erzeugt A jeweils gleichzeitig eine Variable C x, die sich merkt, welcher Buchstabe erzeugt wurde und mittels des dritten Regelblocks dann nach rechts durch das bereits erzeugte Wort wandert, bis sie direkt hinter B steht. Dort kann dann der gleiche Buchstabe im zweiten Teilwort erzeugt werden. Damit die Grammatik vom Erweiterungstyp ist, müssen dabei die letzten zwei Buchstaben des Teilworts w gemeinsam erzeugt werden, so dass es möglich ist, die Variablen B und C x später gemeinsam zu löschen bzw. durch die zwei zu erzeugenden Buchstaben im zweiten Teilwort zu ersetzen. Aufgabe 3 Die rechtslineare Grammatik G = ({S, X, Y, Z}, {,, 2}, P, S) verfüge über die folgenden Regeln: S X X Y Y 222Z Z S λ

(a) Bestimmen Sie die von G erzeugte Sprache L(G). (b) Geben Sie eine zu G äquivalente rechtslineare Grammatik in Chomsky-Normalform an. (c) Geben Sie einen deterministischen endlichen Automaten an, der L(G) akzeptiert. LÖSUNG: (a) Die Regeln - 3 müssen im Paket gefolgt von einer Anwendung der Regel 4 bzw. Regel 5 angewendet werden. Die Regeln S 222S 222 sind also zu dem gegebenen Produktionensystem äquivalent. Es wird daher die Sprache erzeugt. L(G) = {(222) n : n } (b) Man könnte das in der Vorlesung angegebene Verfahren zur Bestimmung der Chomsky- Normal-form auf die gegebene Grammatik G anwenden. Einfacher ist es, von L(G) ausgehend eine L(G) erzeugende rechtslineare Grammatik in Chomsky-Normalform direkt anzugeben. Unter Verwendung der in der Lösung von (a) angegebenen einfacheren zu P äquivalenten Regeln erhalten wir so: wobei P aus folgenden Regeln besteht: (c) Folgender DEA akzeptiert L(G): G = ({S, X, X 2, X 3, X 4, X 5 }, {,, 2}, P, S), S X X X 2 X 2 X 3 X 3 2X 4 X 4 2X 5 X 5 2S 2 z start S z X z Y z Y2 2 z Z3 2 z Z2 2 z Z Aufgabe 4 Die Sprache L bestehe aus allen nichtleeren Binärwörtern, in denen das Teilwort höchstens einmal vorkommt.

(a) Geben Sie eine rechtslineare Grammatik G an, die L erzeugt. (b) Geben Sie einen nichtdeterministischen endlichen Automaten M mit vier Zuständen an, der L akzeptiert. LÖSUNG. (a) Ein Wort, das höchstens ein Vorkommen des Teilwortes enthält, muss von der Form m n k l mit m, n, k, l sein. Eine rechtslineare Grammatik G, die genau die nichtleeren Wörter dieser Form erzeugt, ist G = ({S, A, B, C}, {, }, P, S) mit Regelmenge P = {S S A, A A B, B B C, C C }. (b) z start z 2 z 4 z 3 Aufgabe 5 Es sei L die reguläre Sprache L = {w {,, 2} : w enthält das Teilwort 22}. (a) Geben Sie eine rechtslineare Grammatik an, die L erzeugt. (b) Geben Sie einen nichtdeterministischen endlichen Automaten an, der L erkennt. Stellen Sie hierbei den Automaten durch sein Übergangsdiagramm dar. LÖSUNG: s. Klausur 22.