Approximationsalgorithmen

Werbung
Fakultät für Informatik
Professur Theoretische Informatik
und Informationssicherheit
Wintersemester 2006/07
Prof. Dr. Hanno Lefmann
Approximationsalgorithmen
7. Übung
Aufgabe 1 Für einen Graphen G = (V, E) ist das Problem Independent Set,
eine möglichst große Teilmenge I ⊆ V der Knoten zu finden, in der keine Kanten
verlaufen, und das Problem Vertex Cover ist, eine möglichst kleine Teilmenge
C ⊆ V zu finden, so dass jede Kante aus E mindestens einen Endknoten in C hat.
1. Zeigen Sie: Aus einem maximalen Independent Set kann man effizient ein minimales Vertex Cover berechnen. Lässt sich also Independent Set in Polynomialzeit exakt lösen, dann kann man auch Vertex Cover in Polynomialzeit
exakt lösen.
2. Zeigen Sie: Ihre Konstruktion liefert keinen polynomiellen Algorithmus mit
Güte c für Vertex Cover, wenn man einen polynomiellen Algorithmus mit
Güte c für Independent Set hat.
Aufgabe 2 Wir betrachten noch mal das Vertex Cover Problem. Diesmal
schränken wir allerdings die Menge der zulässigen Eingaben ein. Untersuchen Sie,
ob das Problem dadurch einfacher wird als es im Allgemeinen ist (N P-hart).
1. Es sind nur Graphen zugelassen, die Vereinigung von Zusammenhangskomponenten der Größe jeweils höchstens log n sind.
2. Es sind nur Graphen zugelassen, in denen der Maximalgrad 2 beträgt.
Aufgabe 3 Wir betrachten eine randomisierte Version des Greedy-Algorithmus
vom letzten Übungsblatt für Independent Set. Der Algorithmus startet mit der
leeren Menge I = ∅. Dann wird immer uniform zufällig unter den noch im Graphen
befindlichen Knoten einer ausgewählt, zur Menge I hinzugefügt, und zusammen mit
seinen Nachbarn aus dem Graphen entfernt, bis der Graph leer ist. Dann wird I
ausgegeben.
1. Zeigen Sie per geeigneter Invariante, dass der Algorithmus in jedem Fall eine
unabhängige Menge berechnet.
2. Zeigen Sie, in Abhängigkeit der Größe k einer optimalen Lösung, eine untere Schranke für die Wahrscheinlichkeit, dass der Algorithmus das Optimum
findet.
3. Wie kann man durch mehrfaches Ausführen des Algorithmus die Erfolgswahrscheinlichkeit vergrößern? Wie viele Ausführungen sind nötig, um eine Erfolgswahrscheinlichkeit von 1/2 zu erreichen?
Herunterladen