Approximative Algorithmen Gütegarantien (contd.) Lösungsansätze für schwierige kombinatorische Optimierungsprobleme: Es gilt immer: • Exakte Verfahren, wie z.B. Enumeration, Branch-and-Bound • für Minimierungsprobleme: ε ≥ 1, • Heuristische Verfahren liefern in akzeptabler Zeit hoffentlich gute“ Näherungslösungen ” • Approximative Algorithmen sind heuristische Verfahren mit Gütegarantien • für Maximierungsprobleme: ε ≤ 1, • ε=1 ⇔ A ist ein exakter Algorithmus 1 Gütegarantien 3 Bin-Packing Problem – Packen von Kisten • Sei A ein Algorithmus, der für jede Probleminstanz P eines Problems Π eine gültige Lösung (NP-schwer) • mit Lösungswert cA(P ) > 0 liefert. • Sei copt(P ) > 0 der Wert der Optimallösung. Gegeben: • Für Minimierungsprobleme gilt: Falls • Gegenstände 1, . . . , N der Größe wi cA(P ) ≤ε ∀P ∈ Π, ε > 0 copt(P ) dann ist A ein ε-approximativer Algorithmus und die Zahl ε heißt Gütegarantie. ) • Für Maximierungsprobleme: ccA(P ≥ε opt (P ) • beliebig viele Kisten der Größe K Gesucht: ∀P ∈ Π, ε > 0 • Finde kleinste Anzahl von Kisten, die alle Gegenstände aufnehmen. 2 4 Bin-Packing – Beispiel Analyse der Gütegarantie von FF Theorem: • K = 101 • 37 Gegenstände: Anzahl 7× 7× 3× 10× 10× Es gilt cFF(P ) ≤ 2copt(P ) + 1 ∀P ∈ Π. Beweis: wi 6 10 16 34 51 • Offensichtlich: Jede FF-Lösung füllt alle bis auf eine der Kisten mindestens bis zur Hälfte. D.h., ∀P ∈ Π gilt: cFF(P ) ≤ PN j=1 wj K/2 +1 • Da N X • Optimale Lösung: 3× 51 34 16 7× 51 34 10 6 → copt(P ) = 10 wj ≤ Kcopt(P ) j=1 P = 101 P folgt = 101 cFF(P ) ≤ 2copt(P ) + 1 ⇒ cFF(P ) copt(P ) ≤ 2+ 1 copt(P ) 5 7 First Fit Heuristik (FF) Betrachte Gegenstände in beliebiger Reihenfolge: Jeder Gegenstand wird in die erstmögliche Kiste gelegt, in die er passt. Beispiel: 1 × (7×) 6 (5×)10 1 × (2×)10 (3×)16 5 × (2×)34 10 × (1×)51 P = 92 P = 68 P = 68 P = 51 Analyse der Gütegarantie von FF (contd.) • Man kann sogar noch eine schärfere Güte zeigen. Es gilt (ohne Beweis): cFF(P ) 17 2 < + copt(P ) 10 copt(P ) ∀P ∈ Π • Weiters kann man zeigen, dass 17/10 der asymptotisch beste Approximationsfaktor für FF ist. → 17 Kisten cF F (P1) 17 = copt(P1) 10 6 8 Spanning-Tree-Heuristik (ST) für das sym. TSP (1) Bestimme minimalen aufspannenden Baum B von Kn. Gütegarantie für ST-Heuristik (2) Verdopple alle Kanten aus B → Graph (V, B2). Man kann zeigen: (3) Bestimme eine Eulertour F im Graphen (V, B2). Gib dieser Tour eine Orientierung, wähle einen Knoten i ∈ V , markiere i, setze p = i, T = ∅ Gibt es ein ε > 1 und einen polynomiellen Algorithmus A, ) der für jedes symmetrische TSP eine Tour TA liefert mit ccA(P ≤ ε, (P ) (4) Sind alle Knoten markiert, setze T = T ∪ {(p, i)} → STOP; T ist die Ergebnis-Tour. opt dann ist P=NP. (5) Laufe von p entlang der Orientierung von F bis ein unmarkierter Knoten q erreicht ist. Setze T = T ∪ {(p, q)}, markiere q, setze p = q und gehe zu (4). Theorem: Das Problem, das symmetrische TSP für beliebiges ε > 1 zu approximieren ist NP-schwierig (ohne Beweis). 9 Spanning-Tree-Heuristik (ST) Gütegarantie für ST-Heuristik (contd.) W ABER: W D A D A K Ein TSP heißt metrisch wenn für die Distanzmatrix C die Dreiecksungleichung gilt, d.h. für alle Knoten i, j, k gilt K B B F cik ≤ cij + cjk . F W Theorem: W D A 11 Für das metrische TSP und die ST-Heuristik gilt: D A K cST(P ) ≤2 copt(P ) K Beweis: B ∀P ∈ Π. Es gilt B F cST(P ) ≤ cB2 (P ) = 2cB (P ) ≤ 2copt(P ). F 10 12 Gütegarantie für CH-Heuristik Christophides-Heuristik (CH) (1976) Theorem: Für das euklidische TSP und die CH-Heuristik gilt: Wie ST-Heuristik, aber (2) → cCH(P ) 3 ≤ copt(P ) 2 ∀P ∈ Π (2’) Sei W die Menge der Knoten in (V, B) mit ungeradem Grad. Beweis: a) Bestimme im von W induzierten Untergraphen von Kn ein perfektes Matching M kleinsten Gewichts. • Seien i1, i2, . . . , i2M die Knoten von B mit ungeradem Grad und zwar so nummeriert, wie sie in einer optimalen Tour Topt vorkommen, d.h. Topt = (i1, . . . , i2, . . . , i2M , . . .). b) Setze B2 = B ∪ M . • Sei M1 = {(i1, i2), (i3, i4), . . .} und M2 = {(i2, i3), . . . , (i2M , i1)}. Es gilt: Perfektes Matching: Kantenmenge, die jeden Knoten genau 1× enthält copt(P ) ≥ cM1 (P ) + cM2 (P ) ≥ cM (P ) + cM (P ) 13 15 Christophides-Heuristik (CH) W W A Gütegarantie für CH-Heuristik (contd.) D D A K K B B • Weiters gilt: F F W W D A 3 1 cCH (P ) ≤ cB2 (P ) = cB (P ) + cM (P ) ≤ copt(P ) + copt(P ) = copt(P ) 2 2 D A K B K B F F 14 16 Weiteres • Arora (1996) zeigte, dass das euklidische TSP beliebig nahe approximiert werden kann: 1 Eine beliebige Gütegarantie ε > 1 kann mit Laufzeit O N ε−1 erreicht werden. • Eine solche Familie von Approximationsalgorithmen wird als Polynomial Time Approximation Scheme (PTAS) bezeichnet. • Für metrische TSP kann es kein PTAS geben wenn P6=NP. • In der Praxis liefern Konstruktionsheuristiken wie die CH-Heuristik meist Lösungen mit 10-15% Abweichung vom Optimum. 17