Berechenbarkeit und Komplexit¨at Vorlesung 18
Prof. Dr. Wolfgang Thomas Lehrstuhl Informatik 7
RWTH Aachen
23. Januar 2015
NP-Vollst¨andigkeit von CLIQUE
Wie erinnern uns an das Cliquenproblem.
Problem (CLIQUE)
Eingabe:Graph G = (V,E), k ∈ {1, . . . ,|V|}
Frage:Gibt es eine k-Clique?
Satz
CLIQUE istNP-vollst¨andig.
Beweis der NP-Vollst¨andigkeit von CLIQUE
Da wir schon wissen, dass das Cliquenproblem in NP ist, m¨ussen wir zum Nachweis der NP-Vollst¨andigkeit nur noch die NP-H¨arte nachweisen.
Dazu zeigen wir 3SAT≤p CLIQUE.
Wir beschreiben eine polynomiell berechenbare Funktionf, die eine 3-KNF-Formelϕin einen GraphenG = (V,E) und eine Zahl k∈Ntransformiert, so dass gilt:
ϕist erf¨ullbar ⇔ G hat einek-Clique .
Beweis der NP-Vollst¨andigkeit von CLIQUE
Beschreibung der Funktionf:
Seien C1, . . . ,Cm die Klauseln vonϕ.
Seien ℓi,1, . . . , ℓi,3 die Literale in KlauselCi. Identifiziere Literale und Knoten, d.h. setze
V = {ℓi,j |1≤i ≤m,1≤j ≤3} . Zwei Knoten werden durch eine Kante verbunden, wenn
1) die assoziierten Literale geh¨oren zu verschiedenen Klauseln, 2) die beiden Literale sind nicht komplement¨ar zueinander.
Setzek =m.
Beweis der NP-Vollst¨andigkeit von CLIQUE
Korrektheit der Transformation:
zz:ϕerf¨ullbar⇒ G hat m-Clique
Jede erf¨ullende Belegung erf¨ullt in jeder Klausel mindestens ein Lite- ral. Pro Klausel w¨ahle eines dieser erf¨ullten Literale beliebig aus. Sei U die Menge dieser Literale. Wir behaupten,U ist eine m-Clique.
Begr¨undung:
Per Definition ist|U|=m.
Seien ℓund ℓ′ zwei unterschiedliche Literale ausU. ℓ undℓ′ geh¨oren zu verschiedenen Klauseln.
ℓ undℓ′ k¨onnen nicht komplement¨ar sein; sonst w¨urde die Belegung einer Variablen zugleich den Wert 0 und den Wert 1 zuordnen.
Also gibt es eine Kante zwischen ℓund ℓ′.
Beweis der NP-Vollst¨andigkeit von CLIQUE
zz:G hat m-Clique⇒ φerf¨ullbar Sei U einem-Clique inG.
Wir bestimmen eine Belegung, indem jedes Literal inU den Wert 1 erh¨alt.
Die Belegung ist wohldefiniert, da kein Literal sowohl positiv als auch negativ vorkommt. (Komplement¨are Literale sind nach Konstruktion nicht durch eine Kanten verbunden.) U enth¨alt somit genau ein Literal mit Wahrheitswert 1 pro Klausel in ϕ.
Also ist ϕerf¨ullbar.
Die Laufzeit f¨ur die Berechnung vonf ist offensichtlich polynomiell
beschr¨ankt.
COLOR(3)
Erinnerung:
Problem (COLOR(3))
Gegeben ein ungerichteter Graph G = (V,E)
Frage: Ist G 3-f¨arbbar, d.h. kann man jedem Knoten eine von drei Farben so zuordnen, dass kantenverbundene Knoten verschiedene Farben tragen?
Wir zeigen:
Satz
COLOR(3) ist NP-vollst¨andig.
COLOR(3) ist in NP, denn als Zertifikate man Funktionen
f :V → {0,1,2} w¨ahlen: Das Zertifikat, etwa als Liste von Paaren (Knotenname, Farbe), ist von polynomialer L¨ange in|V|. Es kann in Polynomzeit daraufhin getestet werden, ob kantenverbundene Knoten verschiedene Farben tragen.
NP-Vollst¨andigkeit von COLOR(3)
Finde eine Polynomzeit-berechenbare Transformationf, die jede Boolesche Formelϕmit 3 Literalen pro Klausel in einen Graphen Gϕ ¨uberf¨uhrt mit
(∗) ϕerf¨ullbar gdw. Gϕ ist 3-f¨arbbar.
Betrachte
ϕ=c1∧. . .∧cm, wobeici =li1∨li2∨li3,lij jeweilsxk oderxk.
Wir konstruierenG mit den Knoten A,B, den Knotenx1, . . . ,xn,
¯
x1, . . . ,x¯n sowie sechs weiteren Knoten pro Klausel.
Das folgende Beispiel illustriert die Konstruktion.
Beispiel
ϕ= (x1∨x2∨x3)∧(x1∨x2∨x3).
Gϕ sieht so aus:
Basisknoten:
Variablenknoten:
Klauselgraphen:
A B
x1 x¯1 x2 x¯2 x3 x¯3
Von Erf¨ullbarkeit zu F¨arbbarkeit
Seiβ eineϕerf¨ullende Belegung.
Finde 3-F¨arbung vonGϕ, etwa mit Farben 0,1,2.
F¨arbeAmit 2, B mit 0,
xi mit Farbe 1, falls β(xi) = 1, sonst mit 0, xi umgekehrt.
Daβ die Formel ϕerf¨ullt, wird f¨ur jeden Klauselgraphen, mit Anbindung etwa beil1,l2,l3, einer der Knotenl1,l2,l3 mit 1 gef¨arbt.
1. Fall
Die Knotenl1,l2 der Anbindung haben beide die Farbe 0. Dann ist l3 mit 1 gef¨arbt, und wir k¨onnen den Klauselgraphen f¨arben:
l1 l2 l3
0 0 1
1 2
0 2
1
0 0
B
2. Fall
Beil1,l2 kommt wenigstens eine 1 vor. Dann k¨onnen wir den Klauselgraphen wieder f¨arben:
l1 l2 l3
1 0 1
0 2
1 0
1
2 0
B
Von F¨arbbarkeit zu Erf¨ullbarkeit
SeiGϕ 3-f¨arbbar. Nehme Farben 0,1,2.
O.B.d.A. seiA mit 2 gef¨arbt undB mit 0.
(Siehe unten zum Fall, dass wir B die Farbe 1 geben.) Dann sind diexi ,xi irgendwie mit 0 oder 1 gef¨arbt.
Definiere die Belegungβ durch β(xi) := Farbe von xi. Zeige:Diesesβ erf¨ullt ϕ.
Es gen¨ugt: In jeder Klausell1∨l2∨l3 bekommt wenigstens ein Literal den Wert 1.
D.h.: Im Klauselgraphen, der zur Klausell1∨l2∨l3 geh¨ort, f¨uhrt wenigstens eine Kante zu einem mit 1 gef¨arbtenli.
Erf¨ullbarbeit aus F¨arbbarkeit
Wir f¨uhren folgende Annahme zum Widerspruch:
Alle drei Variablenknoten haben Farbe 0.
Die 3-F¨arbung vonGϕ f¨uhrt zu Kollision:
l1 l2 l3
0 0 0
1,2 → 0
0
← 1,2 0 B
Alternative F¨arbung von B
Wenn B die Farbe 1 erh¨alt,
definieren wir die Belegung mit Vertauschung von 0 und 1.
Dann muss jede Klausel mindestens einmal den Wert 0 erhalten.
Man schließt dann aus, dass alle drei Literale den Wert 1 haben.
Hamiltonkreisprobleme
Problem (Hamiltonkreis – Hamiltonian Circuit – HC) Eingabe: Graph G = (V,E)
Frage: Gibt es einen Hamiltonkreis in G ?
Problem (Gerichteter Hamiltonkreis – Directed HC – DHC) Eingabe: gerichteter Graph G = (V,E)
Frage: Gibt es einen Hamiltonkreis in G ?
HC ≤
pDHC
Lemma HC≤p DHC.
Beweis:
Reduktion:F¨ur HC liege ein ungerichteter GraphG vor. Wir transformierenG in einen gerichteten GraphenG′, indem wir jede ungerichtete Kante durch zwei entgegengesetzte gerichtete Kanten ersetzen. Diese lokale Ersetzung ist offensichtlich in polynomieller Zeit m¨oglich.
Korrektheit:G hat genau dann einen Hamiltonkreis, wenn auch G′
einen Hamiltonkreis hat.
DHC ≤
pHC
Lemma DHC≤p HC.
Beweis:
Reduktion:Gegeben sei nun ein gerichteter GraphG = (V,E).
AusG konstruieren wir wieder mittels lokaler Ersetzung einen ungerichteten GraphenG′:
... ... ... ...
G’
v vout
vin
G v
Interpretation: v ist Zimmer,vin und vout sind Ein- bzw.
Ausgangst¨uren.
DHC ≤
pHC – Fortsetzung Beweis
Korrektheit:
Wir m¨ussen zeigen,G hat genau dann einen Hamiltonkreis, wenn auchG′ einen Hamiltonkreis hat.
Jede Rundreise inG kann offensichtlich in eine Rundreise inG′ transformiert werden.
Aber wie sieht es mit der Umkehrrichtung aus?
Eine Rundreise in G′, die ein Zimmer durch die Eingangst¨ur betritt, betritt alle Zimmer durch die Eingangst¨ur.
Eine Rundreise in G′, die ein Zimmer durch die Ausgangst¨ur betritt, betritt alle Zimmer durch die Ausgangst¨ur. Aber diese Rundreise k¨onnen wir r¨uckw¨arts ablaufen.
Also kann auch jeder Hamiltonkreis inG′ in einen Hamiltonkreis in
G transformiert werden.