¨Ubungen zur Vorlesung Approximationsalgorithmen SS 2016 Blatt 4

Werbung
Rolf Wanka
Erlangen, 2. Juni 2016
Übungen zur Vorlesung
Approximationsalgorithmen
SS 2016
Blatt 4
AUFGABE 13:
In der Vorlesung wurde durch eine Reduktion des Hamiltonkreis-Problems gezeigt, daß das allgemeine TSP (vermutlich) mit keiner gutartigen Gütegarantie approximert werden kann. Ziel dieser
Aufgabe ist es, durch eine derartige Reduktion einen Bereich für die relative Gütegarantie 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 ist eine Menge M = {a1 , . . . , an } von n Objekten gegeben. Die Objekte haben rationale Größen 1 ≥ s0 (a1 ) ≥ · · · ≥ s0 (an ) ≥ 0. Die Aufgabe besteht
darin, M disjunkt in möglichst wenig Teilmengen B1 , . . . , Bk zu zerlegen, so daß für alle Bi gilt:
s0 (Bi ) ≤ 1. Hier haben wir ein Optimierungsproblem, in dem in der Beschreibung rationale Zahlen
vorkommen, die Wertefunktion dagegen ganzzahlig ist.
(a) Zeigen Sie unter der Annahme P 6= NP: Aus der NP-Vollständigkeit von PARTITION folgt,
daß es keinen Approximationsalgorithmus (polynomieller Laufzeit) für B IN PACKING mit
relativer Güte ρ gibt mit ρ < 23 .
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 Namen First
11
3
Fit Decreasing (FFD). Seine Garantie ist FFD(I) ≤ 11
9 · OPT(I) + 4. Nun ist 9 < 2 . Widerspricht dies nicht dem Ergebnis von (a)?
AUFGABE 14:
Beim NP-vollständigen Entscheidungsproblem S UBSET S UM ist eine Folge ā = {a1 , . . . , an } von
natürlichen Zahlen und eine einzelne natürliche 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 auf der
Vorderseite) mit einem pseudopolynomiellen Algorithmus zu lösen?
AUFGABE 15:
Sei G = (V, E) ein Graph.
Eine Knotenüberdeckung (engl.: vertex cover) ist eine Knotenmenge C ⊆ V , so daß für jede Kante
/ Das NP-vollständige Entscheidungsproblem VC ist die Frage, ob
{u, v} ∈ E gilt: {u, v} ∩ C 6= 0.
es zu gegebenem Graphen und einer Zahl K eine Knotenüberdeckung C gibt mit |C| ≤ K. Beim
entsprechenden Optimierungsproblem soll eine kleinste Knotenüberdeckung bestimmt werden.
Eine Knotenmenge U ⊆ V heißt unabhängige Menge (engl.: independent set), wenn für alle u, v ∈ U
gilt: {u, v} 6∈ E. Das NP-vollständige Entscheidungsproblem IS ist die Frage, ob es zu gegebenem
Graphen und einer Zahl K eine unabhängige Menge U gibt mit |U| ≥ K. Beim entsprechenden
Optimierungsproblem soll eine größte unabhängige Menge bestimmt werden.
(a) Zeigen Sie: C ist genau dann eine Knotenüberdeckung von G = (V, E), wenn U = V \C eine
unabhängige Menge ist. Zeigen Sie außerdem: C ist genau dann eine optimale Lösung für
VC, wenn U = V \C eine optimale Lösung für IS ist.
Hinweis: Dies sind die sehr einfachen Reduktionen, die man anwendet, wenn man IS auf VC
und umgekehrt für NP-Vollständigkeitsbeweise reduziert.
(b) Zeigen Sie, daß der nachfolgende Algorithmus G REEDY VC das Problem VC mit relativer
Güte 2 approximiert.
A LGORITHMUS G REEDY VC
/
C := 0;
while E 6= 0/ do
wähle eine Kante {u, v} aus G;
C := C ∪ {u, v};
lösche in G die Knoten u und v und die zu ihnen adjazenten Kanten
done;
gib C aus.
(c) Kann man mit der Reduktion aus (a) und dem Algorithmus aus (b) einen guten Approximationsalgorithmus für IS angeben? Welche Güte erreichen Sie?
Herunterladen