Technische Universität Berlin, Berlin, 28.07.2016 Name: ........................ Matr.-Nr.: ........................ Klausur: Berechenbarkeit und Komplexität (Niedermeier/Chen/Froese/Sorge, Sommersemester 2016) Einlesezeit: Bearbeitungszeit: Max. Punktezahl: 1 (12) 2 (10) 3 (8) 15 Minuten 60 Minuten 50 Punkte 4 (12) 5 (8) Σ (50) Allgemeine Hinweise: • Es sind keinerlei Hilfsmittel erlaubt. • Benutzen Sie einen dokumentenechten Stift in der Farbe schwarz oder blau. Insbesondere also keinen Bleistift, sondern einen Kugelschreiber oder einen nicht löschbaren Füller. • Beschriften Sie jedes Blatt mit ihren Vor- und Nachnamen und ihrer Matrikelnummer. • Falls es in der Aufgabenstellung nicht explizit ausgeschlossen wird, so sind alle Antworten zu begründen! Antworten ohne Begründung erhalten 0 Punkte. Viel Erfolg! Name: ........................ Matr.-Nr.: ........................ Aufgabe 1: Turing-Maschinen (6 + 6 Punkte) Betrachten Sie die nichtdeterministische Turing-Maschine M = ({q0 , q1 , q2 , q3 , q4 }, {0, 1}, {0, 1, #, }, δ, q0 , , {q4 }), wobei δ wie folgt definiert ist: #:#,R #:#,L 0:#,R q1 q3 :,L 0:#,L 0:#,R q0 1:#,R q4 1:#,L q2 1:#,R #:#,R 0:0,R 1:1,R Hinweis: Beispielsweise bedeutet der Pfeil mit Beschriftung „0:#,L“ von q1 zu q3 , dass M im Zustand q1 beim Lesen von 0 in den Zustand q3 übergeht, die 0 durch # ersetzt, und ihren Leseschreibkopf nach links bewegt. a) Finden Sie ein Wort der Länge drei, das nicht von der Turing-Maschine M akzeptiert wird. Beweisen Sie, dass die Turing-Maschine M ihr Wort nicht akzeptiert. b) Vervollständigen Sie die Konfigurationsfolge q0 0110 ` 0q0 110 ` . . . um zu zeigen, dass die Turing-Maschine M das Wort 0110 akzeptiert (ohne weitere Begründungen). Lösungsskizze a) M akzeptiert das Wort 101 nicht. Wir zeigen dies, indem wir alle möglichen Konfigurationsfolgen von M auf der Eingabe 101 untersuchen. • • • • q0 101 ` #q2 01 q0 101 ` 1q0 01 ` 1#q1 1 q0 101 ` 1q0 01 ` 10q0 1 ` 10#q2 q0 101 ` 1q0 01 ` 10q0 1 ` 101q0 Für die jeweils letzten Konfigurationen ist kein weiterer Übergang definiert. In keiner der erreichbaren Konfigurationen ist M im Endzustand q4 . Daher akzeptiert M das Wort 101 nicht. b) q0 0110 ` 0q0 110 ` 0#q2 10 ` 0q3 ##0 ` q3 0##0 ` #q1 ##0 ` ##q1 #0 ` ###q1 0 ` ##q3 ## ` #q3 ### ` q3 #### ` q3 #### ` q4 #### 2 Name: ........................ Matr.-Nr.: ........................ Aufgabe 2: Reduzierbarkeit und (Un-)Entscheidbarkeit (4 + 6 Punkte) Gegeben seien zwei endliche Alphabete Σ und Γ. Wir definieren, dass eine Sprache L1 ⊆ Σ∗ doppel-reduzierbar auf eine andere Sprache L2 ⊆ Γ∗ ist, in Zeichen L1 ≤d L2 , falls zwei totale, berechenbare Funktionen f1 und f2 : Σ∗ → Γ∗ existieren, so dass für alle Wörter x ∈ Σ∗ gilt: (x ∈ L1 ) ⇔ (f1 (x) ∈ L2 ) und (x ∈ L1 ) ⇔ (f2 (x) ∈ / L2 ) . Begründen oder widerlegen Sie die Korrektheit folgender Aussagen. a) Falls L1 doppel-reduzierbar auf L2 ist und zusätzlich L2 entscheidbar ist, dann ist L1 entscheidbar. b) Sei H ⊆ Σ∗ das allgemeine Halteproblem und sei L ⊆ Γ∗ eine beliebige Sprache. Falls H reduzierbar auf L ist, dann ist H auch doppel-reduzierbar auf L. In Zeichen: (H ≤ L) ⇒ (H ≤d L). Hinweis: Das allgemeine Halteproblem H ist semi-entscheidbar und Σ∗ \H ist unentscheidbar. Lösungsskizze a) Die Aussage ist korrekt. Begründung: Sei L2 entscheidbar und gelte L1 ≤d L2 vermöge f1 , f2 . Dann ist insbesondere f1 eine Reduktion von L1 auf L2 , also gilt L1 ≤ L2 . Daraus folgt mit der Entscheidbarkeit von L2 nach einem Satz aus der Vorlesung die Entscheidbarkeit von L1 . b) Die Aussage ist falsch. Gegenbeispiel: Wähle L := H. Offensichtlich gilt H ≤ H. Angenommen, H ≤d H vermöge f1 , f2 . Das heißt insbesondere, dass für alle x ∈ Σ∗ gilt, dass x ∈ H ⇔ f2 (x) 6∈ H. (1) Schreibe kurz H für Σ∗ \ H. Es gilt für alle x ∈ Σ∗ , dass (1) x ∈ H ⇔ x 6∈ H ⇔ f2 (x) ∈ H und damit H ≤ H vermöge f2 . Nach einem Satz aus der Vorlesung ist dann aber H semientscheidbar da H semi-entscheidbar ist. Das ist ein Widerspruch, denn H ist bekanntermaßen nicht semi-entscheidbar. 3 Name: ........................ Matr.-Nr.: ........................ Aufgabe 3: Satz von Rice (4 + 4 Punkte) Sei Σ ein endliches Alphabet und sei Mw die von w ∈ Σ∗ kodierte Turing-Maschine. Der aus der Vorlesung bekannte Satz von Rice lautet wie folgt: Sei R die Menge aller Turing-berechenbaren Funktionen. Sei außerdem S ⊆ R eine nicht-triviale Teilmenge von R, das heißt, S = 6 ∅ und S = 6 R. ∗ Dann ist die Sprache C(S) := {w ∈ Σ | die von Mw berechnete Funktion liegt in S} unentscheidbar. Zeigen Sie für die folgenden beiden Sprachen entweder deren Unentscheidbarkeit mit Hilfe des Satzes von Rice oder beschreiben Sie die Vorgehensweise einer Turing-Maschine, die die Sprache entscheidet. a) L1 := {w ∈ Σ∗ | die von Mw berechnete Funktion ist keine konstante Funktion} b) L2 := {w ∈ Σ∗ | Mw akzeptiert w in höchstens |w|2 Schritten} Lösungsskizze a) L1 ist unentscheidbar. Wir beweisen das durch Anwendung des Satzes von Rice: Definiere S als die Menge aller nicht konstanten, Turing-berechenbaren Funktionen, das heißt S := {f ∈ R | ∃x, y ∈ Σ∗ .f (x) 6= f (y)}. Dann ist Ω ∈ / S, aber id ∈ S. Also ist ∅ = 6 S= 6 R. Demnach ist S nicht-trivial und nach Satz von Rice folgt, dass C(S) unentscheidbar ist. Wegen L1 = C(S) ist damit L1 unentscheidbar. b) L2 ist entscheidbar. Dazu konstruieren wir eine TM M , die beim Eingabe w ∈ Σ∗ , die kodierte TM Mw auf die selbe Eingabe w für |w|2 viele Schritte simuliert. Wenn Mw das Wort w innerhalb von |w|2 Schritten akzeptiert, so lassen wir M das Wort w akzeptieren. Andernfalls lehnt M das Wort w ab. Offensichtlich entscheidet M die Sprache L2 . 4 Name: ........................ Matr.-Nr.: ........................ Aufgabe 4: NP-Vollständigkeit und Polynomzeitreduktion (2 + 5 + 5 Punkte) Betrachten Sie die aus der Vorlesung bekannten NP-vollständigen Probleme Dominating Set und Set Cover: Dominating Set Eingabe: Ein ungerichteter Graph G = (V, E) und eine natürliche Zahl k ∈ N. Frage: Existiert eine Teilmenge W ⊆ V , sodass |W | ≤ k und jeder Knoten in V \W mindestens einen Nachbarn in W hat? Set Cover Eingabe: Eine Grundmenge X, eine Familie F = {S1 , . . . , Sm }, wobei jedes Si eine Teilmenge von X ist, und eine natürliche Zahl k ∈ N. Frage: Existiert eine Teilfamilie F 0 ⊆ F, sodass |F 0 | ≤ k S und die Vereinigung der enthaltenen Mengen die Grundmenge ergibt, also S∈F 0 S = X? Für einen ungerichteten Graphen G = (V, E) bezeichnen wir mit NG (v) ⊆ V die Menge der Nachbarn eines Knotens v ∈ V . Beispielsweise sind NG (a) = {b, d} und NG (b) = {a, c, d, e} im unten abgebildeten Graphen G. Betrachten Sie die polynomzeitberechenbare Funktion f , die für jeden Graphen G und jede natürliche Zahl k ∈ N wie folgt definiert ist: f (hG = (V, E), ki) = h{NG (v) | v ∈ V }, ki. a) Sei hG, 1i eine Eingabeinstanz für Dominating Set, wobei G wie folgt definiert ist: a c b d e Geben Sie f (hG, 1i) an (ohne Begründung). b) Begründen Sie anhand des Beispiels aus Teilaufgabe a), warum die Funktion f keine Reduktionsfunktion von Dominating Set auf Set Cover ist. c) Korrigieren Sie die Definition von f , sodass sich eine polynomzeitberechenbare Reduktionsfunktion f 0 von Dominating Set auf Set Cover ergibt. Beweisen Sie anschließend die Korrektheit der Reduktion vermöge f 0 . Lösungsskizze (a) f (hG, 1i) = h{{b, d}, {a, c, d, e}, {b}, {a, b}}, 1i (b) hG, 1i ist eine Ja-Instanz für Dominating Set, da eine Teilmenge W = {b} ⊆ V existiert, sodass |W | ≤ 1 und für alle v ∈ V \ W = {a, c, d, e} gilt v ∈ NG (b). Für f (hG, 1i) = hF, ki gilt für alle Elemente S ∈ F, dass S ( S X = V = {a, b, c, d, e}. Deswegen existiert keine Teilfamilie F 0 ⊆ F, sodass |F 0 | ≤ 1 und S∈F 0 S = X = V . Also ist f (hG, 1i) eine Nein-Instanz für Set Cover. Hieraus folgt, dass f keine Reduktionsfunktion von Dominating Set auf Set Cover ist, da wir gerade gezeigt haben, dass hG, 1i ∈ Dominating Set aber f (hG, 1i) 6∈ Set Cover. Alternative: Die Funktion f bildet auf keine gültige Eingabeinstanzen von Set Cover ab, da die Grundmenge X nicht definiert wird. (c) Sei f 0 (hG = (V, E), ki) = hV, {NG (v) ∪ {v} | v ∈ V }, ki. Wir zeigen, dass f 0 eine polynomielle Reduktion ist, indem wir zuerst die Korrektheit und dann die Laufzeit beweisen. 5 • Es ist zu zeigen, dass hG = (V, E), ki ∈ Dominating Set ⇔ f 0 (hG, ki) = hV, F, ki ∈ Set Cover. „⇒“: Sei hG = (V, E), ki eine Ja-Instanz für Dominating Set. Dann existiert eine Teilmenge W ⊆ V , sodass |W | ≤ k und jeder Knoten in V \ W mindestens einen Nachbarn in W hat. Damit gilt [ NG (v) ∪ W = V . (2) v∈W Setze F 0 := NG (v) ∪ {v} | v ∈ W ⊆ F. Es gilt |F 0 | = |W | ≤ k. Außerdem gilt S S S (2) S∈F 0 S = v∈W NG (v) ∪ {v} = v∈W NG (v) ∪ W = V . Also ist f (hG, ki) eine Ja-Instanz für Set Cover. „⇐“: Sei (V, F, k) eine Ja-Instanz für Set Cover. Dann existiert eine Teilfamilie F 0 ⊆ F, sodass |F 0 | ≤ k und [ S =V. (3) S∈F 0 Ferner hat F 0 die Form F 0 = {NG (v1 ) ∪ {v1 }, NG (v2 ) ∪ {v2 }, . . . , NG (vk0 ) ∪ {vk0 }} mit k 0 ≤ k. Setze W := {v | NG (v) ∪ {v} ∈ F 0 } = {v1 , v2 , . . . , vk0 } ⊆ V . Es gilt |W | = |F 0 | ≤ k und [ [ (3) NG (v) ⊇ NG (v) ∪ {v} \ W = V \ W . v∈W NG (v)∪{v}∈F 0 Daraus folgt, dass für alle Knoten v ∈ V \ W , dass ein vi ∈ W existiert mit v ∈ NG (vi ). Folglich ist hG, ki eine Ja-Instanz für Dominating Set. • Des Weiteren ist die Reduktionsfunktion f 0 polynomzeitberechenbar. Für eine beliebige Eingabeinstanz hG = (V, E), ki für Dominating Set werden folgende Schritte ausgeführt: – Für die Grundmenge X wird die gesamte Knotenmenge übernommen. – Für jeden Knoten in V wird die sogenannte geschlossene Nachbarschaft gebildet und als Element der Familie F hinzugefügt. – Der Parameter k wird übernommen. Hieraus ergibt sich eine Laufzeit in O(|V ||E|) und das ist polynomiell in der Eingabelänge. 6 Name: ........................ Matr.-Nr.: ........................ Aufgabe 5: Vermischtes zu P, NP, und anderen Komplexitätsklassen (2 + 2 + 4 Punkte) Im Folgenden sei Σ ein endliches Alphabet. a) Beweisen oder widerlegen Sie: Wenn P = NP gilt, dann liegt jede NP-schwere Sprache A ⊆ Σ∗ in P. b) Für eine monoton wachsende Funktion f : N → N sei DSPACE(f ) die Klasse aller Sprachen L ⊆ Σ∗ , für die eine deterministische Turing-Maschine M mit T (M ) = L existiert, sodass M für jede Eingabe x ∈ Σ∗ hält und höchstens f (|x|) viele Zellen auf dem Band modifiziert. Beweisen oder widerlegen Sie: Für jede monoton wachsende Funktion f : N → N gilt DTIME(f ) ⊆ DSPACE(f ). c) Zur Erinnerung: Das Komplement L ⊆ Σ∗ einer Sprache L ⊆ Σ∗ ist definiert als L := Σ∗ \ L. Die Komplexitätsklasse coNP ist definiert als coNP := {L ⊆ Σ∗ | L ∈ NP}. Eine Sprache A ⊆ Σ∗ heißt coNP-vollständig, falls A ∈ coNP und für alle B ∈ coNP gilt, dass B ≤pm A. Beweisen oder widerlegen Sie: Für jede NP-vollständige Sprache A ⊆ Σ∗ gilt, dass A coNP-vollständig ist. Lösungsskizze a) Die Aussage gilt nicht. Das allgemeine Halteproblem ist, wie auf dem 12. Aufgabenblatt gezeigt wurde, NP-schwer. Es liegt aber nicht in P, da es nicht entscheidbar ist, aber alle Sprachen in P entscheidbar sind. b) Die Aussage gilt. Sei L ∈ DTIME(f ). Dann existiert eine deterministische Turingmaschine M , die L entscheidet und auf jeder Eingabe x ∈ Σ∗ maximal f (|x|) Schritte ausführt. In jedem Schritt kann M maximal eine neue Bandzelle modifizieren. Daher modifiziert M auf Eingabe x maximal f (|x|) Bandzellen. Also ist L ∈ DSPACE(f ). c) Die Aussage gilt. Sei A eine NP-vollständige Sprache. Dann ist insbesondere A ∈ NP und somit A ∈ coNP laut der Definition von coNP. Es bleibt noch zu zeigen, dass A coNP-schwer ist. Sei B ∈ coNP. Dann ist B ∈ NP und folglich existiert eine Polynomzeitreduktion f : Σ∗ → Σ∗ von B auf A. Das heißt, f ist in Polynomzeit berechenbar und für alle x ∈ Σ∗ gilt x ∈ B ⇐⇒ f (x) ∈ A. Folglich gilt auch x ∈ B ⇐⇒ f (x) ∈ A. Somit ist f auch eine polynomzeitberechenbare Reduktion von B auf A. Damit ist gezeigt, dass sich jede beliebige Sprache in coNP in Polynomzeit auf A reduzieren lässt. Also ist A coNP-schwer. 7