VL-15: NP-vollst¨ andige Graphprobleme
(Berechenbarkeit und Komplexit¨ at, WS 2019) Gerhard Woeginger
WS 2019, RWTH
Organisatorisches
N¨achste Vorlesung:
Mittwoch, Januar 15, 10:30–12:00, Aula
Webseite:
https://algo.rwth-aachen.de/Lehre/WS1920/BuK/BuK.py
Wiederholung
Wdh.: NP-schwer & NP-Vollst¨ andig
Definition
Ein ProblemL∗ heisstNP-schwer, falls∀L∈NP : L≤pL∗
Ein ProblemL∗heisstNP-vollst¨andig, fallsL∗∈NPund L∗NP-schwer.
Satz
WennL∗NP-vollst¨andig ist, dann gilt: L∗∈P ⇒ P=NP
Unter der AnnahmeP6=NP (unserer Standardannahme) besitzt also kein NP-vollst¨andiges Problem einen polynomiellen Algorithmus.
Wdh.: Der Satz von Cook & Levin
Problem: Satisfiability (SAT)
Eingabe:Boole’sche Formelϕin CNF ¨uber der VariablenmengeX Frage:Existiert eine Wahrheitsbelegung vonX, dieϕerf¨ullt?
Satz (Cook & Levin) SATistNP-vollst¨andig.
Arbeitsphase A: F¨ur jeden Zeitpunktt beschreiben die Variablen Q(t,q),H(t,j)undB(t,j,a)eine legale Konfiguration.
Arbeitsphase B: Die Konfiguration zum Zeitpunktt+1entsteht legal aus der Konfiguration zum Zeitpunktt.
Arbeitsphase C: Startkonfiguration und Endkonfiguration sind legal.
Wdh.: Die Komplexit¨ atslandschaft
NP
P
Graph- zusammenhang Primzahl
SAT
Clique Ind-Set VC
Ex-Cover
Ham-Cycle TSP Partition
Subset-Sum Knapsack
BPP Coloring 3-SAT
Warnung: Dieser Abbildung liegt die AnnahmeP6=NP zu Grunde.
Wdh.: Landkarte mit Karp’s 20 Reduktionen
SAT INTEGER
PROG 3-SAT
COLORING
CLIQUE COVER
EXACT COVER 3-DIM
MATCHING
STEINER TREE
HITTING SET
SUBSET-SUM
JOB SEQUENCING PARTITION
MAX-CUT SET COVER FEEDBACK
ARC SET
FEEDBACK VERTEX
SET DIRECTED
HAM-CYCLE
HAM CYCLE
VERTEX COVER INDEP
SET
CLIQUE
Wdh.: Kochrezept f¨ ur NP-Vollst¨ andigkeitsbeweise
Kochrezept:
1. Man zeigeL∈NP.
2. Man w¨ahle eine NP-vollst¨andige SpracheL∗.
3. (Reduktionsabbildung): Man konstruiere eine Funktion f, die Instanzen von L∗auf Instanzen vonL abbildet.
4. (Polynomielle Zeit):Man zeige, dass f in polynomieller Zeit berechnet werden kann.
5. (Korrektheit): Man beweise, dassf tats¨achlich eine Reduktion ist.
F¨urx ∈ {0,1}∗gilt x∈L∗genau dann, wennf(x)∈L.
Vorlesung VL-15
Einige NP-vollst¨ andige Graphprobleme
NP-Vollst¨andigkeit von CLIQUE NP-Vollst¨andigkeit von INDEP-SET NP-Vollst¨andigkeit von Vertex Cover
NP-Vollst¨andigkeit von Ham-Cycle (gerichtet) NP-Vollst¨andigkeit von Ham-Cycle (ungerichtet) NP-Vollst¨andigkeit des TSP
NP-Vollst¨ andigkeit von CLIQUE
CLIQUE: Definition
Problem: CLIQUE
Eingabe:Ein ungerichteter GraphG = (V,E); eine Zahl k Frage:Enth¨altG eine Clique mit≥k Knoten?
k =4
Satz
CLIQUE ist NP-vollst¨andig.
CLIQUE: Nach unserem Kochrezept
1. Wir wissen bereits (aus VL-12), dass CLIQUE in NP liegt.
2. Wir w¨ahlen die NP-vollst¨andige SpracheL∗=SAT und wir werden SAT≤p CLIQUEzeigen.
3. (Reduktionsabbildung):
Wir konstruieren eine Funktionf, die eine CNF-Formelϕin einen GraphenG = (V,E)und eine Zahlk ∈Ntransformiert, sodass gilt:
ϕist erf¨ullbar ⇔ G besitztk-Clique
CLIQUE: Beschreibung der Funktion f
Es seien c1, . . . ,cmdie Klauseln der Formel ϕ.
Es seiki die Anzahl an Literalen in deri-ten Klauselci. Es seien `i,1, . . . , `i,ki die Literale in deri-ten Klauselci.
F¨ur jedes Literal in jeder Klausel erzeugen wir einen entsprechenden Knoten: V = {`i,j|1≤i ≤m, 1≤j≤ki}
Zwei Knoten werden mit einer Kante verbunden, wenn sie aus verschiedenen Klauseln stammen und wenn ihre Literale nicht Negationen voneinander sind.
Wir setzenk =m.
4. (Polynomielle Zeit):
Die Funktion f ist in Polynomialzeit berechenbar.
CLIQUE: Beispiel
ϕ= (x1∨ ¬x2∨ ¬x3)∧(¬x1∨x2∨x3)∧(x2∨x3)
x3
x2
¬x1
x1 ¬x2 ¬x3
x2
x3 c1=x1∨ ¬x2∨ ¬x3
c2=¬x1∨x2∨x3 c3=x2∨x3
Erf¨ullende Belegung:x1=0,x2=0,x3=1
CLIQUE: Korrektheit (1)
Lemma A: Formel ϕerf¨ullbar⇒G hatm-Clique Betrachte beliebige erf¨ullende Belegung vonϕ
Bilde MengeU mit einem erf¨ullten Literal von jeder Klausel Behauptung:U bildetm-Clique
Begr¨undung:
Laut Definition ist|U|=m
Es seien`und`0zwei verschiedene Literale ausU
Nach Konstruktion kommen` und`0 aus verschiedenen Klauseln Da`und `0erf¨ullt sind, sind sie nicht Negationen voneinander.
Also gibt es eine Kante zwischen`und`0
CLIQUE: Korrektheit (2)
Lemma B: G hatm-Clique⇒Formelϕerf¨ullbar Betrachtem-CliqueU inG
Dann geh¨oren die Literale inU zu lauter verschiedenen Klauseln U enth¨alt somit genau ein Literal pro Klausel
Kein Literal tritt sowohl positiv als auch negiert auf Ergo: Alle diese Literale k¨onnen gleichzeitig erf¨ullt werden Also istϕerf¨ullbar
5. (Korrektheit):
f ist Reduktion: x ∈L∗ ⇔ f(x)∈L ϕ∈SAT ⇔ f(ϕ) =hG;mi ∈CLIQUE
NP-Vollst¨ andigkeit von
INDEP-SET und Vertex Cover
Independent Set
Unabh¨angige Menge (independent set):
Teilmenge der Knoten, die keine Kanten induziert Problem: INDEP-SET
Eingabe:Ein ungerichteter GraphG0= (V0,E0); eine Zahlk0 Frage:Enth¨altG0 eine unabh¨angige Menge mit ≥k0 Knoten?
Satz
INDEP-SET ist NP-vollst¨andig.
Beweisskizze: im Tutorium
Wir zeigenCLIQUE≤pINDEP-SET
SetzeV0=V undE0=V ×V −E undk0=k
Vertex Cover (1)
Vertex Cover: Teilmenge der Knoten, die alle Kanten ber¨uhrt Problem: Vertex Cover (VC)
Eingabe:Ein ungerichteter GraphG00= (V00,E00); eine Zahlk00 Frage:Enth¨altG00 ein Vertex Cover mit≤k00 Knoten?
Satz
Vertex Cover ist NP-vollst¨andig.
Beweisskizze:
Wir zeigenINDEP-SET≤p Vertex Cover SetzeV00=V0undE00=E0 undk00=|V0| −k0
Vertex Cover (2)
Rechtfertigung
In einem ungerichteten GraphenG = (V,E)gilt f¨ur alleS⊆V: S ist unabh¨angige Menge ⇔ V −S ist Vertex Cover S ist Vertex Cover ⇔ V −S ist unabh¨angige Menge
NP-Vollst¨ andigkeit von
Ham-Cycle (gerichtet)
D-Ham-Cycle: Definition
Problem: Gerichteter Hamiltonkreis (D-Ham-Cycle) Eingabe:Ein gerichteter GraphG = (V,A) Frage:BesitztG einen gerichteten Hamiltonkreis?
Satz
D-Ham-Cycle ist NP-vollst¨andig.
D-Ham-Cycle: Nach unserem Kochrezept
1. D-Ham-Cycle liegt in NP
2. Wir w¨ahlen die NP-vollst¨andige SpracheL∗=SAT und wir werden SAT≤p D-Ham-Cyclezeigen.
3. (Reduktionsabbildung):
Wir konstruieren eine Funktionf, die eine CNF-Formelϕin einen gerichteten GraphenG = (V,A)transformiert, sodass gilt:
ϕist erf¨ullbar ⇔ G hat gerichteten Hamiltonkreis Die CNF-Formelϕbesteht aus Klauselnc1, . . . ,cm mit Boole’schen Variablenx1, . . . ,xn.
D-Ham-Cycle: Reduktion / Diamantengadgets (1)
F¨ur jede Variablexi enth¨alt der GraphG dasDiamantengadget Gi: si
ri
li
ti
D-Ham-Cycle: Reduktion / Diamantengadgets (2)
DiesenDiamantengadgets werden miteinander verbunden, indem wir die Knotenti undsi+1 (f¨ur1≤i ≤n−1) sowietn unds1miteinander identifizieren:
s1
r1
l1
t1
s2
r2
l2
t2 s3
r3
l3
t3
t1=s2
t2=s3
D-Ham-Cycle: Reduktion / Diamantengadgets (3)
In dem resultierenden Graphen besucht jede Rundreise, die im Knotens1 startet, die Diamantengadgets in der ReihenfolgeG1,G2, . . . ,Gn. Die Rundreise hat dabei f¨ur jedes GadgetGi die Freiheit, das Gadget
entwedervon links nach rechts (also: vonli bisri)
odervon rechts nach links(also: vonri bisli) zu durchlaufen.
Die LR Variante interpretieren wir als Variablenbelegungxi=0, und die RL Variante als Variablenbelegungxi=1.
D-Ham-Cycle: Reduktion / Klauselknoten (1)
Jetzt f¨ugen wir f¨ur jede Klauselcj einen weiteren Knoten ein.
(a) Falls das Literalxi in Klausel cj enthalten ist,
so verbinden wir GadgetGi wie folgt mit dem Klauselknotencj:
ri li
cj
D-Ham-Cycle: Reduktion / Klauselknoten (2)
(b) Falls das Literalx¯i in Klausel cj enthalten ist,
so verbinden wir GadgetGi wie folgt mit dem Klauselknotencj:
ri
li
cj
D-Ham-Cycle: Reduktion / Klauselknoten (3)
Frage
Ist es nach Hinzuf¨ugen der Klauselknoten m¨oglich, dass
eine Rundreise zwischen den Diamantengadgets hin- und herspringt, anstatt sie in der vorgesehenen Reihenfolge zu besuchen?
Antwort
Nein. (Warum??)
D-Ham-Cycle: Illustration
s1
r1 l1
t1
s2
r2
l2
t2 s3
r3 l3
t3
ϕ= (x1∨ ¬x2∨ ¬x3)∧(¬x1∨x2∨x3)∧(x2∨x3)
c1
c2
c3
D-Ham-Cycle: Korrektheit (1)
Lemma A: G hat gerichteten Hamiltonkreis ⇒ ϕerf¨ullbar
Wenn ein Klauselknotencj aus einem GadgetGi herausvon links nach rechts durchlaufen wird, so muss nach unserer Konstruktion die Klausel cj das Literal ¯xi enthalten.
Also wird diese Klausel durch die mit der Laufrichtung von links nach rechts assoziierten Belegungxi =0erf¨ullt.
Wenn ein Klauselknotencj aus einem GadgetGi herausvon rechts nach links durchlaufen wird, so muss nach unserer Konstruktion die Klausel cj das Literal xi enthalten.
Also wird diese Klausel cj durch die mit der Laufrichtung von rechts nach links assoziierten Belegungxi =1erf¨ullt.
Also erf¨ullt die mit der Rundreise assoziierte Wahrheitsbelegung der Variablen die Formelϕ.
D-Ham-Cycle: Korrektheit (2)
Lemma B: ϕerf¨ullbar ⇒ G hat gerichteten Hamiltonkreis
Eine erf¨ullende Wahrheitsbelegung der Variablen legt f¨ur jedes DiamantengadgetG1, . . . ,Gnfest, ob es von rechts nach links oder von links nach rechts durchlaufen wird.
Klauselknotencj k¨onnen wir in die Rundreise einbauen, indem wir eine Variable xi ausw¨ahlen, diecj erf¨ullt, undcj durch einen kleinen Abstecher vom DiamantengadgetGi aus besuchen.
ri
li
cj
D-Ham-Cycle: Korrektheit (3)
ri li
cj
Wenn cj f¨urxi=1erf¨ullt ist, so istxi positiv incj enthalten. Ein Besuch voncj beim Durchlaufen des DiamantengadgetsGi von rechts nach linksist m¨oglich.
Wenn cj f¨urxi=0erf¨ullt ist, so istxi in negierter Form incj
enthalten. Ein Besuch voncj beim Durchlaufen des DiamantengadgetsGi von links nach rechtsist m¨oglich.
Also k¨onnen alle Klauselknoten in die Rundreise eingebunden werden.
D-Ham-Cycle: Zusammenfassung
4. (Polynomielle Zeit):
Die Funktion f ist in Polynomialzeit berechenbar.
Die Konstruktion verwendetnDiamantengadgets mit jeO(m)Knoten Die Konstruktion verwendetmKlauselknoten
5. (Korrektheit):
f ist Reduktion: x ∈L∗ ⇔ f(x)∈L ϕ∈SAT ⇔ f(ϕ) =hGi ∈D-Ham-Cycle
NP-Vollst¨ andigkeit von
Ham-Cycle (ungerichtet)
Ham-Cycle: Definition
Problem: Hamiltonkreis (Ham-Cycle)
Eingabe:EinungerichteterGraphG = (V,E) Frage:BesitztG einen Hamiltonkreis?
Satz
Ham-Cycle ist NP-vollst¨andig.
Beweis:
Wir zeigen D-Ham-Cycle≤p Ham-Cycle
Es seiG0= (V0,A0)eine Instanz von D-Ham-Cycle
Wir konstruieren in polynomieller Zeit einen ungerichteten Graphen G = (V,E), sodass gilt: G0∈D-Ham-Cycle ⇔ G ∈Ham-Cycle
Ham-Cycle: Reduktion
Es seiG0= (V0,A0)eine Instanz von D-Ham-Cycle
Der ungerichtete Graph G ensteht ausG0 durch lokale Ersetzung:
v vin vmid vout
G0 G
Interpretation:
vin ist der Eingangsknoten f¨urvmid
vout ist der Ausgangsknoten f¨urvmid
Ham-Cycle: Korrektheit
G0hat gerichteten Hamiltonkreis ⇔ G hat Hamiltonkreis
(A) Jeder Hamiltonkreis inG0 kann offensichtlich in einen Hamiltonkreis inG transformiert werden.
(B) Wie sieht es mit der Umkehrrichtung aus?
Jeder Hamiltonkreis inG besucht den Knotenvmid zwischen den beiden Knotenvin undvout
Entweder: vin –vmid –vout Oder:vout –vmid –vin
Vonvoutaus kann man nur Knoten vom Typuin erreichen (und dazu muss der gerichtete Graph die entsprechende gerichtete Kante vonv nachu enthalten)
Daher kann jeder Hamiltonkreis in G in einen gerichteten Hamiltonkreis inG0 ¨ubersetzt werden.
Ham-Cycle: ¨ Ubung
Ubung¨
Zeigen Sie: Ham-Cycle ≤p D-Ham-Cycle Hinweis: Verwenden Sie lokale Ersetzungen
NP-Vollst¨ andigkeit des TSP
TSP: Alte und neue Definitionen
Problem: Travelling Salesman Problem (TSP)
Eingabe:St¨adte1, . . . ,n; Distanzend(i,j); eine Zahlγ
Frage:Gibt es eine Rundreise (TSP-Tour) mit L¨ange h¨ochstensγ?
Zwei Spezialf¨alle:
Problem:∆-TSP
Eingabe:St¨adte1, . . . ,n; symmetrische Distanzend(i,j)mit Dreiecksungleichungd(i,j)≤d(i,k) +d(k,j); eine Zahlγ Frage:Gibt es eine Rundreise (TSP-Tour) mit L¨ange h¨ochstensγ?
Problem:{1,2}-TSP
Eingabe:St¨adte1, . . . ,n; symmetrische Distanzend(i,j)∈ {1,2};
eine Zahlγ
Frage:Gibt es eine Rundreise (TSP-Tour) mit L¨ange h¨ochstensγ?
TSP: Beweis der NP-Schwere
Satz
Die ProblemeTSPund∆-TSPund {1,2}-TSPsind NP-schwer.
Es gen¨ugt zu zeigen, dass {1,2}-TSPNP-schwer ist.
Wir zeigen: Ham-Cycle ≤p {1,2}-TSP
Aus einem ungerichteten Graphen G = (V,E)f¨urHam-Cycle konstruieren wir eine entsprechendeTSP Instanz.
Jeder Knoten v ∈V wird zu einer Stadt
Der Abstand zwischen Stadt uund Stadtv betr¨agt d(u,v) =
1 falls{u,v} ∈E 2 falls{u,v}∈/E
Der GraphG hat genau dann einen Hamiltonkreis,
wenn die konstruierte TSP Instanz eine Tour mit L¨ange≤ |V|hat.
Landkarte mit Karp’s 20 Reduktionen
SAT INTEGER
PROG 3-SAT
COLORING
CLIQUE COVER
EXACT COVER 3-DIM
MATCHING
STEINER TREE
HITTING SET
SUBSET-SUM
JOB SEQUENCING PARTITION
MAX-CUT SET COVER FEEDBACK
ARC SET
FEEDBACK VERTEX
SET DIRECTED
HAM-CYCLE
HAM CYCLE
VERTEX COVER INDEP
SET
CLIQUE