Übungsblatt Nr. 5. Lösungsvorschlag

Ähnliche Dokumente
Lösungen zur Vorlesung Berechenbarkeit und Komplexität

Übungsblatt Nr. 6. Lösungsvorschlag

Übungsblatt Nr. 7. Lösungsvorschlag

Übungsblatt Nr. 5. Lösungsvorschlag

Einführung in die Theoretische Informatik

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

Theorie der Informatik Übersicht. Theorie der Informatik SAT Graphenprobleme Routing-Probleme. 21.

Klausur: Berechenbarkeit und Komplexität (Niedermeier/Chen/Froese/Sorge, Sommersemester 2016)

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

Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Reduktion. Komplexitätsklassen.

Kapitel L:II. II. Aussagenlogik

Weitere NP-vollständige Probleme

NP-vollständige Probleme. Michael Budahn - Theoretische Informatik 1

Dank. Theoretische Informatik II. Teil VI. Vorlesung

abgeschlossen unter,,,, R,

Kochrezept für NP-Vollständigkeitsbeweise

Formale Grundlagen der Informatik 1 Kapitel 23 NP-Vollständigkeit (Teil 2)

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

Theoretische Grundlagen der Informatik

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

14. Die polynomiell beschränkten Komplexitätsklassen. Die Grenzen der tatsächlichen Berechenbarkeit

Statt Turingmaschinen anzugeben, genügt die Angabe eines C++ Programms oder die Angabe eines Pseudocodes.

Grundlagen der Informatik II

Einführung (1/3) Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (1) Vorlesungen zur Komplexitätstheorie.

Komplexität von Algorithmen Musterlösungen zu ausgewählten Übungsaufgaben

Einführung in die Theoretische Informatik

Vorname Name Matrikelnummer 1. a) Benennen Sie die übrigen 6 Komponenten einer nicht-deterministischen Turingmaschine (TM): (3 Punkte)

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

Berechenbarkeitstheorie 24. Vorlesung

Konjunktive Normalform

Übungsblatt Nr. 3. Lösungsvorschlag

Logik für Informatiker

Klausur zur Vorlesung Mathematische Logik

Theoretische Grundlagen der Informatik

Grundlagen der Informatik II Übungsblatt: 4, WS 17/18 mit Lösungen

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

Kapitel 1.4. Exkurs: Entscheidbarkeit und Komplexität. Mathematische Logik (WS 2012/3) K. 1.4: Entscheidbarkeit und Komplexität 1/10

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

Die Klassen P und NP. Formale Grundlagen der Informatik 1 Kapitel 11. Die Klassen P und NP. Die Klasse P

Formale Grundlagen der Informatik 1 Kapitel 16 Normalformen und Hornformeln

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

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

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

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

Diskrete Strukturen Wiederholungsklausur

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

Unentscheidbarkeitssätze der Logik

Theoretische Informatik SS 03 Übung 11

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

P, NP und NP -Vollständigkeit

Polynomielle Verifizierer und NP

12. Woche: Verifizierer, nicht-deterministische Turingmaschine, Klasse NP

Abbildung 1: Reduktion: CLIQUE zu VERTEX-COVER. links: Clique V = {u, v, x, y}. rechts:der Graph Ḡ mit VC V \ V = {w, z}

Reduktionen. Algorithmen und Datenstrukturen Kapitel 6.2 Komplexitätstheorie. Exkurs: Reduktionen allgemein. Reduktionen: Erläuterungen

Einführung in die Informatik 2

Theoretische Grundlagen der Informatik

Algorithmen zur Visualisierung von Graphen

Theoretische Grundlagen der Informatik

Wie komme ich von hier zum Hauptbahnhof?

Theoretische Informatik 1

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

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK

3. Klausur Einführung in die Theoretische Informatik Seite 1 von Welches der folgenden klassischen Probleme der Informatik ist entscheidbar?

Welche Probleme können Rechner (effizient) lösen? Die P = NP Frage. Ideen der Informatik Kurt Mehlhorn

Musterlösung Informatik-III-Klausur

Einführung in die Theoretische Informatik

Berechenbarkeitstheorie 19. Vorlesung

Allgemeingültige Aussagen

Grundlagen der Informatik Kapitel 20. Harald Krottmaier Sven Havemann

Logik für Informatiker

Grundlagen der Theoretischen Informatik

Entscheidungsprobleme

Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012

Teil III. Komplexitätstheorie

Probeklausur zur Vorlesung Berechenbarkeit und Komplexität

Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Teil VI. Komplexitätstheorie.

NP-vollständige Probleme

Grundlagen der Theoretischen Informatik

Probleme aus NP und die polynomielle Reduktion

Formale Systeme. Übung: Reinhard Hemmerling Büsgenweg 4, Raum 89 (1. Stock) rhemmer<at>gwdg.de

Reelle Komplexität - Grundlagen II

Logik für Informatiker

Reduktion / Hilberts 10. Problem

NP-Vollständigkeit und der Satz von Cook und Levin

1. Klausur Einführung in die Theoretische Informatik Seite 1 von 14

Knoten-Partitionierung in feste Eigenschaften ist NP-schwer

Logik für Informatiker

Übungsblatt Nr. 3. Lösungsvorschlag

Die Klasse NP und die polynomielle Reduktion

Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen. Wintersemester 2012/13

Diskrete Strukturen und Logik WiSe 2007/08 in Trier. Henning Fernau Universität Trier

Berechenbarkeit und Komplexität: Rekursive Aufzählbarkeit und die Technik der Reduktion

Die Reduktion Hilberts 10. Problem

Der Lese-Schreib-Kopf kann auch angehalten werden (H). Die Verarbeitung ist dann beendet.

Hier ist ein einfaches Turingprogramm. Außer dem Leerzeichen ist das Band nur mit. 1 belegt.

Lösungsvorschläge Blatt Z1

Informatik-Grundlagen

2.5 Halteproblem und Unentscheidbarkeit

3. Klausur Einführung in die Theoretische Informatik Seite 1 von 14

Resolutionskalkül. wird t als eine Menge K t von Klauseln geschrieben, welche die einzelnen Maxterme repräsentieren:

Transkript:

Institut für Kryptographie und Sicherheit Prof. Dr. Jörn Müller-Quade Dirk Achenbach Tobias Nilges Vorlesung Theoretische Grundlagen der Informatik Übungsblatt Nr. 5

Aufgabe 1: Eine schöne Bescherung (K) (4 Punkte) Der ebenso geniale wie kältefühlige Wissenschaftler und Superbösewicht Doktor Meta möchte den Weihnachtsmann ausrauben. Dazu hat er sich einen konkreten Plan überlegt. Er kennt alle n Kamine, die der Weihnachtsmann über Weihnachten anfliegt. Außerdem ist ihm klar, dass der Weihnachtsmann immer eine optimale Route fliegt, da es ihm sonst aufgrund relativistischer Effekte nicht möglich wäre, alle Geschenke rechtzeitig in t Zeiteinheiten auszuliefern. Doktor Meta möchte nun die Route bestimmen, die der Weihnachtsmann nimmt, um ihn abzupassen, jedoch ohne die ganze Nacht in der Kälte an einem Ort auszuharren. Allerdings hat er die Vermutung, dass der Weihnachtsmann über ein NP-Orakel verfügt, mit dem er schwierige Probleme löst. Gegeben sei das WEIHNACHTSMANNPROBLEM mit Kaminen K, Routenabschnitten R, und einer Funktion f : R N, welche die Reisedauer jedes Routenabschnitts angibt. Es sei K = n, R = m. Finde eine Route (r 1,..., r n 1 ), r i R, mit n 1 i f(r i ) t, auf der jeder Kamin k K genau einmal besucht wird. i.) Zeigen Sie, dass das WEIHNACHTSMANNPROBLEM NP-vollständig ist, indem Sie das im Skript beschriebene Problem HAMPATH (Problem 3.39) auf das WEIHNACHTS- MANNPROBLEM reduzieren. Nehmen Sie dabei HAMPATH als NP-vollständig an. (3P) ii.) Zeichnen Sie das Haus vom Nikolaus ohne Absetzen: (1P) i.) Wir zeigen zuerst, dass das WEIHNACHTSMANNPROBLEM in NP liegt. Dazu nehmen wir an, dass wir eine Route (r 1,..., r n1 ) gegeben bekommen. Wir bilden jetzt einfach die Summe n 1 i f(r i ) und prüfen, ob sie t ist. Weiterhin prüfen wir, ob alle Kamine aus K angeflogen werden. Diese Überprüfung ist in Linearzeit möglich. Jetzt muss eine Instanz des Problems HAMPATH in eine Instanz des WEIHNACHTS- MANNPROBLEMs transformiert werden. Dazu kurz zur Erinnerung: Gegeben ist ein Graph G = (V, E), wobei V die Knoten und E die Kanten beschreibt; weiterhin soll ein Pfad von den Knoten a nach b gefunden werden, sodass jeder Knoten v V einmal besucht wird. Wir nehmen im Folgenden an, dass Routen gerichtet sind. Die Transformation ist dann einfach: Jeder Knoten stellt einen Kamin dar, jede Kante eine Route. Als Reisedauer legen f(x) := 1 fest. Die Start- und Zielknoten a und b ergänzen wir durch je einen zusätzlichen Knoten, den wir hinzufügen. Diese neuen Knoten verbinden wir jeweils mit genau einer Kante mit a und b. Damit erzwingen wir, dass die Route des Weihnachtsmanns von a nach b geht (oder andersrum; die Route ist symmetrisch). ii

Gibt es jetzt einen effizienten Algorithmus für das WEIHNACHTSMANNPROBLEM, können wir diesen nutzen, um jedes Problem aus HAMPATH in Polynomialzeit zu lösen. Also folgt, dass das WEIHNACHTSMANNPROBLEM NP-vollständig ist. Sind die Routen des WEIHNACHTSMANNPROBLEMs ungerichtet und betrachten wir das Hamiltonpfadproblem für gerichtete Graphen, ist nicht so einfach klar, wie die Transformation gelingt. Tatsächlich ist aber auch das Hamiltonpfadproblem für ungerichtete Graphen NP-vollständig. Auf Übungsblatt 6 zeigen wir, dass das Hamiltonpfadproblem für gerichtete und ungerichtete Graphen äquivalent sind. ii.) 1 2 3 Aufgabe 2 (K): Komplexitätstheorie (4 Punkte) 5 7 Geben Sie für die folgenden Aussagen mit einer Begründung an, ob sie stimmen. (jeweils 1P) i.) 2-COL / NP. 4 6 ii.) Wenn P = NP, dann gilt für jede Sprache L P, dass L NP C. iii.) Es gibt keine Probleme, die NP -schwer sind, aber nicht in NP liegen. iv.) Das Problem DNF-SAT, also die Erfüllbarkeit einer aussagenlogischen Formel in disjunktiver Normalform, liegt in P. 8 i.) Die Aussage ist falsch, 2-COL ist sogar in P. Gegeben ein 2-gefärbten Graphen müssen alle zu einem Knoten adjazenten Knoten eine andere Farbe haben. Dies ist in polynomieller Laufzeit überprüfbar. iii

ii.) Die Aussage ist falsch, obwohl sie für alle Sprachen außer und Σ korrekt ist. Wenn P = NP, dann ist jede Sprache aus P auch in NP. Weiter ist die auch NP -schwer: Die Transformation aus jeder anderen NP -Sprache L kann die L -Instanz selbst in Polynomialzeit lösen und dann eine ja oder nein -Instanz von L ausgeben. Dieser Trick versagt bei und Σ, da diese Sprachen keine ja -, respektive nein -Instanzen haben. iii.) Doch, das Halteproblem ist NP -schwer, aber es liegt nicht in NP. iv.) Richtig, ein Algorithmus, um dies in Polynomialzeit zu lösen: Es muss nur eine Klausel gefunden werden, die zu wahr auswertet. Dazu prüft man für alle Literale einer Klausel, ob sie sowohl negiert als auch nicht-negiert in der Klausel vorkommen. Ist dies nicht der Fall, ist die Klausel erfüllbar und damit die komplette Formel. Aufgabe 3: Das Partyproblem (K) (4 Punkte) Gegeben sei das folgende NP-vollständige PARTYPROBLEM mit einer (endlichen) Menge S an Studenten, einer (endlichen) Menge P an Parties, einer Menge T an Terminen und einer Relation R S P. Dabei bedeutet (s, p) R, dass Student s die Party p besuchen möchte. Gibt es eine Abbildung f : P T, sodass alle Studenten alle Parties besuchen können, ohne dass sie eine Party vorzeitig verlassen müssen, also p 1, p 2 P : (s, p 1 ) R (s, p 2 ) R p 1 p 2 f(p 1 ) f(p 2 ) Nutzen Sie dieses Problem, um zu zeigen, dass SAT NP-vollständig ist. Aus der Vorlesung wissen wir, dass SAT NP. Nun müssen wir eine Polynomialzeit-Transformation vom PARTYPROBLEM auf SAT angeben. Dazu nutzen wir die folgende Codierung: Jede Party-Termin-Kombination ergibt eine boolesche Variable, x t p, die genau dann wahr ist, wenn an Termin t die Party p stattfindet. Jede Party findet nur an einem Termin statt: C 1 = p P t T p ) t T,t t (x t p x t Für keinen Studenten finden zwei Parties zeitgleich statt: C 2 = (p 1,p 2 ) P P mit t T (s,p 1 ) R,(s,p 2 ) R und p 1 p 2 (x t p 1 x t p 2 ) iv

Jede Party muss stattfinden: C 3 = x t p p P t T Eine erfüllende Belegung für C = C 1 C 2 C 3 löst das PARTYPROBLEM. Die Transformation kann offensichtlich in Polyzeit berechnet werden. Daraus folgt, dass SAT NP C. Aufgabe 4: Mehr Entscheidbarkeit (K) (4 Punkte) Zeigen Sie: i.) Die Sprache L = { M M ist eine Turingmaschine und L(M) ist semi-entscheidbar} ist entscheidbar. (2P) ii.) Das Halteproblem HALT = { M w M ist eine Turingmaschine und M hält auf der Eingabe w.} ist semi-entscheidbar. (2P) i.) Durch probeweises Decodieren der Gödelnummer kann man leicht testen, ob sie eine Turingmaschine beschreibt. Weiter ist eine Sprache nach Definition dann semi-entscheidbar, wenn eine Turingmaschine existiert, die sie akzeptiert. Folglich ist jede Sprache, die von einer Turingmaschine akzeptiert wird, semi-entscheidbar. Insgesamt ist L also entscheidbar. ii.) Um zu zeigen, dass das Halteproblem semi-entscheidbar ist, müssen wir eine Maschine angeben, die genau dann akzeptiert, wenn die gegebene Maschine M auf w hält: Simuliere M auf w. Akzeptiere. v