NP-vollst. u. NP-äquiv. Probleme - TU Dortmund, Informatik...

33
235 NP-vollst. u. NP-äquiv. Probleme Literatur: Kapitel K6. Ziel: Weitere Probleme kennen lernen (und damit weitere Basisprobleme für eigene Reduktionen) Weitere Beispiele für NP-Vollständigkeitsbeweise kennen lernen.

Transcript of NP-vollst. u. NP-äquiv. Probleme - TU Dortmund, Informatik...

235

NP-vollst. u. NP-äquiv. Probleme

Literatur: Kapitel K6.Ziel:• Weitere Probleme kennen lernen

(und damit weitere Basisprobleme für eigene Reduktionen)

• Weitere Beispiele für NP-Vollständigkeitsbeweise kennen lernen.

236

Bisher bewiesen (vgl. Folie 189)

Partition �p BP

SAT =p 3-SAT�p

�p

IS =p Clique =p VC

DHC =p HC =p TSP2,∆,sym

NP-vollständig

2-SAT∈P (Übungen)

237

Folgerung

Die Optimierungsvarianten von IS, Clique, VC und TSP sind NP-äquivalent.

238

Rucksackprobleme [K6.3]

Subset Sum Problem (SSS) Eingabe: Zahlen a1,...,an, G.Frage: Gibt es eine Menge I⊆{1,...,n}, so

dass ∑i∈I ai = G?

Satz K6.3.1: SSS ist NP-vollständig.

Beweis: 1. SSS∈NP.

2. Reduktion von 3-SAT.Reduktion mit verbundenen Komponenten

239

3. Angabe der Funktion f.Eingabe für 3-SAT: Variablen x1,...,xn,

Klauseln C1,...,Cm.Zahlen der SSS-Eingabe:- n+m Ziffern in Dezimaldarstellung.- Für jede Variable xi zwei Zahlen ai und bi:

...C2

0

0

...

1

1

xi

00001bi00001ai

xn...x2x1Cm...CjC1

falls Cj xi enthält

falls Cj xi enthält

240

0

0

...

0

0

C2

0

0

...

0

0

xi

00000010ej

00000010dj

xn...x2x1Cm...CjC1

Für jede Klausel Cj:

3

...

3

C2

1

...

1

xi11113333Gxn...x2x1Cm...CjC1

Summe G:

...C2

0

0

...

1

1

xi

00001bi00001ai

xn...x2x1Cm...CjC1

Für jede Variable xi:

241

11113333

1d4

1e2

1e1

1d1

11112321

111a4

1111a3

11a2

111b1

x4x3x2x1C4C3C2C1

C1 = x1 ∨ x2 ∨ x3, C2 = x1 ∨ x2 ∨ x4,C3 = x1 ∨ x3 ∨ x4, C4 = x2 ∨ x3 ∨ x4.

242

Korrektheit„⇒“: Sei z=(z1,...,zn) erfüllende Belegung.Wähle die Zahl ai, falls zi=1,

bi, falls zi=0.→ Summe für „Variablenstellen“ stimmt.Da z erfüllend, sind in jedem Cj 1, 2 oder 3

Literale erfüllt.1 erfülltes Literal: Wähle dj und ej.2 erfüllte Literale: Wähle dj.→ Summe für die „Klauselstellen“ stimmt.

243

Korrektheit

„⇐“: Sei Auswahl der Zahlen mit Summe Ggegeben.

Falls ai gewählt: zi=1.Falls bi gewählt: zi=0.

Behauptung: Dies ist erfüllende Belegung.• ai und bi können nicht beide gewählt sein.

• Für jede Klausel Cj muss mindestens eine 1 von einem ai oder bi kommen

→ Zugehöriges Literal erfüllt.

244

Spezialfälle/Restriktionen

Allgemein gilt: Sei A∈NP, sei B NP-vollständig und ein Spezialfall von A. Dann ist auch A NP-vollständig.

Beweis: Es ist B�pA:Spezialfall bedeutet: Eine Eingabe für A entsteht aus einer Eingabe für B durchKonstantsetzen einiger Teile. Diese Abbildung ist als Funktion f der Reduktion geeignet.

245

Rucksackproblem

Knapsack (KP)Eingabe: n Objekte mit Nutzenwerten a1,...,an

und Gewichten g1,...,gn, Gesamtgewicht G, Nutzenschranke B.

Frage: Gibt es eine Auswahl der Objekte mit Nutzen mindestens B und Gesamtgewicht höchstens G?

KP*: Spezialfall mit G=B und ai=gi.

246

Folgerung K6.3.2: KP und KP* sind NP-vollständig.

Beweis:KP* und SSS sind äquivalent.KP ist Verallgemeinerung von KP*. Restriktion

247

Partition

Zur Erinnerung:

Folgerung K6.3.2: Partition ist NP-vollständig.

Problem: Partition ist ein Spezialfall von SSS.Verkehrte Richtung für Restriktion.

Eingabe: Natürliche Zahlen a1,...,an.Frage: Gibt es I⊆{1,...,n} mit

248

Beweis

Reduktion SSS �pPartition:Sei X=(a1,...,an,G) Eingabe für SSS.Sei S*=a1 + ... + an.

Konstruiere Partition-Eingabe: Y=(a1,..., an, an+1=2S*–G, an+2=S*+G)

Beob: a1 + ... + an + an+1 + an+2 = 4S*.

erzwingende Komponenten

249

X=(a1,...,an,G) →Y=(a1,..., an, an+1=2S*–G, an+2=S*+G)

Korrektheit:

„⇒“: Sei I Lösung von X, also ∑i∈Iai=G:Dann ist I∪{n+1} Lösung von Y.

„⇐“: Sei J Lösung für Y.

Falls n+1∉J, vertausche J und J={1,...,n+2} –J.

Dann ist J–{n+1} eine Lösung für X.

250

Aufteilung u. Lastverteilung [K6.4]

Wir haben bereits gezeigt: Partition�pBP.

Folgerung K6.4.1: BP ist NP-vollständig.

BPEingabe: n Objekte mit Größen a1,...,an,

Kistengröße b, Zahl k.Aufgabe: Genügen k Kisten der Größe b, um alle Objekte zu verpacken?

251

Sequencing with Intervals (SWI)

Eingabe: A={a1,...,an} Menge v. Aufgaben mitl(a): Bearbeitungsdauer von Aufgabe a,r(a): frühester Bearbeitungszeitpunkt von a,d(a): Deadline für aFrage: Können die Aufgaben von einem

Prozessor so bearbeitet werden, dass keine Aufgabe unterbrochen wird und alle Bedingungen eingehalten werden?

length

release time

252

Satz K6.4.2: SWI ist NP-vollständig.

Beweis: 1. SWI∈NP klar.2. Reduktion Partition�pSWI

3. Eingabe f. Partition: X=(s1,...,sn).Sei S = s1+ ... +sn, ist o.B.d.A. gerade Zahl.Erzeuge n+1 Aufgaben a1,...,an+1.Für 1� i� n: l(ai)=si, r(ai)=0, d(ai)=S+1,

l(an+1)=1, r(an+1)=S/2, d(an+1)=S/2+1.

S/2 S/2+1 S+10

an+1

253

Cliquenprobleme [K6.5]

Graphisomorphie (GI)Eingabe: Graphen G1=(V1,E1), G2=(V2,E2).Frage: Sind G1 und G2 isomorph, d.h.,

gibt es eine Funktion f : V1→ V2 mit {v1,v2}∈E1 ⇔ {f(v1),f(v2)}∈E2?

GI∈NP klar.Für GI kennt man weder einen polyn. Algo., noch einen NP-Vollst.beweis.

254

Teilgraphisomorphie

Subgraph Isomorphism (SI)Eingabe: Graphen G1=(V1,E1), G2=(V2,E2).Frage: Gibt es einen Teilgraphen von G1, der

zu G2 isomorph ist?

Teilgraph von G1:• Knotenmenge V´⊆V1.• Kantenmenge: Alle Kanten aus E1, die zwischen Knoten aus V´ verlaufen.

255

Satz K6.5.1: SI ist NP-vollständig.Beweis: 1. SI∈NP klar.2. Reduktion Clique�pSI.

3. Eingabe für Cliquenproblem: (G,k).

Sei G1=G, G2=vollständiger Graph auf k Knoten.

4. G enthält k-Clique ⇔G1 enthält zu G2 isomorphen Subgraphen.

Restriktion

256

Graphfärbbarkeit

Graph Colorability (GC)Eingabe: Unger. Graph G=(V,E), Zahl k.Frage: Können die Knoten von G mit k Farben

gefärbt werden, so dass benachbarte Knoten verschieden gefärbt werden?

257

Bsp: Färben von Landkarten

258

Satz K6.5.2: GC ist NP-vollständig.Beweis: 1. GC∈NP klar.

2. Reduktion von 3-SAT.3. Sei 3-SAT-Eingabe mit Variablen x1,...,xn

und Klauseln C1,....,Cm gegeben.Wähle k=3 (3 Farben)

259

Komponenten für Klauseln:

v1

v2

v3

w

Beob. (für legale 3-Färbungen): 1.Wenn v1, v2 und v3 dieselbe Farbe

haben, dann hat auch w diese Farbe.2.Wenn einer der v-Knoten die Farbe 1 hat,

kann auch w die Farbe 1 bekommen.

260

x1

x2

x2

x1

xn

xn

C1=x1∨ x2∨ xn

C231

2

wu

261

Korrektheit „ ⇒“

Sei erfüllende Belegung gegeben.xi=0: xi-Knoten bekommt Farbe 2,

xi-Knoten bekommt Farbe 1.xi=1: xi-Knoten bekommt Farbe 1,

xi-Knoten bekommt Farbe 2.

Da die Belegung erfüllend ist, kann jedeKlauselkomponente so gefärbt werden, dass wdie Farbe 1 bekommt.

262

Korrektheit „ ⇐“

Sei legale Färbung gegeben.O.B.d.A.: w hat Farbe 1, u hat Farbe 3.⇒ Variablenknoten haben Farben 1 und 2.

xi-Knoten hat Farbe 1: Belegung xi=1,xi-Knoten hat Farbe 2: Belegung xi=0.

Annahme: Cj dadurch nicht erfüllt.Alle v-Knoten von Cj haben Farbe 2⇒ w hat Farbe 2. Widerspruch.

263

Spezialfall: festes kk-GCEingabe: Graph GFrage: Ist G mit k Farben färbbar?

Folgerung K6.5.3:3-GC ist NP-vollständig.

Übungsaufgaben:Zeige, dass 2-GC∈P.Zeige, dass k-GC für alle k≥3 NP-vollständig

ist.

264

Zusammenfassung Kompl.theorie

• Betrachtete Rechnermodelle:– Turingmaschinen, Registermaschinen– Varianten: deterministisch, randomisiert,

nichtdeterministisch• Komplexitätstheorie für randomisierte

Algorithmen– Komplexitätsklassen ZPP, RP, BPP, PP– Probability Amplification– Nichtdeterminismus als Spezialfall von

Randomisierung

265

Zusammenfassung Kompl.theorie

• Zentrale Begriffe der NP-Vollständigkeitstheorie– Turing-Reduktionen und polynomielle

Reduktionen– NP-vollständige und NP-schwere

Probleme• Satz von Cook, Vereinfachung von

Beweisen der NP-Vollständigkeit • Zahlreiche Reduktionen zwischen

verschiedenen Problemen

266

Fazit NP-Vollständigkeit

Ein Beweis der NP-Vollständigkeit liefert eine starken Hinweis darauf, dass ein Problem keinen polyn. Algo hat.

Nutzen• Keine Zeit dafür ver(sch)wenden, einen Algo

zu suchen, den es wohl nicht gibt.• Beweis liefert Hinweise darauf, was an

dem Problem schwer ist → Überlegen, ob wir das richtige Problem lösen.

• Fehlgeschlagene Versuche liefern Hinweise auf polynomielle Algos.

267

Fazit NP-Vollständigkeit (Forts.)

• Reduktionen mit verbundenen Komponenten erlauben es, Beziehungen zwischen nicht verwandten Problemen herzustellen.

• 3-SAT ist häufig ein Ausgangsproblem für Reduktionen.