TU Ilmenau, Fachgebiet Automaten und Logik Prof. Dr. D. Kuske, F. Abu Zaid WS 2015/16 15. Übung Automaten, Sprachen und Komplexität Mit ∗ gekennzeichnete Aufgaben geben Bonuspunkte. Abgabe : bis Freitag, den 05.02.2016 um 13:00 Uhr am Lehrstuhl. Geben Sie bitte Namen, Matrikelnummer und die Übungsgruppe an. Aufgabe 1 Lösung: Wir zeigen die NP-Vollständigkeit des modifizierten BPCP Problems MBPCP. Die Reduktion MBPCP ≤P BPCP ist analog zu der Reduktion MPCP ≤ PCP. MBPCP ist in NP enthalten. Es reicht einen nichtdeterministischen Algorithmus A anzugeben, der MBPCP in polynomieller Zeit löst. Der Algorithmus rät eine Indexfolge i1 i2 . . . im ∈ {1, . . . , k}≤n mit i1 = 1 und überprüft, ob xi1 . . . xim = yi1 . . . yim . Dies kann in polynomieller Zeit in der Eingebegröße durchgefürt werden (da n unär kodiert ist) und es existiert ein erfolgreicher Lauf genau dann, wenn die Eingabe eine Lösung der Länge höchstens n besitzt. Wir zeigen nun die NP-Härte. Sei Σ∗ ⊇ L ∈ NP. Dann existiert eine nicht deterministische Turing-Maschine M , die L in Zeit p(|w|) für ein geeignetes Polynom p ∈ N[x] erkennt. O.B.d.A. können wir annehmen, dass M immer anhält sobald sie sich in einem Endzustand befindet und in diesem Fall immer in einer akzeptierenden Endkonfiguation ist. Sei w ∈ Σ∗ . Wir erzeugen eine PCP Instanz Iw , indem wir die Konstruktion auf Folie 600 anpassen. • Startpaar: (#, #z0 w##) • Kopierpaare: (a, a) für a ∈ Γ ∪ {#} • Überführungspaare: – (za, z 0 c) für (z 0 , c, N ) ∈ δ(z, a) – (za, cz 0 ) für (z 0 , c, R) ∈ δ(z, a) – . . . (vgl. Folie 600) • Löschpaare: (azb, zb) und (zba, zb) für alle a, b ∈ Γ, z ∈ E. • Abschlusspaare: (za###, #) für alle z ∈ E, a ∈ Γ Diese PCP Instanz kann in polynomieller Zeit aus w berechnet werden (das einzige Wortpaar, das von w abhängt ist das Startpaar). Analog zu dem Beweis auf den Folien 601ff kann gezeigt werden, dass die erzeugte PCP Instanz genau dann eine Lösung besitzt, wenn es eine erfolgreiche Berechnung von M auf w gibt. Zudem wissen wir, dass eine erfolgreiche Berechnung von M auf w aus maximal p(|w|) Berechnungsschritten besteht. Damit hat eine korrespondierende Lösung von Iw maximal die Länge cp(|w|)2 für ein passend gewähltes c ∈ N (Eine Lösung erzeugt ein Wort bestehend aus p(|w|) Konfiguationen der Länge maximal p(|w|) zuzüglich maximal p(|w|) “Löschkonfigurationen” am Ende. vgl. Beweis Folien 601ff). Insgesamt erhalten wir w ∈ L ⇔ M besitzt eine akzeptierende Berechnung auf w der Länge maximal p(|w|) ⇔ Iw Besitzt eine zulässige Lösung der Länge maximal cp(|w|)2 ⇔ (Iw , cp(|w|)2 ) ∈ MBPCP https://www.tu-ilmenau.de/iti/lehre/lehre-ws-20152016/ask/ Also L ≤P MBPCP. Da L ∈ NP beliebig gewählt war, ist MBPCP NP-hart. Falls die Zahl n binär kodiert wird können wir mit ähnlichen Argumenten beweisen, dass das Problem NEXPTIME-vollständig wird (es können nun exponentiell lange Berechnungen simuliert werden) und daher nicht mehr in NP ist. 5 Punkte Aufgabe 2∗ Lösung: Zunächst ist HP offensichtlich in NP enthalten, denn wir können eine Nummerierung v1 , . . . , vn der Knoten aus V raten und in polynomieller Zeite überprüfen, ob (vi , vi+1 ) ∈ E für alle 1 ≤ i < n. Wir zeigen nun HC ≤P HP. Aus der NP-härte von HC folgt dann die NP-härte von HP. Sei G = (V, E) ein ungerichteter Graph mit V = {v1 , . . . , vn }. Wir konstruieren einen Graphen 0 , v 1 }, E 0 ) mit G0 = (V ] {vstart , vend end u, v ∈ V, {u, v} ∈ E ∨ u = v start , v = v1 ∨ {u, v} ∈ E 0 :⇔ 0 u ∈ V, {u, v1 } ∈ E, v = vend ∨ 0 1 u = vend , v = vend . Insbesondere ist nur der Knoten v1 mit vstart verbunden, genau die Nachbarn von v1 in G und 1 0 vend sind mit vend verbunden, und zwischen den Knoten aus V existieren genau die gleichen Kanten wie in G. G vj vstart v1 vi 0 vend 1 vend vk Offensichtlich kann G0 in polynomieller Zeit aus G berechnet werden. Es bleibt zu zeigen G ∈ HC ⇔ G0 ∈ HP. Sei G ∈ HC. Dann existiert eine Permutation π : {1, . . . , n} → {1, . . . , n} mit π(1) = 1 (der “Anfang” der Kreises kann beliebig gewählt werden), so dass {vπ(i) , vπ(i+1) } ∈ E für alle 0 v1 0 1 ≤ i < n und {vπ(n) , vπ(1) } ∈ E. Dann ist vstart vπ(1) . . . vπ(n) vend end ein Hamilton-Pfad in G , also G0 ∈ HP. 1 0 ) müssen beide Sei nun G0 ∈ HP. Da vstart und vend nur einen Nachbarn besitzen (v1 bzw. vend 0 Knoten Endpunkte von jedem Hamilton-Pfad in G sein. Daher gibt es einen Hamilton-Pfad 0 v1 in G0 der Gestalt vstart vπ(1) . . . vπ(n) vend end für eine Permutation π : {1, . . . , n} → {1, . . . , n} 0 mit π(1) = 1. Nach Definition von E gilt dann aber {vπ(i) vπ(i+1) } ∈ E für alle 1 ≤ i < n und {vπ(n) , vπ(1) } ∈ E. Also besitzt G einen Hamilton-Kreis. https://www.tu-ilmenau.de/iti/lehre/lehre-ws-20152016/ask/ 5 Punkte Aufgabe 3∗ Lösung: (a) Wir berechnen zunächst sϕ = 3 + 2 · 3 = 9. Der Graph Gϕ hat folgende Gestalt: v11 x1 ¬x1 v12 v13 ¬x2 x2 v21 v22 v23 x3 ¬x3 v31 v32 v33 (b) Die angegebene Funktion ϕ 7→ (Gϕ , sϕ ) ist offensichtlich in polynomieller Zeit berechenbar. Es bleib zu zeigen ϕ ∈ 3-SAT ⇔ (Gϕ , sϕ ) ∈ V C. Sei ϕ = 1≤i≤k (Xi1 ∨ Xi2 ∨ Xi3 ) erfüllbar. Außerdem enthalte ϕ genau die Variablen {x1 , . . . , xn }. Dann existiert ein Modell I : {x1 , . . . , xn } → {0, 1}. Wir konstruieren aus I ein Vertex-Cover C der größe n + 2k in Gϕ . Für alle i ∈ {1, . . . , n} fügen wir xi zu C hinzu, falls I(xi ) = 1 und andernfalls fügen wir ¬xi zu C hinzu. Die Interpretation I ist ein Modell und desshalb ist für alle j ∈ {1, . . . , k} mindestens ein Knoten aus {vj1 , vj2 , vj3 } mit einem der ausgewählten Literale verbunden. Fixiere für jedes j einen solchen Knoten vj und füge {vj1 , vj2 , vj3 } \ {vj } zu C hinzu. Dann ist |C| = n + 2k. Zudem ist C ein Vertex-Cover: V • alle Kanten der Form {xi , ¬xi } sind abgedeckt, da genau eines der beiden Literale in C ist. • Alle Kanten der Form {u, v}, u 6= v, mit u, v ∈ {vj1 , vj2 , vj3 } sind abgedeckt, da nur genau einer der Knoten vj1 , vj2 , vj3 nicht in C ist. • Alle vorhandenen Kanten {u, v} mit u ∈ {x1 , ¬x1 , . . . , xn , ¬xn }, v ∈ {vij | 1 ≤ i ≤ k, 1 ≤ j ≤ 3} sind abgedeckt, da nach Konstruktion von C entweder u ∈ C oder v ∈ C ist. Da jede Kante in Gϕ in eine dieser Kategorien fällt, ist C ein Vertex-Cover und damit (Gϕ , sϕ ) ∈ VC. Sei nun (Gϕ , n + 2k) ∈ V C. Sei C ein Vertex-Cover von Gϕ mit |C| ≤ n + 2k. Da Gϕ für alle 1 ≤ i ≤ n die Kante {xi , ¬xi } enthält, muss mindestens einer der beiden Knoten in C enthalten sein. Weiterhin bilden für 1 ≤ j ≤ k die Knoten vj1 , vj2 , vj3 ein Dreieck. Um alle Kanten des Dreiecks abzudecken müssen mindestens zwei der Knoten in C enthalten sein. Also gilt |C| ≥ n + 2k und damit |C| = n + 2k. Insbesondere muss C immer genau einen Knoten aus {xi , ¬xi } und genau zwei Knoten aus {vj1 , vj2 , vj3 } enthalten. Wir konstruieren ein Modell I von ϕ aus C. Für 1 ≤ i ≤ n setze 1 0 ( I(xi ) := ; xi ∈ C ; ¬xi ∈ C. Nehmen wir an I ist kein Modell von ϕ. Dann existiert ein i ∈ {1, . . . , k}, so dass die Klausel Xi1 ∨ Xi2 ∨ Xi3 nicht erfüllt ist, d.h. [Xij ]I = 0 für alle j ∈ {1, 2, 3}. Der Graph Gϕ enthält die Kanten {Xi1 , vi1 }, {Xi2 , vi2 }, {Xi3 , vi3 }, aber nach Konstruktion von I enthält C keinen https://www.tu-ilmenau.de/iti/lehre/lehre-ws-20152016/ask/ der Knoten {Xi1 , Xi2 , Xi3 }. Da C zusätzlich nur genau zwei der Knoten aus {vi1 , vi2 , vi3 } enthält, kann eine dieser Kanten nicht abgedeckt sein. Widerspruch! Aufgabe 4 Angenommen es existiert ein NP-vollständiges Problem A mit A ∈ co-NP. Wir verwenden, dass aus A ≤P B auch A ≤P B folgt (vgl. Aufgabe 2c auf Übungsblatt 12) und zeigen die Inklusion zwischen NP und co-NP in beiden Richtungen. co-NP ⊆ NP. Da A ∈ co-NP gilt nach Definition A ∈ NP. Sei B ∈ co-NP, also B ∈ NP. Dann gilt B ≤P A (denn A ist NP-hart) und damit B ≤P A. Aus A ∈ NP folgt B ∈ NP. NP ⊆ co-NP. Sei B ∈ NP, dann gilt B ∈ co-NP. Da co-NP ⊆ NP ist B ∈ NP und damit nach Definition B = B ∈ co-NP. https://www.tu-ilmenau.de/iti/lehre/lehre-ws-20152016/ask/