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

Ähnliche Dokumente
Universität Karlsruhe Institut für Theoretische Informatik. Klausur: Informatik III

Die Klassen P und NP. Dr. Eva Richter. 29. Juni 2012

Einführung in Approximative Algorithmen und Parametrisierte Komplexität

Universität Karlsruhe Institut für Theoretische Informatik. Klausur: Informatik III

Berechenbarkeit und Komplexität

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

Grundlagen der Theoretischen Informatik Musterlösungen zu ausgewählten Übungsaufgaben

2. Schriftliche Leistungskontrolle (EK)

Musterlösung der Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2012/13

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

Probeklausur zur Vorlesung Berechenbarkeit und Komplexität

Theoretische Grundlagen der Informatik

Einführung in Berechenbarkeit, Komplexität und Formale Sprachen

Theoretische Informatik Mitschrift

Klausur Informatik-Propädeutikum (Niedermeier/Hartung/Nichterlein, Wintersemester 2012/13)

Speicherplatz-Komplexität 1 / 30

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

Einführung in Algorithmen und Komplexität

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

abgeschlossen unter,,,, R,

(Prüfungs-)Aufgaben zur Berechenbarkeits- und Komplexitätstheorie

Wortproblem für kontextfreie Grammatiken

Tutoraufgabe 1 (ɛ-produktionen):

(Prüfungs-)Aufgaben zu formale Sprachen

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

Endliche Sprachen. Folgerung: Alle endlichen Sprachen sind regulär. Beweis: Sei L={w 1,,w n } Σ*. Dann ist w 1 +L+w n ein regulärer Ausdruck für

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

Berechenbarkeits- und Komplexitätstheorie

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

16. Die Chomsky-Hierarchie

11. Woche: Turingmaschinen und Komplexität Rekursive Aufzählbarkeit, Entscheidbarkeit Laufzeit, Klassen DTIME und P

Die Komplexitätsklassen P und NP

8. Turingmaschinen und kontextsensitive Sprachen

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Ulrich Furbach. Sommersemester 2014

Theoretische Informatik. Grammatiken. Grammatiken. Grammatiken. Rainer Schrader. 9. Juli 2009

2.4 Kontextsensitive und Typ 0-Sprachen

Übung zur Vorlesung Berechenbarkeit und Komplexität

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

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

2. Teilklausur zur Vorlesung Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik

Das Briefträgerproblem

Algorithmen und Datenstrukturen Kapitel 6 Komplexitätstheorie

8 Diskrete Optimierung

Zwischenklausur zur Linearen Algebra I HS 2010, Universität Mannheim, Prof. Dr. C. Hertling, Ralf Kurbel

Theoretische Informatik 1

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

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK

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

ADS: Algorithmen und Datenstrukturen 2

Grammatik konstruieren, Beispiel Ausdrücke der Aussagenlogik in zwei Prädikaten p und q und den Verknüpfungsoperationen. Produktionsregeln:

TheGI 1: Grundlagen und algebraische Strukturen Prof. Dr.-Ing. Uwe Nestmann Februar Schriftliche Leistungskontrolle (EK)

Turing-Maschinen. Definition 1. Eine deterministische Turing-Maschine (kurz DTM) ist ein 6- Dem endlichen Alphabet Σ von Eingabesymbolen.

6 Kontextfreie Grammatiken

Theoretische Informatik

Datenstrukturen & Algorithmen Lösungen zu Blatt 6 FS 14

Klausur Algorithmen und Datenstrukturen

Rekursiv aufzählbare Sprachen

Theoretische Informatik I (Grundzüge der Informatik I)

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

1 Varianten von Turingmaschinen

Theoretische Grundlagen der Informatik

Theoretische Informatik Kap 2: Berechnungstheorie

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Einführung in Berechenbarkeit, Komplexität und formale Sprachen

11.1 Kontextsensitive und allgemeine Grammatiken

Einführung in die Theoretische Informatik

Grammatiken und die Chomsky-Hierarchie

Algorithmen II Vorlesung am

Lösungen zur 3. Projektaufgabe TheGI1

Komplexität und Komplexitätsklassen

Übungsaufgaben zu Formalen Sprachen und Automaten

Zusammenfassung Grundzüge der Informatik 4

Theoretische Informatik

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

NP-Vollständigkeit. Krautgartner Martin ( ) Markgraf Waldomir ( ) Rattensberger Martin ( ) Rieder Caroline ( )

Motivation. Formale Grundlagen der Informatik 1 Kapitel 10. Motivation. Motivation. Bisher haben wir mit TMs. Probleme gelöst/entschieden/berechnet.

Algorithmen II Vorlesung am

Theoretische Informatik 1

I.5. Kontextfreie Sprachen

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

Einführung in die Theoretische Informatik

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie

Theoretische Grundlagen der Informatik

Lösungsvorschläge Blatt Z1

Formale Methoden 1. Gerhard Jäger 12. Dezember Uni Bielefeld, WS 2007/2008 1/22

Optimierungsprobleme. B. Langfeld, M. Ritter, B. Wilhelm Diskrete Optimierung: Fallstudien aus der Praxis

MafI I: Logik & Diskrete Mathematik (F. Hoffmann)

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

Die Church-Turing-These

Stefan Schmid TU Berlin & T-Labs, Berlin, Germany. Reduktionen in der Berechenbarkeitstheorie

Einführung in die Graphentheorie. Monika König

Theoretische Informatik 1

Ausgewählte unentscheidbare Sprachen

LOOP-Programme: Syntaktische Komponenten

Definition Ein gerichteter Graph G = (V, E) ist ein Graph von geordneten Paaren (u, v) mit u V und v V.

Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete

Grundlagen der Informatik II

Vorlesung Theoretische Informatik

Theoretische Informatik Testvorbereitung Moritz Resl

Transkript:

Hochschuldozent Dr. Christian Schindelhauer Paderborn, den 21. 2. 2006 Lösungen zur 1. Klausur in Einführung in Berechenbarkeit, formale Sprachen und Komplexitätstheorie Name :................................ Matrikelnummer :................................ Punkteverteilung (bitte freilassen!) Aufgabe 1 von 200 Aufgabe 2 von 200 Aufgabe 3 von 250 Aufgabe 4 von 250 Aufgabe 5 von 100 Summe von 1000 Die Klausur besteht aus fünf Aufgaben und 18 Seiten. Bitte schreiben Sie auf jedes Blatt Ihre Matrikelnummer. Zugelassene Hilfsmittel: Ein eigenhändig beidseitig handbeschriebenes DIN A4-Blatt. Schreiben Sie Ihre Lösung bitte in die vorgesehenen Platzhalter. Sollte der Platz nicht ausreichen, erhalten Sie auf Anfrage weiteres Papier. 1

EBKFS WS 2005/2006 1. Klausur Aufgabe 1 (200 Punkte) a) (100 Punkte) Gegeben ist folgende Sprache: L := {x {0, 1} x enthält 110 und endet auf 0} Ordnen Sie diese Sprache in die höchstmögliche Klasse der Chomsky-Hierarchie ein. Kreuzen Sie dazu den entsprechenden Typ an. Zeigen Sie, dass L in genau dieser Klasse ist und zeigen Sie, warum L nicht höher eingeordnet werden kann. Chomsky-0 (rekursiv aufzählbare Sprachen) Chomsky-1 (kontextsensitive Sprachen) Chomsky-2 (kontextfrei Sprachen) Chomsky-3 (reguläre Sprachen) 2

Matrikelnummer: 21. 2. 2006 Fortsetzung von Aufgabe 1 a): 3

EBKFS WS 2005/2006 1. Klausur b) (100 Punkte) Gegeben ist folgende Sprache: L := {a i b j c k i, j, k 1, i = j oder i = k oder j = k} Ordnen Sie diese Sprache in die höchstmögliche Klasse der Chomsky-Hierarchie ein. Kreuzen Sie dazu den entsprechenden Typ an. Zeigen Sie, dass L in genau dieser Klasse ist und zeigen Sie, warum L nicht höher eingeordnet werden kann. Chomsky-0 (rekursiv aufzählbare Sprachen) Chomsky-1 (kontextsensitive Sprachen) Chomsky-2 (kontextfrei Sprachen) Chomsky-3 (reguläre Sprachen) 4

Matrikelnummer: 21. 2. 2006 Fortsetzung von Aufgabe 1 b): 5

EBKFS WS 2005/2006 1. Klausur Aufgabe 2 (200 Punkte) Betrachten Sie die folgende Grammatik G = (V, Σ, S, P ). Es ist V = {S, U, W, X, Y, Z}, Σ = {x, y} und die Menge P der Produktionen ist gegeben durch: S XY Y Z ɛ X Y X Y ZZ Z XY X W W U U x Y y Z x a) (50 Punkte) Formen Sie die Grammatik G zunächst in Chomsky-Normalform um. 6

Matrikelnummer: 21. 2. 2006 b) (100 Punkte) Entscheiden Sie nun mit Hilfe des CYK-Algorithmus, ob das Wort yxxyx in L(G) liegt. Geben Sie hierfür die vom CYK-Algorithmus erzeugte Tabelle T (i, j) an. l = 5 l = 4 l = 3 l = 2 l = 1 Platz für einen zweiten Versuch (gültigen Versuch kennzeichnen!): l = 5 l = 4 l = 3 l = 2 l = 1 Folgerung: 7

EBKFS WS 2005/2006 1. Klausur c) (50 Punkte) Geben Sie alle Teilwörter des Wortes yxxyx an, die in L(G) liegen. Lösung: G in Chomsky-Normalform: S XY Y Z ɛ X Y X Y ZZ Z XY X x Y y Z x Tabelle des CYK-Algorithmus: l = 5 {S, X} l = 4 {} {S, X, Z} l = 3 {} {Y } {Y } l = 2 {X, S} {Y } {S, Z} {X, S} l = 1 {Y } {X, Z} {X, Z} {Y } {X, Z} y x x y x Teilwörter aus yxxyx die in L(G) liegen: ɛ, yx, xy, xxyx 8

Matrikelnummer: 21. 2. 2006 Aufgabe 3 (250 Punkte) Betrachten Sie die folgende Sprache L: L = { M M akzeptiert mindestens 3 Eingaben x mit x = 5} a) (100 Punkte) Zeigen Sie, dass L rekursiv aufzählbar ist. 9

EBKFS WS 2005/2006 1. Klausur Fortsetzung von Aufgabe 3 a): Lösung: a) 2 Band DTM, die Woerter der Laenge 5 in betrachtet Es gibt nur endlich viele solcher Worte. DTM fuehrt für alle diese Worte zuerst 1 Schritt von M durch, anschliessend 2 Schritte,... Falls ein Wort akzeptiert wird, wird dieses auf Band 2 gespeichert Jedes weitere Wort wird mit gefundenem verglichen, falls neues Wort gefunden wurde, ebenfalls speichern Bei drittem gefundenem Wort akzeptieren. b) Lösung für H, für A analog H ist rek. aufz. nicht entscheidbar nicht rek. Ko-aufz. / P / NP H m L H m L O.b.d.A. ist Kodierung so, dass für jedes w Σ gilt, w ist von der Form w = M, x Reduktionsfunktion: f ( M, x ) = M Arbeitsweise von M : Lösche Eingabe Lasse M mit Eingabe x laufen Wenn M hält akzeptiere Korrektheit: M, x HALT = Simulation von M, x auf M hält für jede Eingabe, = M akzeptiert jede Eingabe, insbesondere also mindestens 3 Eingaben der Länge 5 = M L M, x / HALT = Simulation von M, x auf M hält für keine Eingabe, = M hält für keine Eingabe, insbesondere akzeptiert M keine Eingabe der Länge 5 = M / L c) Aus Vorlesung bekannt: ist L nicht entscheidbar, dann ist L oder L nicht rekursiv aufzählbar. 10

Matrikelnummer: 21. 2. 2006 Nach a) ist L rekursiv aufz., es genügt also zu zeigen, dass L nicht entscheidbar ist. Sei K := {S Σ T S mit x = 5 x T und T 3} und K die rekursiv aufz. Sprachen aus K Dann ist L = { M M ist DTM und L (M) K} K ist nicht trivial und enthält nicht alle rek. aufz. Sprachen Nach Satz von Rice ist L nicht entscheidbar 11

EBKFS WS 2005/2006 1. Klausur b) (100 Punkte) Zeigen Sie mit Hilfe einer Abbildungsreduktion, dass L nicht rekursiv ko-aufzählbar ist. Kreuzen Sie zunächst die Sprache an, die Sie für Ihre Reduktion verwenden möchten: H = { M, x M hält bei Eingabe x} A = { M, x M akzeptiert Eingabe x} T = { M M hält für jede Eingabe} Kreuzen Sie an, welche Aussagen für die von Ihnen gewählte Sprache gelten: Die Sprache ist rekursiv aufzählbar. Die Sprache ist entscheidbar. Die Sprache ist rekursiv ko-aufzählbar. Die Sprache liegt in P. Die Sprache liegt in N P. Führen Sie nun die Reduktion durch: 12

Matrikelnummer: 21. 2. 2006 Fortsetzung von Aufgabe 3 b): 13

EBKFS WS 2005/2006 1. Klausur c) (50 Punkte) Könnte Aufgabenteil b) unter Zuhilfenahme der Ergebnisse aus Teil a) auch mit Hilfe des Satzes von Rice gelöst werden? Begründen Sie Ihre Antwort. 14

Matrikelnummer: 21. 2. 2006 Aufgabe 4 (250 Punkte) Seien G = (V 1, E 1 ) und H = (V 2, E 2 ) zwei ungerichtete Graphen. G besitzt einen zu H isomorphen Subgraph, wenn die graphische Darstellung von H sich passend über einen Teil von G legen lässt. Dies wird durch eine bijektive Abbildung modelliert, die den entsprechenden Teil der Knoten V V 1 auf die Knoten V 2 von H abbildet. Formal: G besitzt einen zu H isomorphen Subgraph, wenn es Teilmengen V V 1 und E E 1 und eine bijektive Abbildung f : V V 2 gibt, so dass V = V 2, E = E 2 und {u, v} E {f(u), f(v)} E 2. Die Sprache SUBGRAPH ist nun wie folgt definiert: { } SUBGRAPH := G, H G und H sind ungerichtete Graphen und G enthält einen zu H isomorphen Subgraphen a) (100 Punkte) Zeigen Sie, dass die Sprache SUBGRAPH in N P liegt. Beweis: durch Angabe eines Verifizierers. Im folgenden kodiere das übergebene Zertifikat c die geforderte Funktion f in geeigenter Darstellung: Algorithm 1 SUBGRAPHVERIFIER 1: procedure SUBGRAPHVERIFIER(G, H, c = (V, E)) 2: Ist V = V 2 und E = E 2 fahre fort, sonst breche ab 3: for e = (u, v) E do 4: if (f(u), f(v)) E 2 then breche ab 5: end if 6: end for 7: Akzeptiere 8: end procedure Korrektheit Im ersten Schritt wird überprüft, ob die durch c kodierte Funktion exakt V 2 verschiedene Knoten aus V 2 und E 2 verschiedene Kanten aus E 2 enthält, also eine gültige Kodierung einer Lösung sein kann. In den beiden folgenden Schritten wird getestet, ob jede Kante und damit auch jeder Knoten aus H ein Pendant in G besitzt. Formal wird folgendes überprüft: {u, v} E {f(u), f(v)} E 2. Somit wird das Zertifikat genau dann akzeptiert, wenn c eine gültige Subgraphisomorphie von H in G kodiert. 15

EBKFS WS 2005/2006 1. Klausur Laufzeit Der erste Schritt benötigt O( V 2 log( V 2 )) Schritte, realisierbar mittels Sortierung und nochmaligen Durchlaufs zum Auffinden von Duplikaten. Danach kommt noch ein additiver Anteil von O( E 1 ) hinzu. In der Summe ist die Laufzeit immer noch polynomiell in der Länge der Eingabe b) (150 Punkte) Zeigen Sie, dass die Sprache SUBGRAPH N P-vollständig ist. Kreuzen Sie zunächst an, welche der folgenden N P-vollständigen, Ihnen bekannten Sprachen Sie für Ihre Reduktion verwenden wollen: 3SAT := { φ φ ist eine erfüllbare Funktion in 3-CNF } { CLIQUE := G, k { VERTEXCOVER := G, k G ist ein ungerichteter Graph mit einer Clique der Größe mindestens k G ist ein ungerichteter Graph mit einer k-knotenüberdeckung } } Führen Sie nun die Reduktion durch: Beweis: Wir geben im folgenden die drei bekannten Schritte an. Reduktionsfunktion festgelegt: Die Reduktionsfunktion f sei durch folgenden Algorithmus Algorithm 2 CLIQUETOSUBGRAPH 1: procedure CLIQUETOSUBGRAPH(G, k) 2: Erzeuge V 2 := {1,..., k(k 1) 2 } neue Knoten 3: Verbinde alle Knoten untereinander und speichere dies in E 2 4: return G, H = (V 2, E 2 ) H ist eine k-clique 5: end procedure Korrektheit Wir zeigen bei Richtungen: w CLIQUE G ist ein ungerichteter Graph mit einer Clique der Größe k Sei H = (V 2, E 2 ) der von der Clique induzierte Teilgraph Dann besitzt f(w) genau H als Untegraph von G 16

Matrikelnummer: 21. 2. 2006 f(w) SUBGRAPH G enthält einen zu H isomorphen Subgraphen. Dieser ist eine Clique nach Definition von f(w) w besitzt eine Clique der Größe k w besitzt eine Clique der Größe mindestens k w CLIQUE Laufzeit Erzeugen einer k-clique benötigt Zeit O(k 2 ), alle weiteren Operationen der Reduktion sind konstant. In der Summe ist die Reduktion also polynomiell. 17

EBKFS WS 2005/2006 1. Klausur Aufgabe 5 (100 Punkte) Beantworten Sie die folgenden Fragen ohne Begründung. Für jede richtige Antwort gibt es 10 Pluspunkte, für jede falsche 10 Minuspunkte. Nicht beantwortete Fragen erhalten null Punkte. Sie können insgesamt für diese Aufgabe nicht weniger als null Punkte erreichen. 1. Reguläre Sprachen können in linearer Zeit entschieden werden. 2. Jede Chomsky-1-Grammatik ist kontextfrei. 3. Sei L 1 eine kontextfreie Sprache. Dann gilt für L 2 L 1, dass L 2 ebenfalls kontextfrei ist. 4. Jede Sprache in N P ist rekursiv aufzählbar. 5. Für jede Sprache, für die es eine Chomsky-0-Grammatik gibt, lässt sich auch eine nichtdeterministische Turingmaschine angeben, die diese Sprache entscheidet. 6. Falls es einen polynomiellen Algorithmus für SUBSET-SUM gibt, gilt P = N P. 7. Die Beschreibungskomplexität einer Zeichenkette ergibt sich aus der Länge der Zeichenkette multipliziert mit einem ganzzahligen Faktor c. 8. Gegeben sei die Sprache DOZENT := { M M akzeptiert keine Eingabe außer der eigenen Codierung} Nach dem Satz von Rice ist die Sprache DOZENT nicht entscheidbar. 9. Wir wissen, dass für eine Sprache L gilt: H T L. Also ist L nicht rekursiv aufzählbar. 10. Für alle Sprachen in P hat der beste bekannte Algorithmus eine Laufzeit von O(2 n ). 18

Matrikelnummer: 21. 2. 2006 1. richtig 2. falsch 3. falsch 4. richtig 5. falsch 6. richtig 7. falsch 8. richtig 9. falsch 10. richtig 19