np-vollst. u. np-äquiv. probleme - tu dortmund, informatik...
TRANSCRIPT
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)
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?
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.
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.