• Keine Ergebnisse gefunden

VL-15: NP-vollst¨andige Graphprobleme (Berechenbarkeit und Komplexit¨at, WS 2019) Gerhard Woeginger

N/A
N/A
Protected

Academic year: 2022

Aktie "VL-15: NP-vollst¨andige Graphprobleme (Berechenbarkeit und Komplexit¨at, WS 2019) Gerhard Woeginger"

Copied!
43
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

VL-15: NP-vollst¨ andige Graphprobleme

(Berechenbarkeit und Komplexit¨ at, WS 2019) Gerhard Woeginger

WS 2019, RWTH

(2)

Organisatorisches

N¨achste Vorlesung:

Mittwoch, Januar 15, 10:30–12:00, Aula

Webseite:

https://algo.rwth-aachen.de/Lehre/WS1920/BuK/BuK.py

(3)

Wiederholung

(4)

Wdh.: NP-schwer & NP-Vollst¨ andig

Definition

Ein ProblemL heisstNP-schwer, falls∀L∈NP : L≤pL

Ein ProblemLheisstNP-vollst¨andig, fallsL∈NPund LNP-schwer.

Satz

WennLNP-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.

(5)

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.

(6)

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.

(7)

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

(8)

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 Lauf 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∈Lgenau dann, wennf(x)∈L.

(9)

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

(10)

NP-Vollst¨ andigkeit von CLIQUE

(11)

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.

(12)

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

(13)

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.

(14)

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

(15)

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

(16)

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

(17)

NP-Vollst¨ andigkeit von

INDEP-SET und Vertex Cover

(18)

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

(19)

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

(20)

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

(21)

NP-Vollst¨ andigkeit von

Ham-Cycle (gerichtet)

(22)

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.

(23)

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.

(24)

D-Ham-Cycle: Reduktion / Diamantengadgets (1)

F¨ur jede Variablexi enth¨alt der GraphG dasDiamantengadget Gi: si

ri

li

ti

(25)

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

(26)

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.

(27)

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

(28)

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

(29)

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??)

(30)

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

(31)

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ϕ.

(32)

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

(33)

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.

(34)

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

(35)

NP-Vollst¨ andigkeit von

Ham-Cycle (ungerichtet)

(36)

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

(37)

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

(38)

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.

(39)

Ham-Cycle: ¨ Ubung

Ubung¨

Zeigen Sie: Ham-Cycle ≤p D-Ham-Cycle Hinweis: Verwenden Sie lokale Ersetzungen

(40)

NP-Vollst¨ andigkeit des TSP

(41)

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γ?

(42)

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.

(43)

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

Referenzen

ÄHNLICHE DOKUMENTE

L¨ osung lautet wieder: Probiere alle M¨ oglichkeiten durch Nachteil lautet wieder: Extrem langsamer Algorithmus.. Beispiel 2:

Auch dieses Problem kann dadurch gel¨ ost werden, dass man einfach alle M¨ oglichkeiten durchprobiert. Und auch dieser Algorithmus ist

Die Inhalte der Register sind nat¨ urliche Zahlen, die beliebig gross werden k¨ onnen.. in den ersten paar Registern

Der einzige Unterschied zur deterministischen Turingmaschine TM besteht darin, dass die Zustands¨ uberf¨ uhrungen bei der NTM nicht durch eine Funktion sondern durch eine

, n} gilt: Nur zwei der Var-Zahlen und Dummy-Zahlen haben an dieser Stelle die Ziffer 1; alle anderen Zahlen haben an dieser Stelle die Ziffer 0. F¨ ur jede Dezimalstelle i ∈ {n

Wenn das Entscheidungsproblem X NP-vollst¨ andig ist, so ist das komplement¨ are Problem X coNP-vollst¨ andig. Komplement¨

Also: Das Problem X ist sogar dann NP-schwer, wenn alle Zahlenwerte in der Instanz I nur polynomiell gross (gemessen in |I |)

Statt der RAM kann man in der Definition von polynomieller Laufzeit und von polynomiellen Algorithmen genauso gut die TM verwenden: RAM und TM simulieren einander ja mit