Komplexitätstheorie

Werbung
Komplexitätstheorie
Teil D: Approximierbarkeit von Optimierungsproblemen
15: Approximationsschemata
Version von: 28. Mai 2015 (17:49)
Sommersemester 2015 - Thomas Schwentick
Einleitung
• Im letzten Kapitel haben wir gesehen:
– M AX -SAT ist in APX
– B IN PACKING ist in APX aber nicht in PTAS, falls
P 6= NP
• In diesem Kapitel betrachten wir Probleme, die ein
Approximationsschema haben:
– S CHEDULING hat ein PTAS
– RUCKSACK hat sogar ein FPTAS
– Und B IN PACKING hat immerhin ein Quasi-PTAS
Kompl.-Theorie / Schwentick / SoSe 15
D: 15. Approximationsschemata
. ✁✄
Folie 1
Inhalt
✄ 15.1 Ein Quasi-PTAS für B IN PACKING
15.2 Ein PTAS für S CHEDULING
15.3 Ein FPTAS für RUCKSACK
15.4 Zum Verhältnis der Approximationsklassen
Kompl.-Theorie / Schwentick / SoSe 15
D: 15. Approximationsschemata
. ✁✄
Folie 2
B IN PACKING: Vorbemerkungen
• Auch wenn es für B IN PACKING im Falle P 6= NP kein „echtes“
PTAS geben kann (Satz 14.12), werden wir jetzt ein Quasi-PTAS
dafür kennen lernen
• Es beruht darauf,
– dass das Problem in polynomieller Zeit lösbar ist, wenn die Anzahl der verschiedenen Werte beschränkt ist (erster Spezialfall),
und
– dass das Problem für Gegenstände > ǫ eine (1 + ǫ)Approximation zulässt (zweiter Spezialfall)
Kompl.-Theorie / Schwentick / SoSe 15
D: 15. Approximationsschemata
. ✁✄
Folie 3
B IN PACKING: Erster Spezialfall
Definition: k -B IN PACKING
Beweisskizze (Forts.)
• Für jedes k ∈ N bezeichne
k -B IN PACKING die Einschränkung
von B IN PACKING auf Eingaben
w1 , . . . ,wn mit ≤ k verschiedenen Werten, also mit:
|{wi | i ≤ n}| ≤ k
Proposition 15.1
• BINS(i1 , . . . ,ik ) bezeichne die minimale Behälterzahl für das Teilproblem (i1 , . . . ,ik )
• Der def
Algorithmus berechnet zuerst:
X=
{(i1 , . . . ,ik ) | BINS(i1 , . . . ,ik ) = 1}
– X enthält also alle Kombinationen von Gegenständen, die in einen Behälter passen
• Für jedes k > 0 ist k -B IN PACKING
in polynomieller Zeit lösbar
Beweisskizze
• Sei eine Eingabe mit k verschiedenen Werten q1 , . . . ,qk mit Häufigkeiten n1 , . . . ,nk gegeben
• Wir repräsentieren Teilprobleme
durch Vektoren (i1 , . . . ,ik ), wobei
ij jeweils die Anzahl der Gegenstände mit Gewicht qj ist
• Der Algorithmus verwendet dynami-
• Die Werte für BINS(i1 , . . . ,ik ) können dann
induktiv durch die folgende Optimalitätsgleichung
bestimmt werden:
BINS(i1 , . . . ,ik ) =
1+
min
BINS(i1 −j1 , . . . ,ik −jk )
(j1 ,...,jk )∈X
• BINS(n1 , . . . ,nk ) ist dann dann der Wert
der optimalen Lösung (und die optimale Lösung
selbst lässt sich aus BINS rekonstruieren)
• Aufwand: O(n2k k)
➨ polynomiell, für jedes feste k
sche Programmierung
Kompl.-Theorie / Schwentick / SoSe 15
D: 15. Approximationsschemata
☞ aber das Polynom kann groß sein
. ✁✄
Folie 4
B IN PACKING: Zweiter Spezialfall
Definition: ǫ-B IN PACKING
Beweisidee
• Für jedes ǫ > 0 bezeichne
ǫ-B IN PACKING die Einschränkung von
B IN PACKING auf Eingaben w1 , . . . ,wn
mit wi ≥ ǫ, für alle i ≤ n
• Nach Voraussetzung gilt:
OPT- V (w)
~
• Durch geschickte Analyse lässt sich zeigen:
vA (w)
~ ≤
Proposition 15.2
• Für jedes ǫ > 0 gibt es einen polynomiellen (1 + ǫ)-Approximationsalgorithmus
für ǫ-B IN PACKING
≥ nǫ
OPT- V (w)
~
+ nǫ2
⊞
• Es folgt:
Beweisidee
vA (w)
~
OPT- V (w)
~
≤1+ǫ
⊞
• Der Algorithmus sortiert zunächst die
Gegenstände aufsteigend
nach Größe
def 1 und teilt sie in k = ǫ2 Gruppen zu je
def 2
q = nǫ Elementen ein
• In jeder Gruppe werden die Werte der Gegenstände dann auf den Wert des maximalen Gegenstandes der Gruppe aufgerundet
• Danach wird der Algorithmus für
k -B IN PACKING angewendet
Kompl.-Theorie / Schwentick / SoSe 15
D: 15. Approximationsschemata
. ✁✄
Folie 5 !
B IN PACKING: Quasi-PTAS
Beweisidee
Satz 15.3
• Es gibt einen Algorithmus A für
B IN PACKING, der bei Eingabe (w,ǫ)
~ , für
jedes feste ǫ > 0 in polynomieller Zeit
eine Lösung y erzeugt mit
v(w,y)
~
≤ (1 + ǫ)OPT- V(w)
~ +1
• A berechnet zunächst eine (1 + 2ǫ )-
• A ist kein (asymptotischer) PTAS-
• Danach werden die kleineren Gegenstän-
Algorithmus (wegen +1) aber ein QuasiPTAS:
– für Eingaben mit großen Ergebniswerten,
kann beliebig genau approximiert werden
• Es gibt sogar ein Quasi-FPTAS für
B IN PACKING [Karmarkar, Karp 82]
Kompl.-Theorie / Schwentick / SoSe 15
Approximation für die Gegenstände mit
wi ≥
ǫ
2
– Das geht laut Proposition 15.2 in polynomieller Zeit
de mit First-Fit eingefügt
• Das funktioniert wegen der folgenden Fallunterscheidung:
– Falls kein Extra-Behälter für einen kleinen Gegenstand benötigt wird:
∗ Prima, dann haben wir sogar eine
(1 + 2ǫ )-Approximation
– Falls ein Extra-Behälter benötigt wird,
sind alle bisherigen Behälter fast voll
∗ Dann ist die Lösung nah am Optimum
und es lässt sich eine 1+ǫ-Schranke
zeigen
D: 15. Approximationsschemata
. ✁✄
Folie 6
Inhalt
15.1 Ein Quasi-PTAS für B IN PACKING
✄ 15.2 Ein PTAS für S CHEDULING
15.3 Ein FPTAS für RUCKSACK
15.4 Zum Verhältnis der Approximationsklassen
Kompl.-Theorie / Schwentick / SoSe 15
D: 15. Approximationsschemata
. ✁✄
Folie 7
S CHEDULING
Definition S CHEDULING
• Beim Scheduling geht es darum, Aufträge
möglichst geschickt auf Prozessoren zu verteilen
• Es gibt viele Varianten:
– ein oder mehrere gleiche Prozessoren
oder mehrere verschiedene Prozessoren
– mit/ohne Auslieferungszeiten
– mit/ohne früheste Bearbeitungszeiten
– mit/ohne Abhängigkeiten zwischen Aufträgen
– Verschiedene Bewertungen von Lösungen
• Wir betrachten ein einfaches
Mehrprozessoren-Scheduling-Problem
Kompl.-Theorie / Schwentick / SoSe 15
Gegeben:
p1 , . . . ,pn :
Zeitdauern für n Aufträge
m: Prozessorenzahl
Gesucht: Zuordnungen j1 , . . . ,jn ≤ m
und Startzeiten s1 , . . . ,sn , so dass
• (si ,si + pi ] und (sk ,sk + pk ]
disjunkt, falls i 6= k und ji = jk
• max{si + pi | i ≤ n} minimal
• Wir werden kennen lernen:
– einen einfachen Greedy-Algorithmus mit
konstanter Approximationsgüte, und
– ein auf dem k-B IN PACKING-Algorithmus
beruhendes PTAS
D: 15. Approximationsschemata
. ✁✄
Folie 8
Grahams Algorithmus für S CHEDULING (1/2)
• Die Idee von Grahams Algorithmus ist ähnlich zu First-Fit:
– Weise den nächsten Auftrag immer dem ersten freien
Prozessor zu
Algorithmus 15.4
Eingabe: p1 , . . . ,pn , m
Ausgabe: Für jedes k ≤ n: Prozessor jk und Zeitpunkt sk
for i := 1 TO m do
t[i] := 0 {Prozessor i belegt bis 0}
for k := 1 TO n do
min := 1 {Suche Prozessor, der zuerst frei wird}
for i := 2 TO m do
if t[i] < t[min] then
min := i
jk := min
sk := t[min]
t[min] := t[min] + pk
Kompl.-Theorie / Schwentick / SoSe 15
D: 15. Approximationsschemata
. ✁✄
Folie 9
Grahams Algorithmus für S CHEDULING (2/2)
Beweisidee
Satz 15.5
def
• Sei L∗ =
• Algorithmus 15.4 ist ein
1
(2 − m )-Approximations-
def
• Sei L = der Wert der durch den Algorithmus be-
Illustration des Beweises
p1
p6
p2
p3
p5
p4
rechneten Lösung, und
L
p7
p9
p8
pc
• c die Nummer eines Jobs, der zum Zeitpunkt L endet
➨ vor Zeitpunkt sc kann kein Prozessor untätig sein
• Es gelten:
– L∗ ≥ p c
n
X
1
∗
– L ≥
pi
m i=1
• Aber:
L
≤
=
≤
Kompl.-Theorie / Schwentick / SoSe 15
der Wert einer
optimalen Lösung
algorithmus für S CHEDULING
sc
OPT- V S CHEDULING (~
p,m)
D: 15. Approximationsschemata
pc +
1 X
m
pi
i6=c
(1 − 1/m)pc +
(2 − 1/m)L
∗
n
1 X
m
pi
i=1
. ✁✄
Folie 10
Zusammenhang zwischen S CHEDULING und B IN PACKING
Lösung eines S CHEDULING-Problems
p1
p6
p2
p3
p7
p5
p9
p4
p8
t
Korrespondierende Lösung für B IN PACKING
p7
p6
p1
Kompl.-Theorie / Schwentick / SoSe 15
p9
p8
t
p5
p4
p2
p3
D: 15. Approximationsschemata
. ✁✄
Folie 11
Idee für S CHEDULING-PTAS (1/2)
Satz 15.6
Beweisidee (Forts.)
S CHEDULING ∈ PTAS
Beweisidee
• Wir wissen auch: B IN PACKING ist in
• Grundidee: es sind äquivalent:
– n Jobs mit Zeiten p1 , . . . ,pn können in
Zeit t auf m Prozessoren ausgeführt werden
– n Gegenstände mit Gewichten p1 , . . . ,pn
können in m Behälter der Größe t gepackt
werden
– n Gegenstände mit Gewichten
p1
pn
,...,
können in m Behälter der
t
t
Größe 1 gepackt werden
• Wir erhalten:
Poly-Zeit lösbar, wenn nur beschränkt
viele verschiedene Größen vorkommen
– Das lässt sich durch Abrunden der
pi (maximal um Faktor (1 + ǫ))
erreichen
(OBdA: ǫ < 1)
• Problem: das „richtige“ t ist zu Beginn
nicht bekannt
➞ Wir wiederholen die auf der nächsten Folie beschriebene Berechnung für verschiedene t und erreichen einen guten Wert für t durch
binäre Suche
OPT- V S CHEDULING (~
p,m)
=
min{t | OPT- VBP ( pt1 , . . . , ptn ) ≤ m}
– S CHEDULING lässt sich also auf B IN PACKING
zurückführen
Kompl.-Theorie / Schwentick / SoSe 15
D: 15. Approximationsschemata
. ✁✄
Folie 12
Idee für S CHEDULING-PTAS (2/2)
Beweisidee (Forts.)
Beweisidee (Forts.)
• Sei p1 , . . . ,pn , m eine Eingabe für
S CHEDULING
• Wir betrachten zunächst nur die Teileingabe der Aufträge p′1 ,...,p′ℓ mit Laufzeit
≥ tǫ
• Sei t > max{p′i | i ≤ ℓ} und
def
k = ⌈log1+ǫ 1ǫ ⌉
• Wir definieren zunächst für jedes i ≤ ℓ:
def
qi = ǫ(1 + ǫ)j , falls
tǫ(1 + ǫ)j ≤ p′i < tǫ(1 + ǫ)j+1
• Da k nur von ǫ abhängt, ist das zugehörige k -B IN PACKING-Problem, für jedes feste
ǫ, in polynomieller Zeit lösbar
• Falls OPT- V B INPACKING (~
q ) ≤ m ist, gelten:
– OPT- V S CHEDULING (~
q ,m) ≤ 1 und
~′ ,m) ≤ t(1 + ǫ)
– OPT- V S CHEDULING (p
• Die kürzeren Aufträge (< tǫ) werden
dann mit FirstFit eingefügt
➞ Die Analyse ist deshalb ähnlich wie beim
Quasi-PTAS für B IN PACKING
1
– Klar: es gibt ≤ k = ⌈log1+ǫ ǫ ⌉ von
0 verschiedene Werte für die qi
• Die Eingabe für k -B IN PACKING ist dann
q1 , . . . ,qℓ
Kompl.-Theorie / Schwentick / SoSe 15
D: 15. Approximationsschemata
. ✁✄
Folie 13
Inhalt
15.1 Ein Quasi-PTAS für B IN PACKING
15.2 Ein PTAS für S CHEDULING
✄ 15.3 Ein FPTAS für RUCKSACK
15.4 Zum Verhältnis der Approximationsklassen
Kompl.-Theorie / Schwentick / SoSe 15
D: 15. Approximationsschemata
. ✁✄
Folie 14
Das Problem RUCKSACK
Definition: RUCKSACK
• Für i ∈ {0, . . . ,n} und p ≤ nW sei
def
Gegeben: Gewichte g1 , . . . ,gn ,
A(i,p) = minimales Gewicht einer
Werte w1 , . . . ,wn ,
Teilmenge I ⊆ {1, . . . ,i} mit Gesamtwert p
Gewichtsschranke G, wobei
• Dann gelten:
• alle Zahlen aus N sind und
– A(0,0) = 0
• alle gi ≤ G
– A(0,p) = ∞, für alle p > 0
Gesucht: I ⊆ {1, . . . ,n} mit
X
– A(i + 1,p) =
gi ≤ G
∗ min(A(i,p), gi+1 +A(i,p − wi+1 )),
i∈I
falls wi+1 ≤ p
X
∗ A(i,p), sonst
und maximalem Wert
wi
für alle i ∈ {0, . . . ,n − 1} und p ≤ nW
i∈I
• Optimaler Wert: max{p | A(n,p) ≤ G}
• Das RUCKSACK-Problem lässt sich
wie folgt mit dynamischer Program- • Die (n + 1)(nW + 1) Tabelleneinträge von A
können in O(n2 W ) Runden berechnet werden
mierung lösen
def
• Dies ist ein pseudo-polynomieller Algorithmus
• Sei W =
max{wi | i ∈ {1, . . . ,n}}
– Er ist polynomiell im Wert der Zahlen
➨ OPT- V(~
g ,w,G)
~
≤ nW
• Der Algorithmus ist aber nicht polynomiell in der Länge der Eingabe
Kompl.-Theorie / Schwentick / SoSe 15
D: 15. Approximationsschemata
. ✁✄
Folie 15
Ein Approximationsalgorithmus für RUCKSACK
Algorithmus 15.7
• Grundidee des folgenden Approximationsal-
gorithmus für RUCKSACK:
Eingabe: Gewichte g1 , . . . ,gn ,
Werte w1 , . . . ,wn , G, ǫ > 0
– Verwende kleine Werte wi
Ausgabe: zulässiges I ⊆ {1, . . . ,n}
– Genauer:
∗ Verkleinere die Werte der Gegenstände, 1: ǫ′ := min( 2ǫ , 12 )
so dassjeder
Gegenstand i einen Wert
2: W := max{wi | i ∈ {1, . . . ,n}}
i
ǫ′ W
wi′ = w
hat
(
K
für
alle
gleich)
3: K :=
K
· Da die Zahlen kleiner sind, ist die Lösung dann relativ schnell berechenbar
∗ Die Gewichte bleiben unverändert
· Deshalb sind zulässige Lösungen für
∗
das veränderte Problem auch zulässig für das Originalproblem
Der Lösungswert für das Originalproblem ist dann mindestens
K× Lösung des veränderten Problems
➞ Aus der optimalen Lösung für das
„verkleinerte Problem“ lässt sich also eine Näherungslösung für das ursprüngliche Problem gewinnen
Kompl.-Theorie / Schwentick / SoSe 15
4:
5:
6:
for i
n
≤ n do
i
wi′ := ⌊ w
⌋
K
Löse das Rucksack-Problem mit Eingabe
′ , G und gib
g1 , . . . ,gn , w1′ , . . . ,wn
die Lösung I dieser Berechnung aus
Satz 15.8
• Algorithmus 15.7 berechnet eine Lösung
I mit
X
OPT- V(~
g ,w,G)
~
≤ (1 + ǫ)
wi
i∈I
in Laufzeit O(n3 /ǫ)
• Also: RUCKSACK ∈ FPTAS
D: 15. Approximationsschemata
. ✁✄
Folie 16 !
Beweis von Satz 15.8 (1/2)
Beweisskizze
Beweisskizze (Forts.)
• Sei I die Ausgabe des Algorithmus bei
Eingabe ~
g ,w,G,ǫ
~
X
g i ≤ G,
• Klar:
da die Gewichte nicht verändert werden
Zu zeigen:
X
OPT- V (~
g ,w,G)
~
i∈I
i∈I
i∈I
•
~ ′ ,G ist, gilt:
• Da I optimal für ~
g ,w
X
X
wi′
wi ≥ K
≥ K
≥
i∈I
• Sei I ∗ eine optimale Lösung
• Wir verwenden im Folgenden, dass für jedes i das Folgende gilt:
wi ≥ Kwi′
wi
= K⌊ ⌋
K
wi
≥ K(
− 1)
K
= wi − K
Kompl.-Theorie / Schwentick / SoSe 15
wi′
i∈I ∗
wi
≤ (1 + ǫ)
X
X
(wi − K)
i∈I ∗
≥ (
X
wi ) − Kn
i∈I ∗
= OPT- V(~
g ,w,G)
~
− ǫ′ W
≥ (1 − ǫ′ )OPT- V(~
g ,w,G)
~
1 X
➨ OPT- V(~
g ,w,G)
~
≤
wi
′
1 − ǫ i∈I
D: 15. Approximationsschemata
. ✁✄
Folie 17
Beweis von Satz 15.8 (2/2)
Beweisskizze (Forts.)
• Es gilt:
(1 + ǫ)(1 − ǫ′ ) = 1 + ǫ − ǫ′ − ǫǫ′
ǫ
ǫ
≥ 1+ −
2
2
≥ 1
• Die erste Ungleichung gilt, da nach Definition von
ǫ′ gelten:
1
– ǫ′ ≤ ǫ und ǫ′ ≤ 2
• Insgesamt erhalten wir also:
1 X
wi
OPT- V (~
g ,w,G)
~
≤
′
1 − ǫ i∈I
X
≤ (1 + ǫ)
wi
i∈I
• Die Laufzeitschranke gilt, da für den maximalen
Wert W ′ der verkleinerten Eingabe gilt:
W
n
– W ′ ≤ ⌊ K ⌋ = ⌊ ǫ′ ⌋
Kompl.-Theorie / Schwentick / SoSe 15
D: 15. Approximationsschemata
. ✁✄
Folie 18
Inhalt
15.1 Ein Quasi-PTAS für B IN PACKING
15.2 Ein PTAS für S CHEDULING
15.3 Ein FPTAS für RUCKSACK
✄ 15.4 Zum Verhältnis der Approximationsklassen
Kompl.-Theorie / Schwentick / SoSe 15
D: 15. Approximationsschemata
. ✁✄
Folie 19
FPTAS vs. PO
Beweisidee
• Das FPTAS für RUCKSACK basiert auf einem
pseudo-polynomiellen Algorithmus
– Für NP-schwierige Probleme mit polynomiell beschränkten Lösungswerten kann
es so etwas nicht geben
Satz 15.9
• Sei O = (I,S,v,t) ∈ NPO und für
alle x ∈ I und alle y ∈ S(X) gelte
v(x,y) ∈ N, für jedes x ∈ I
• Sein p ein Polynom, so dass für alle
x ∈ I gilt: OPT- V(x) < p(|x|)
• Dann gilt: O ∈ FPTAS ⇒ O ∈ PO
Kompl.-Theorie / Schwentick / SoSe 15
•
•
•
•
OBdA: Maximierungsproblem
Sei A FPTAS-Algorithmus für O
Wähle ǫ
def
= 1/p(|x|)
Dann: OPT- V(x) − vA (x,ǫ)
≤ ǫvA (x,ǫ) < ǫp(|x|) = 1
• Da v(x,y) ∈ N, für alle y ∈ S(x),
folgt vA (x,ǫ) = OPT- V(x)
• Die Laufzeit ist polynomiell in |x| und
1
= p(|x|), also insgesamt polynomiell
ǫ
in |x|
D: 15. Approximationsschemata
. ✁✄
Folie 20
PTAS vs. FPTAS
• S MALL -S CHEDULING: ist definiert wie S CHEDULING,
aber alle Zahlen werden unär repräsentiert
➨ für jedes x ist OPT- V S MALL-S CHEDULING (x)
≤ |x|
• S MALL -S CHEDULING ist NP-vollständig
• S MALL -S CHEDULING ist in PTAS
• Also folgt aus Satz 15.9:
Satz 15.10
• Falls P 6= NP, ist
S MALL -S CHEDULING
Kompl.-Theorie / Schwentick / SoSe 15
∈ PTAS−FPTAS
D: 15. Approximationsschemata
. ✁✄
Folie 21
Zwischenfazit
• Außerdem gilt natürlich:
Satz 15.11
• Falls P 6= NP, ist RUCKSACK ∈ FPTAS−PO
• Insgesamt haben wir also folgendes Resultat gezeigt:
Satz 15.12
• Falls P =
6 NP, so gilt:
– PO ( FPTAS ( PTAS ( APX ( NPO
• Als trennende Beispiele dienen (von links nach
rechts):
– RUCKSACK
– S MALL -S CHEDULING
– M AX -SAT, B IN PACKING
– TSP
Kompl.-Theorie / Schwentick / SoSe 15
D: 15. Approximationsschemata
. ✁✄
Folie 22
Quellen (1/2)
Lehrbücher
• Papadimitriou: 13
• Vijay Vazirani. Approximation Algorithms. Sprin•
•
ger, 2001
Dorit Hochbaum, editor. Approximation Algorithms for NP-hard Problems. Thomson, 1995
G. Ausiello, P. Crecenzi, G. Gambosi, V. Kann,
A. Marchetti-Spaccamela, and M. Protasi. Complexity and Approximation. Springer, 1999
Kompl.-Theorie / Schwentick / SoSe 15
D: 15. Approximationsschemata
. ✁✄
Folie 23
Quellen (2/2)
• FPTAS für RUCKSACK:
• S CHEDULING:
– Oscar H. Ibarra and Chul E. Kim. Fast
approximation algorithms for the knapsack and sum of subset problems. J.
ACM, 22(4):463–468, 1975
• B IN PACKING:
– Quasi-PTAS:
∗ Wenceslas Fernandez de la Vega and
George S. Lueker. Bin packing can be
solved within 1+epsilon in linear time.
Combinatorica, 1(4):349–355, 1981
– Quasi-FPTAS:
∗ Narendra Karmarkar and Richard M.
Karp. An efficient approximation scheme for the one-dimensional bin-packing
problem. In FOCS, pages 312–320,
1982
Kompl.-Theorie / Schwentick / SoSe 15
– Ronald L. Graham. Bounds on multiprocessing timing anomalies. SIAM Journal
of Applied Mathematics, 17(2):416–429,
1969
– PTAS:
∗ Dorit S. Hochbaum and David B. Shmoys. Using dual approximation algorithms for scheduling problems theoretical and practical results. J. ACM,
34(1):144–162, 1987
• Satz 15.9:
– M. R. Garey and D. S. Johnson. Computers and Intractability - A Guide to the
Theory of NP-Completeness. W. H. Freeman and Co., 1979
D: 15. Approximationsschemata
. ✁✄
Folie 24
Herunterladen