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