Rolf Wanka Erlangen, 25. Mai 2007 Übungen zur Vorlesung Approximationsalgorithmen SS 2007 Blatt 6 AUFGABE 13: Bislang haben wir durch Reduktion NP-vollständiger Probleme auf Optimierungsprobleme gezeigt, daß es (vermutlich) gar nicht möglich ist, die besagten Optimierungsprobleme vernünftig zu approximieren. Ziel dieser Aufgabe ist es, durch eine derartige Reduktion einen Bereich für die relative Güte auszuschließen. Beim NP-vollständigen Entscheidungsproblem PARTITION ist eine Menge M = {a1 , . . . , an } von n Objekten gegeben. Die Objekte haben rationale Größen s(a1 ) ≥ · · · ≥ s(an). Die zu beantwortende Frage ist Kann M disjunkt in zwei Teilmengen A und B zerlegt werden, so daß s(A) = s(B) ?“ Der ” Einfachheit halber nehmen wir auch an, daß 2s(a1) ≤ s(M) ist, da es sonst sowieso keine solche Zerlegung geben kann. Beim Optimierungsproblem B IN PACKING (vgl. Aufgabe 12 auf Blatt 5) ist eine Menge M = {a1 , . . . , an } von n Objekten gegeben. Die Objekte haben rationale Größen 1 ≥ s′ (a1 ) ≥ · · · ≥ s′ (an ) ≥ 0. Die Aufgabe besteht darin, M disjunkt in möglichst wenig Teilmengen B1 , . . ., Bk zu zerlegen, so daß für alle Bi gilt: s′ (Bi ) ≤ 1 (a) Zeigen Sie unter der Annahme P 6= NP: Aus der NP-Vollständigkeit von PARTITION folgt, daß es keinen Approximationsalgorithmus für B IN PACKING mit relativer Gütegarantie ρ gibt mit ρ < 32 . Hinweis: Ein Scaling-Argument führt auch hier zum Ziel: Modifizieren Sie die Größe der Objekte bei PARTITION geschickt “. ” (b) Es gibt einen polynomiellen Approximationsalgorithmus für B IN PACKING mit dem Namen First Fit Decreasing, der unter der Abkürzung FFD bekannt ist. Seine Garantie ist FFD(I) ≤ 11 3 11 9 · OPT(I) + 4. Nun ist 9 < 2 . Widerspricht dies nicht dem Ergebnis von (a)? AUFGABE 14: Ein ganz streng polynomielles Approximationsschema ist ein streng polynomielles Approximationsschema (FPAS), dessen Laufzeit nur O(poly(|I|, log( 1ε ))) ist. Zeigen Sie: Gibt es für ein Optimierungsproblem, dessen Entscheidungsvariante NP-vollständig ist und bei dem die Werte mit O(poly(|I|)) Bits dargestellt werden können, ein ganz streng polynomielles Approximationsschema, dann ist P = NP. Lassen Sie sich dabei von Satz 4.2 inspirieren. AUFGABE 15: Beim NP-vollständigen Entscheidungsproblem S UBSET S UM ist eine Folge ā = {a1 , . . . , an } von natürlichen Zahlen und eine einzelne natürlich Zahl S gegeben. Gesucht ist eine Indexmenge U , U ⊆ {1, . . ., n}, so daß ∑i∈U ai = S gilt. (a) Entwerfen Sie einen pseudopolynomiellen Algorithmus, der S UBSET S UM in Zeit O(n · S) löst. Verwandeln Sie Ihren Entscheidungsalgorithmus in einen Algorithmus, der U berechnet, falls es diese Menge gibt. Hinweis: Betrachten Sie einen Algorithmus, der dynamische Programmierung benutzt, um die folgende Funktion f (i, g) zu berechnen: f (i, g) = 1, wenn es eine Menge W ⊆ {a1 , . . . , ai } gibt mit s(W ) = g. Sonst ist f (i, g) = 0. (b) Was muß man ändern, um das Entscheidungsproblem PARTITION (vgl. Aufgabe 13) mit einem pseudopolynomiellen Algorithmus zu lösen? AUFGABE 16: Das Problem C LIQUE (vgl. Aufgaben 1 und 2 von Blatt 1) besteht darin, zu einem ungerichteten Graphen G = (V, E) die größtmögliche Kardinalität eines vollständigen Teilgraphen von G zu bestimmen. Diese Größe bezeichnen wir mit ω(G). k Mal z }| { (k) (k) (k) (k) (k) Für k ∈ IN ist die kte Potenz von G der Graph G = (V , E ) mit V = V × · · · ×V und E = {(v1 , . . . , vk ), (w1 , . . . , wk )} | ∀i, 1 ≤ i ≤ k : vi = wi ∨ {vi , wi } ∈ E . (a) Die Abbildung zeigt G. Berechnen Sie G(2) . (b) Beweisen Sie: ω(G(k) ) = (ω(G))k . (c) Beweisen Sie: Falls es einen polynomiellen Approximationsalgorithmus für C LIQUE mit konstanter relativer Güte gibt, dann gibt es sogar ein polynomielles Approximationsschema (PAS) für C LIQUE . Die Eigenschaft (b) heißt wegen (c) self-improvement property.