• Keine Ergebnisse gefunden

VL-16: NP-vollst¨andige Zahlprobleme (Berechenbarkeit und Komplexit¨at, WS 2018) Gerhard Woeginger

N/A
N/A
Protected

Academic year: 2022

Aktie "VL-16: NP-vollst¨andige Zahlprobleme (Berechenbarkeit und Komplexit¨at, WS 2018) Gerhard Woeginger"

Copied!
56
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

VL-16: NP-vollst¨ andige Zahlprobleme

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

WS 2018, RWTH

(2)

Organisatorisches

N¨achste Vorlesung:

Donnerstag, Januar 17, 12:30–14:00 Uhr, Aula Webseite:

http://algo.rwth-aachen.de/Lehre/WS1819/BuK.php (−→ Arbeitsheft zur Berechenbarkeit)

(−→ Arbeitsheft zur NP-Vollst¨andigkeit)

(3)

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

Definition

Ein ProblemL heisstNP-schwer, falls∀L0∈NP : L0pL

Ein ProblemL heisstNP-vollst¨andig, fallsL∈NPundL NP-schwer.

Satz

WennL NP-vollst¨andig ist, dann gilt: L∈P ⇒ P =NP Unter der AnnahmeP6=NP (Standardannahme) besitzt also kein NP-vollst¨andiges Problem einen polynomiellen Algorithmus.

(4)

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.

(5)

Wdh.: Die Komplexit¨ atslandschaft

NP

P

Graph- zusammenhang Primes

SAT

Clique Ind-Set VC

Ex-Cover

Ham-Cycle TSP Partition

Subset-Sum Rucksack

BPP Coloring 3-SAT

Warnung: Dieser Abbildung liegt die AnnahmeP6=NP zu Grunde.

(6)

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

(7)

Vorlesung VL-16

Einige NP-vollst¨ andige Zahlprobleme

NP-Vollst¨andigkeit von SUBSET-SUM NP-Vollst¨andigkeit von PARTITION

NP-Vollst¨andigkeit von Bin Packing und Rucksack Pseudo-polynomielle Zeit

Starke NP-Schwere

Das THREE-PARTITION Problem

(8)

NP-Vollst¨ andigkeit von

SUBSET-SUM

(9)

SUBSET-SUM: Definition

Problem: SUBSET-SUM

Eingabe:Positive ganze Zahlena1, . . . ,an; eine ganze Zahlb Frage:Existiert eine IndexmengeI ⊆ {1, . . . ,n} mitP

i∈Iai =b?

Beispiel: Eingabe f¨ur SUBSET-SUM

Zahlen1,2,4,8,16,32,64,128,256,512,1024 und b=999

Satz

SUBSET-SUM ist NP-vollst¨andig.

(10)

SUBSET-SUM: Definition

Problem: SUBSET-SUM

Eingabe:Positive ganze Zahlena1, . . . ,an; eine ganze Zahlb Frage:Existiert eine IndexmengeI ⊆ {1, . . . ,n} mitP

i∈Iai =b?

Beispiel: Eingabe f¨ur SUBSET-SUM

Zahlen1,2,4,8,16,32,64,128,256,512,1024 und b=999

Satz

SUBSET-SUM ist NP-vollst¨andig.

(11)

SUBSET-SUM: Reduktion

Satz

SUBSET-SUM ist NP-vollst¨andig.

Beweis:

SUBSET-SUM liegt in NP

Wir zeigen 3-SAT ≤p SUBSET-SUM

Die Boole’sche Formelϕin 3-CNF sei eine Instanz von 3-SAT Die Formel hat Klauselnc1, . . . ,cm mit den Variablenx1, . . . ,xn

In der Reduktion arbeiten wir mit Dezimalzahlen mit jeweilsn+mZiffern.

Diek-te Ziffer einer Zahlz bezeichnen wir dabei mitz(k).

(12)

Reduktion (1a): Var-Zahlen / Definition

Wir definieren:

S+(i) = {j ∈ {1, . . . ,m} |Klauselcj enth¨alt Literalxi} S(i) = {j ∈ {1, . . . ,m} |Klauselcj enth¨alt Literalx¯i}

F¨ur jede Boolesche Variablexi mit1≤i ≤nerzeugen wir zwei entsprechende Var-Zahlenai+undai mit den folgenden Ziffern:

a+i (i) =1 und f¨ur allej ∈S+(i) : ai+(n+j) =1 ai (i) =1 und f¨ur allej ∈S(i) : ai(n+j) =1

Alle anderen Ziffern in diesen Dezimaldarstellungen sind 0.

(13)

Reduktion (1a): Var-Zahlen / Definition

Wir definieren:

S+(i) = {j ∈ {1, . . . ,m} |Klauselcj enth¨alt Literalxi} S(i) = {j ∈ {1, . . . ,m} |Klauselcj enth¨alt Literalx¯i}

F¨ur jede Boolesche Variablexi mit1≤i ≤nerzeugen wir zwei entsprechende Var-Zahlenai+undaimit den folgenden Ziffern:

a+i (i) =1 und f¨ur allej ∈S+(i) : ai+(n+j) =1 ai (i) =1 und f¨ur allej ∈S(i) : ai(n+j) =1

Alle anderen Ziffern in diesen Dezimaldarstellungen sind 0.

(14)

Reduktion (1b): Var-Zahlen / Beispiel

Als Beispiel betrachten wir die Formel (x1∨x2∨x3)∧(x2∨x¯3∨x¯4)

Die folgenden Var-Zahlen werden erzeugt:

a+1 = 100010 a1 = 100000 a+2 = 010011 a2 = 010000 a+3 = 001010 a3 = 001001 a+4 = 000100 a4 = 000101

(15)

Reduktion (2): Dummy-Zahlen

Wir definieren f¨ur jede Klauselcj zwei entsprechendeDummy-Zahlen dj unddj0.

Dummy-Zahlen haben nur an der Ziffernposition n+j eine Ziffer 1;

alle anderen Ziffern sind 0.

Fortsetzung des Beispiels

Wir betrachten wieder die Formel (x1∨x2∨x3)∧(x2∨x¯3∨x¯4)

Die Dummy-Zahlen f¨ur die beiden Klauseln lauten dann:

d1 = 000010 d10 = 000010 d2 = 000001 d20 = 000001

(16)

Reduktion (3): Zielsumme

DieZielsummebdefinieren wir folgendermassen:

b(k) =1f¨ur1≤k ≤n,

b(k) =3f¨urn+1≤k ≤n+m.

Abschluss des Beispiels

Wir betrachten wieder die Formel (x1∨x2∨x3)∧(x2∨x¯3∨x¯4) Die Zielsumme lautet dann:

b = 111133

(17)

Reduktion (4): Illustration

M¨ogliche Zahlwerte f¨ur eine Formel mitn Variablen undmKlauseln:

1 2 3 · · · n n+1 n+2 · · · n+m

a+1 1 0 0 · · · 0 1 0 · · · ·

a1 1 0 0 · · · 0 0 0 · · · ·

a+2 0 1 0 · · · 0 0 1 · · · ·

a2 0 1 0 · · · 0 1 0 · · · ·

a+3 0 0 1 · · · 0 1 1 · · · ·

... ... ... ... ... ... ... ... ... ...

a+n 0 0 0 · · · 1 0 0 · · · ·

an 0 0 0 · · · 1 0 1 · · · ·

d1 0 0 0 · · · 0 1 0 · · · 0

d10 0 0 0 · · · 0 1 0 · · · 0

... ... ... ... ... ... ... ... ... ...

dm 0 0 0 · · · 0 0 0 · · · 1

dm0 0 0 0 · · · 0 0 0 · · · 1

b 1 1 1 · · · 1 3 3 · · · 3

(18)

Beweis (1): Keine Carry-Overs

F¨ur jede Dezimalstellei ∈ {1, . . . ,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 Dezimalstellei ∈ {n+1, . . . ,n+m}gilt: Nur f¨unf der Var-Zahlen und Dummy-Zahlen haben an dieser Stelle die Ziffer 1;

alle anderen Zahlen haben an dieser Stelle die Ziffer 0.

Beobachtung: Keine Carry-Overs

Wird eine beliebige Menge von Var-Zahlen und Dummy-Zahlen addiert, so tritt von keiner Dezimalstelle zur n¨achsten ein Additions¨ubertrag auf.

(19)

Beweis (1): Keine Carry-Overs

F¨ur jede Dezimalstellei ∈ {1, . . . ,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 Dezimalstellei ∈ {n+1, . . . ,n+m}gilt: Nur f¨unf der Var-Zahlen und Dummy-Zahlen haben an dieser Stelle die Ziffer 1;

alle anderen Zahlen haben an dieser Stelle die Ziffer 0.

Beobachtung: Keine Carry-Overs

Wird eine beliebige Menge von Var-Zahlen und Dummy-Zahlen addiert, so tritt von keiner Dezimalstelle zur n¨achsten ein Additions¨ubertrag auf.

(20)

Beweis (2): Laufzeit der Reduktion

Die SAT Instanzϕbesteht ausnVariablen und mKlauseln.

Die Eingabel¨ange ist≥m+n.

Die konstruierte SUBSET-SUM Instanz besteht aus 2n+2m+1 Dezimalzahlen mit jem+nDezimalstellen.

Die Reduktion wird in polynomieller ZeitO (m+n)2

durchgef¨uhrt.

(21)

Beweis (3a): Korrektheit

Lemma A: Formel ϕerf¨ullbar⇒SUBSET-SUM Instanz ist l¨osbar Es gibt eine erf¨ullende Belegungxf¨ur die Formelϕ.

Fallsxi=1, so w¨ahlen wira+i aus; andernfalls w¨ahlen wirai Die Summe der ausgew¨ahlten Var-Zahlen bezeichnen wir mit A Da f¨ur jedesi ∈ {1, . . . ,n}entwedera+i oderai ausgew¨ahlt wurde, gilt A(i) =1

Ausserdem giltA(n+j)∈ {1,2,3}f¨ur1≤j ≤m, weil in jeder Klausel ein oder zwei oder drei Literale erf¨ullt sind.

Falls A(n+j)∈ {1,2}, so w¨ahlen wir zus¨atzlichdj und/oderdj0 aus, um die Ziffer3an Ziffernpositionn+j der Summe zu erhalten. Also gibt es eine Teilmenge mit der gew¨unschten Zielsummeb.

(22)

Beweis (3a): Korrektheit

Lemma A: Formel ϕerf¨ullbar⇒SUBSET-SUM Instanz ist l¨osbar Es gibt eine erf¨ullende Belegungxf¨ur die Formelϕ.

Fallsxi=1, so w¨ahlen wira+i aus; andernfalls w¨ahlen wirai Die Summe der ausgew¨ahlten Var-Zahlen bezeichnen wir mitA Da f¨ur jedesi ∈ {1, . . . ,n}entwedera+i oderai ausgew¨ahlt wurde, giltA(i) =1

Ausserdem giltA(n+j)∈ {1,2,3}f¨ur1≤j ≤m, weil in jeder Klausel ein oder zwei oder drei Literale erf¨ullt sind.

Falls A(n+j)∈ {1,2}, so w¨ahlen wir zus¨atzlichdj und/oderdj0 aus, um die Ziffer3an Ziffernpositionn+j der Summe zu erhalten. Also gibt es eine Teilmenge mit der gew¨unschten Zielsummeb.

(23)

Beweis (3a): Korrektheit

Lemma A: Formel ϕerf¨ullbar⇒SUBSET-SUM Instanz ist l¨osbar Es gibt eine erf¨ullende Belegungxf¨ur die Formelϕ.

Fallsxi=1, so w¨ahlen wira+i aus; andernfalls w¨ahlen wirai Die Summe der ausgew¨ahlten Var-Zahlen bezeichnen wir mitA Da f¨ur jedesi ∈ {1, . . . ,n}entwedera+i oderai ausgew¨ahlt wurde, giltA(i) =1

Ausserdem giltA(n+j)∈ {1,2,3} f¨ur1≤j ≤m, weil in jeder Klausel ein oder zwei oder drei Literale erf¨ullt sind.

Falls A(n+j)∈ {1,2}, so w¨ahlen wir zus¨atzlichdj und/oderdj0 aus, um die Ziffer3an Ziffernpositionn+j der Summe zu erhalten. Also gibt es eine Teilmenge mit der gew¨unschten Zielsummeb.

(24)

Beweis (3a): Korrektheit

Lemma A: Formel ϕerf¨ullbar⇒SUBSET-SUM Instanz ist l¨osbar Es gibt eine erf¨ullende Belegungxf¨ur die Formelϕ.

Fallsxi=1, so w¨ahlen wira+i aus; andernfalls w¨ahlen wirai Die Summe der ausgew¨ahlten Var-Zahlen bezeichnen wir mitA Da f¨ur jedesi ∈ {1, . . . ,n}entwedera+i oderai ausgew¨ahlt wurde, giltA(i) =1

Ausserdem giltA(n+j)∈ {1,2,3} f¨ur1≤j ≤m, weil in jeder Klausel ein oder zwei oder drei Literale erf¨ullt sind.

Falls A(n+j)∈ {1,2}, so w¨ahlen wir zus¨atzlichdj und/oderdj0 aus, um die Ziffer3an Ziffernpositionn+j der Summe zu erhalten.

Also gibt es eine Teilmenge mit der gew¨unschten Zielsummeb.

(25)

Beweis (3b): Korrektheit

Lemma B: SUBSET-SUM Instanz ist l¨osbar⇒Formelϕ erf¨ullbar Es gibt eine TeilmengeKA der Var-Zahlen (mit SummeA) und eine TeilmengeKD der Dummy-Zahlen (mit SummeH), die sich zur Zielsummebaufaddieren; also:A+H=b.

Die MengeKAenth¨alt f¨ur jedesi ∈ {1, . . . ,n}genau eine der beiden Var-Zahlena+i undai ; andernfalls w¨areA(i)6=1.

Wir setzenxi =1fallsai+∈KA, und andernfallsxi=0. Es gilt A(n+j)≥1f¨ur1≤j ≤m.

Ansonsten w¨areA(n+j) +H(n+j)≤A(n+j) +2<3.

Dadurch ist sichergestellt, dass in jeder Klausel mindestens eines der Literale den Wert 1 hat.

Die Formelϕ ist also erf¨ullbar.

(26)

Beweis (3b): Korrektheit

Lemma B: SUBSET-SUM Instanz ist l¨osbar⇒Formelϕ erf¨ullbar Es gibt eine TeilmengeKA der Var-Zahlen (mit SummeA) und eine TeilmengeKD der Dummy-Zahlen (mit SummeH), die sich zur Zielsummebaufaddieren; also:A+H=b.

Die MengeKAenth¨alt f¨ur jedesi ∈ {1, . . . ,n}genau eine der beiden Var-Zahlena+i undai ; andernfalls w¨areA(i)6=1.

Wir setzenxi =1fallsai+∈KA, und andernfallsxi=0. Es gilt A(n+j)≥1f¨ur1≤j ≤m.

Ansonsten w¨areA(n+j) +H(n+j)≤A(n+j) +2<3.

Dadurch ist sichergestellt, dass in jeder Klausel mindestens eines der Literale den Wert 1 hat.

Die Formelϕ ist also erf¨ullbar.

(27)

Beweis (3b): Korrektheit

Lemma B: SUBSET-SUM Instanz ist l¨osbar⇒Formelϕ erf¨ullbar Es gibt eine TeilmengeKA der Var-Zahlen (mit SummeA) und eine TeilmengeKD der Dummy-Zahlen (mit SummeH), die sich zur Zielsummebaufaddieren; also:A+H=b.

Die MengeKAenth¨alt f¨ur jedesi ∈ {1, . . . ,n}genau eine der beiden Var-Zahlena+i undai ; andernfalls w¨areA(i)6=1.

Wir setzenxi =1fallsai+∈KA, und andernfallsxi=0.

Es gilt A(n+j)≥1f¨ur1≤j ≤m.

Ansonsten w¨areA(n+j) +H(n+j)≤A(n+j) +2<3.

Dadurch ist sichergestellt, dass in jeder Klausel mindestens eines der Literale den Wert 1 hat.

Die Formelϕ ist also erf¨ullbar.

(28)

Beweis (3b): Korrektheit

Lemma B: SUBSET-SUM Instanz ist l¨osbar⇒Formelϕ erf¨ullbar Es gibt eine TeilmengeKA der Var-Zahlen (mit SummeA) und eine TeilmengeKD der Dummy-Zahlen (mit SummeH), die sich zur Zielsummebaufaddieren; also:A+H=b.

Die MengeKAenth¨alt f¨ur jedesi ∈ {1, . . . ,n}genau eine der beiden Var-Zahlena+i undai ; andernfalls w¨areA(i)6=1.

Wir setzenxi =1fallsai+∈KA, und andernfallsxi=0.

Es gilt A(n+j)≥1f¨ur1≤j ≤m.

Ansonsten w¨areA(n+j) +H(n+j)≤A(n+j) +2<3.

Dadurch ist sichergestellt, dass in jeder Klausel mindestens eines der Literale den Wert 1 hat.

Die Formelϕ ist also erf¨ullbar.

(29)

NP-Vollst¨ andigkeit von

PARTITION

(30)

PARTITION: Definition

Problem: PARTITION

Eingabe:Positive ganze Zahlena01, . . . ,a0n; mitPn

i=1a0i=2A0 Frage:Existiert eine IndexmengeI ⊆ {1, . . . ,n} mitP

i∈Iai0=A0? PARTITION ist der Spezialfall von SUBSET-SUM mitb:= (P

ai)/2

Satz

PARTITION ist NP-vollst¨andig.

Beweis:

PARTITION liegt in NP

Wir zeigen SUBSET-SUM≤p PARTITION

(31)

PARTITION: Reduktion

Es seia1, . . . ,an∈Nundb∈Neine beliebige Instanz von SUBSET-SUM

Es seiS:=Pn

i=1ai, und o.B.d.A. giltS≥b

Wir bilden diese SUBSET-SUM Instanz auf eine PARTITION Instanz ab, die aus den folgendenn+2Zahlena01, . . . ,a0n+2besteht:

a0i=ai f¨ur1≤i ≤n

a0n+1=2S−b und an+20 =S+b Die Summe diesern+2Zahlen betr¨agtPn+2

i=1a0i=4S. Daher giltA0:=2S f¨ur die PARTITION Instanz. Die Reduktion wird in polynomieller Zeit durchgef¨uhrt.

(32)

PARTITION: Reduktion

Es seia1, . . . ,an∈Nundb∈Neine beliebige Instanz von SUBSET-SUM

Es seiS:=Pn

i=1ai, und o.B.d.A. giltS≥b

Wir bilden diese SUBSET-SUM Instanz auf eine PARTITION Instanz ab, die aus den folgendenn+2Zahlena01, . . . ,a0n+2besteht:

a0i=ai f¨ur1≤i ≤n

a0n+1=2S−b und an+20 =S+b

Die Summe diesern+2Zahlen betr¨agtPn+2

i=1a0i=4S. Daher giltA0:=2S f¨ur die PARTITION Instanz. Die Reduktion wird in polynomieller Zeit durchgef¨uhrt.

(33)

PARTITION: Reduktion

Es seia1, . . . ,an∈Nundb∈Neine beliebige Instanz von SUBSET-SUM

Es seiS:=Pn

i=1ai, und o.B.d.A. giltS≥b

Wir bilden diese SUBSET-SUM Instanz auf eine PARTITION Instanz ab, die aus den folgendenn+2Zahlena01, . . . ,a0n+2besteht:

a0i=ai f¨ur1≤i ≤n

a0n+1=2S−b und an+20 =S+b Die Summe diesern+2Zahlen betr¨agtPn+2

i=1a0i=4S.

Daher giltA0:=2S f¨ur die PARTITION Instanz.

Die Reduktion wird in polynomieller Zeit durchgef¨uhrt.

(34)

Beweis (1): Korrektheit

Lemma A: SUBSET-SUM Instanz l¨osbar⇒PARTITION Instanz l¨osbar

Wenn es in der SUBSET-SUM Instanz eine Teilmenge der Zahlen a1, . . . ,an mit der Summebgibt, so haben die enstprechenden Zahlena01, . . . ,a0nin der PARTITION Instanz ebenfalls die Summe b.

Wir f¨ugen die Zahla0n+1=2S−bzu dieser Teilmenge dazu und erhalten eine Teilmenge mit der gew¨unschten ZielsummeA0=2S.

(35)

Beweis (2): Korrektheit

Lemma B: PARTITION Instanz l¨osbar⇒SUBSET-SUM Instanz l¨osbar

In der L¨osung der PARTITION Instanz sind die beiden Zahlen a0n+1=2S−bunda0n+2=S+bnicht in derselben Teilmenge, da a0n+1+a0n+2=3S>2S =A0 gilt.

Eine der Teilmengen besteht ausan+10 =2S−bund einer Teilmenge der Zahlena10, . . . ,an0 mit Gesamtsumme A0=2S.

Die entsprechenden Zahlen in der SUBSET-SUM Instanz haben dann die Summeb.

(36)

NP-Vollst¨ andigkeit von

Bin Packing und Rucksack

(37)

Bin Packing

Beim Bin Packing sollennObjekte mit Gewichtenw1, . . . ,wn auf eine m¨oglichst kleine Anzahl von Kisten mit GewichtslimitB verteilt werden.

Problem: Bin Packing (BPP)

Eingabe:ZahlenB undw1, . . . ,wn∈ {1, . . . ,B}; eine Schrankeγ Frage:K¨onnen Objekte mit den gegebenen Gr¨ossenw1, . . . ,wn

inγ Kisten der Gr¨osseB gepackt werden?

Satz

Bin Packing ist NP-vollst¨andig.

Beweis:

Wir zeigen PARTITION≤p Bin Packing

Wir setzenγ=2, undwi =a0i f¨ur 1≤i ≤n, und B=A0

(38)

Rucksack

Beim Rucksack Problem sollen Objekte ausgew¨ahlt werden, die in einen Rucksack mit GewichtsschrankeB passen und den Gesamtprofit maximieren.

Problem: Rucksack / Knapsack (KP)

Eingabe:Nat¨urliche Zahlenw1, . . . ,wn,p1, . . . ,pn,B,γ Frage:Existiert eine Teilmenge der Objekte mit

Gesamtgewicht h¨ochstensB und Gesamtprofit mindestensγ?

Satz

Rucksack ist NP-vollst¨andig.

Beweis:

Wir zeigen SUBSET-SUM≤pRucksack

Wir setzenwi =ai undpi=ai f¨ur 1≤i ≤n, undB =γ=b

(39)

Die Komplexit¨ atslandschaft

NP

P

SAT

Clique Ind-Set VC

Ham-Cycle TSP Partition

Subset-Sum Rucksack

BPP

3-SAT

Graph- zusammenhang Primes

Warnung: Dieser Abbildung liegt die AnnahmeP6=NP zu Grunde.

(40)

Die Komplexit¨ atslandschaft

NP

P

SAT

Clique Ind-Set VC

Ham-Cycle TSP Partition

Subset-Sum Rucksack

BPP

3-SAT

Graph- zusammenhang Primes

(41)

Pseudo-polynomielle Zeit und

Starke NP-Schwere

(42)

Kodierungsl¨ ange (1)

Es seiX ein algorithmisches Problem

Die Laufzeit eines AlgorithmusAf¨ur ProblemX messen wir in der Kodierungsl¨angeder InstanzenI vonX

Die Kodierungsl¨ange|I|ist die Anzahl der Symbole in einer

“vern¨unftigen” Beschreibung der InstanzI

Kleine (polynomiell grosse) ¨Anderungen in derartigen Beschreibungen sind f¨ur unsere Definitionen / S¨atze / Beweise / Resultate irrelevant

(43)

Kodierungsl¨ ange (2)

Beispiel: Ungerichtete Graphen

Vern¨unftige Beschreibungen von ungerichteten GraphenG = (V,E)sind Adjazenzlisten mit L¨ange`1(G) =O(|E|log|V|)

Adjazenzmatrizen mit L¨ange`2(G) =O(|V|2) Es gilt:

`1(G)ist polynomiell beschr¨ankt in`2(G)

`2(G)ist polynomiell beschr¨ankt in`1(G)

(44)

Kodierungsl¨ ange (3)

Beispiel: Nat¨urliche Zahlen

Vern¨unftige Beschreibungen von nat¨urlichen Zahlennsind Dezimaldarstellung mit L¨ange ≈ log10n

Bin¨ardarstellung mit L¨ange ≈ log2n Oktaldarstellung mit L¨ange ≈ log8n Hexadezimaldarstellung mit L¨ange ≈ log16n

F¨ur alle reellen Zahlena,b>1gilt: logan=logab·logbn

Die verschiedenen Kodierungsl¨angen unterscheiden sich daher nur um einen konstanten Faktor.

Anmerkung

Die Zahlnstellt den Wertnmit Kodierungsl¨angeO(logn)dar.

Der Wert h¨angt alsoexponentiellvon der Kodierungsl¨ange ab.

(45)

Zahlenwert versus Kodierungsl¨ ange

Definition: Number

F¨ur eine InstanzI eines Entscheidungsproblems bezeichnen wir mit Number(I)den Wert der gr¨ossten inI vorkommenden Zahl.

Beispiel

F¨ur eine TSP Instanz I istNumber(I)

der Wert der gr¨ossten St¨adtedistanz maxi,jd(i,j)oder der Wertγ. F¨ur eine SUBSET-SUM InstanzI istNumber(I)

das Maximum der Zahlen a1, . . . ,an undb. F¨ur eine SAT Instanz I istNumber(I)

das Maximum der Zahlen nundm. (Ergo:Number(I)≤ |I|.) Der ParameterNumber(I)ist nur f¨ur Probleme relevant, in denen Distanzen, Kosten, Gewichte, L¨angen, Profite, Zeitintervalle, Abst¨ande, etc eine Rolle spielen.

(46)

Zahlenwert versus Kodierungsl¨ ange

Definition: Number

F¨ur eine InstanzI eines Entscheidungsproblems bezeichnen wir mit Number(I)den Wert der gr¨ossten inI vorkommenden Zahl.

Beispiel

F¨ur eine TSP Instanz I istNumber(I)

der Wert der gr¨ossten St¨adtedistanz maxi,jd(i,j)oder der Wertγ.

F¨ur eine SUBSET-SUM InstanzI istNumber(I) das Maximum der Zahlen a1, . . . ,an undb.

F¨ur eine SAT Instanz I istNumber(I)

das Maximum der Zahlen nundm. (Ergo:Number(I)≤ |I|.) Der ParameterNumber(I)ist nur f¨ur Probleme relevant, in denen Distanzen, Kosten, Gewichte, L¨angen, Profite, Zeitintervalle, Abst¨ande, etc eine Rolle spielen.

(47)

Pseudo-polynomielle Zeit (1): Definition

Definition: Pseudo-polynomielle Zeit

Ein AlgorithmusAl¨ost ein ProblemX inpseudo-polynomiellerZeit, falls die Laufzeit von Aauf InstanzenI von X

polynomiell in|I|undNumber(I)beschr¨ankt ist.

Satz

Die Probleme SUBSET-SUM, PARTITION und Rucksack sind pseudo-polynomiell l¨osbar.

(48)

Pseudo-polynomielle Zeit (1): Definition

Definition: Pseudo-polynomielle Zeit

Ein AlgorithmusAl¨ost ein ProblemX inpseudo-polynomiellerZeit, falls die Laufzeit von Aauf InstanzenI von X

polynomiell in|I|undNumber(I)beschr¨ankt ist.

Satz

Die Probleme SUBSET-SUM, PARTITION und Rucksack sind pseudo-polynomiell l¨osbar.

(49)

Pseudo-polynomielle Zeit (2): Dynamisches Programm

Problem: SUBSET-SUM

Eingabe:Positive ganze Zahlena1, . . . ,an; eine ganze Zahlb Frage:Existiert eine IndexmengeI ⊆ {1, . . . ,n} mitP

i∈Iai =b?

Satz

SUBSET-SUM ist in pseudo-polynomieller ZeitO(n·b)l¨osbar.

Beweis:

Dynamische Programmierung: F¨urk=0, . . . ,nundc =0, . . . ,b setzen wirF[k,c] =TRUE genau dann, wenn es eine Indexmenge I ⊆ {1, . . . ,k}mitP

i∈Iai=c gibt. F[0,c] = (c==0)f¨urc=0, . . . ,b F[k,c] =F[k−1,c−ak]∨F[k−1,c]

Schlussendlich findet man die Antwort inF[n,b]

(50)

Pseudo-polynomielle Zeit (2): Dynamisches Programm

Problem: SUBSET-SUM

Eingabe:Positive ganze Zahlena1, . . . ,an; eine ganze Zahlb Frage:Existiert eine IndexmengeI ⊆ {1, . . . ,n} mitP

i∈Iai =b?

Satz

SUBSET-SUM ist in pseudo-polynomieller ZeitO(n·b)l¨osbar.

Beweis:

Dynamische Programmierung: F¨urk=0, . . . ,nundc =0, . . . ,b setzen wirF[k,c] =TRUE genau dann, wenn es eine Indexmenge I ⊆ {1, . . . ,k} mitP

i∈Iai=c gibt.

F[0,c] = (c==0)f¨urc=0, . . . ,b F[k,c] =F[k−1,c−ak]∨F[k−1,c]

Schlussendlich findet man die Antwort inF[n,b]

(51)

Starke NP-Schwere (1): Definition

Definition: Stark NP-schwer (engl.: NP-hard in the strong sense) Ein EntscheidungsproblemX iststark NP-schwer,

wenn es ein Polynom q:N→Ngibt, sodass die RestriktionXq von X auf InstanzenI mitNumber(I)≤q(|I|)NP-schwer ist.

Also: Das ProblemX ist sogar dann NP-schwer, wenn alle Zahlenwerte in der InstanzI nur polynomiell gross (gemessen in |I|) sind.

Ubung (unter der Annahme P6=NP)¨

Welche der folgenden Probleme sind stark NP-schwer? SAT und 3-SAT

CLIQUE, INDEP-SET, Vertex Cover Ham-Cycle und TSP

SUBSET-SUM und PARTITION Bin Packing

(52)

Starke NP-Schwere (1): Definition

Definition: Stark NP-schwer (engl.: NP-hard in the strong sense) Ein EntscheidungsproblemX iststark NP-schwer,

wenn es ein Polynom q:N→Ngibt, sodass die RestriktionXq von X auf InstanzenI mitNumber(I)≤q(|I|)NP-schwer ist.

Also: Das ProblemX ist sogar dann NP-schwer, wenn alle Zahlenwerte in der InstanzI nur polynomiell gross (gemessen in |I|) sind.

Ubung (unter der Annahme P6=NP)¨

Welche der folgenden Probleme sind stark NP-schwer?

SAT und 3-SAT

CLIQUE, INDEP-SET, Vertex Cover Ham-Cycle und TSP

SUBSET-SUM und PARTITION Bin Packing

(53)

Starke NP-Schwere (2)

Satz

Es seiX ein stark NP-schweres Entscheidungsproblem.

FallsX pseudo-polynomiell l¨osbar ist, so gilt P=NP.

Also: Pseudo-polynomiell und stark NP-schwer schliessen einander aus (unter unserer Standardannahme P6=NP)

Beweis:

X ist stark NP-schwer

Ergo gibt es ein Polynomq:N→N, f¨ur das die RestriktionXq von X auf InstanzenI mitNumber(I)≤q(|I|)NP-schwer ist.

Ein pseudo-polynomieller AlgorithmusAf¨urX hat Laufzeit polynomiell beschr¨ankt in |I|undNumber(I)

Wendet man AlgorithmusAaufXqan, so ist die Laufzeit polynomiell beschr¨ankt in|I|undq(|I|), und daher polynomiell beschr¨ankt in|I| (Xq NP-schwer) und (Xq polynomiell l¨osbar) ⇒ P=NP

(54)

Starke NP-Schwere (2)

Satz

Es seiX ein stark NP-schweres Entscheidungsproblem.

FallsX pseudo-polynomiell l¨osbar ist, so gilt P=NP.

Also: Pseudo-polynomiell und stark NP-schwer schliessen einander aus (unter unserer Standardannahme P6=NP)

Beweis:

X ist stark NP-schwer

Ergo gibt es ein Polynomq:N→N, f¨ur das die RestriktionXq von X auf InstanzenI mitNumber(I)≤q(|I|)NP-schwer ist.

Ein pseudo-polynomieller AlgorithmusAf¨urX hat Laufzeit polynomiell beschr¨ankt in|I|undNumber(I)

Wendet man AlgorithmusAaufXqan, so ist die Laufzeit polynomiell beschr¨ankt in|I|undq(|I|), und daher polynomiell beschr¨ankt in|I| (Xq NP-schwer) und (Xq polynomiell l¨osbar) ⇒ P=NP

(55)

Starke NP-Schwere (3)

Problem: THREE-PARTITION

Eingabe:Positive ganze Zahlena1, . . . ,an,b1, . . . ,bn, und c1, . . . ,cn mitPn

i=1(ai+bi+ci) =nS

Frage:Gibt es zwei Permutationenα, β von1, . . . ,n, sodassaα(i)+bβ(i)+ci=S f¨ur1≤i ≤n gilt?

Satz (ohne Beweis)

THREE-PARTITION ist stark NP-schwer.

Ubung¨

Zeigen Sie: Bin Packing ist stark NP-schwer.

(56)

Starke NP-Schwere (3)

Problem: THREE-PARTITION

Eingabe:Positive ganze Zahlena1, . . . ,an,b1, . . . ,bn, und c1, . . . ,cn mitPn

i=1(ai+bi+ci) =nS

Frage:Gibt es zwei Permutationenα, β von1, . . . ,n, sodassaα(i)+bβ(i)+ci=S f¨ur1≤i ≤n gilt?

Satz (ohne Beweis)

THREE-PARTITION ist stark NP-schwer.

Ubung¨

Zeigen Sie: Bin Packing ist stark NP-schwer.

Referenzen

ÄHNLICHE DOKUMENTE

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

Beweis: Aus polynomiellem Algorithmus A f¨ urs Entscheidungsproblem konstruieren wir zuerst einen polynomiellen Algorithmus B, der den optimalen Zielfunktionswert bestimmt. und

Ein schneller Algorithmus f¨ ur das Entscheidungsproblem liefert (durch wiederholte Anwendung) oft auch einen schnellen Algorithmus zum Berechnen eines expliziten L¨

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 ϕ

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

Auch wenn eine Aufgabe als Entscheidungsfrage formuliert wird, gibt es f¨ ur ein einfaches Ja oder Nein keine Punkte. Allgemein: Punkte werden bei der Klausur haupts¨ achlich f¨

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