15. Übung Automaten, Sprachen und Komplexität Mit

Werbung
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/
Herunterladen