Theoretische Informatik III

Werbung
Fakultät für Informatik
Professur Theoretische Informatik
und Informationssicherheit
Sommersemester 2008
Prof. Dr. Hanno Lefmann
Theoretische Informatik III
1. Übung
Aufgabe 1 Wir betrachten die Online-Version des Problems MAXCUT. Eingabe
ist ein Graph G = (V, E), und wir suchen eine Partition der Knotenmenge V in
zwei Klassen, so dass die Anzahl der Kanten zwischen den beiden Klassen maximal
wird. Online bedeutet, dass einem Algorithmus nacheinander Knoten des Graphen
zusammen mit allen Kanten, die zwischen bereits betrachteten Knoten verlaufen,
präsentiert werden, und der Algorithmus muss für jeden Knoten sofort festlegen, in
welche Klasse der Partition er kommt.
Besitzt eine Lösung a geschnittene Kanten (d. h. Kanten zwischen den beiden Klassen) und die optimale Lösung b geschnittene Kanten, dann ist die Güte der Lösung
gleich b/a. Zeigen Sie für jedes ε > 0, dass kein online-Algorithmus garantieren kann,
immer eine Lösung mit Güte maximal 2 − ε zu finden.
Aufgabe 2 Beim Problem MINCUT suchen wir im Gegensatz zum Problem MAXCUT nach einer Partition der Knotenmenge in zwei Klassen, so dass möglichst wenig
Kanten zwischen den beiden Klassen verlaufen. Eine Idee zur Lösung des Problems
MAXCUT wäre die Folgende: Gegeben ein Graph G = (V, E), flippen“ wir alle
”
Kanten in E, d. h. wir konstruieren den Graphen G0 = (V, E 0 ), so dass eine Kante in
E 0 vorhanden ist genau dann wenn sie in E nicht vorhanden ist. Dann Lösen wir das
Problem MINCUT für G0 mit einem beliebigen Algorithmus und geben die Lösung
aus. Zeigen Sie, dass das Vorgehen nicht funktioniert, d. h. dass ein minimaler Cut
in G0 nicht unbedingt ein maximaler Cut in G ist.
Aufgabe 3 Ein Ganzzahliges Programm besitzt eine Menge {x1 , . . . , xn } von ganzzahligen Variablen. Dazu kommt eine lineare Zielfunktion f (x1 , . . . , xn ) = a1 x1 +
. . . + an xn mit rationalen Koeffizienten aj sowie eine Menge von m Ungleichungen
bi,1 x1 + . . . + bi,n xn ≥ ci , i = 1, . . . , m, wobei die Koeffizienten bi,j und ci rationale Zahlen sind. Gesucht ist eine (ganzzahlige) Belegung der Variablen, so dass alle
Ungleichungen erfüllt sind, und der Zielfunktionswert maximal ist.
Wir betrachten das Problem UNABHÄNGIGE MENGE: Gegeben ist ein Graph
G = (V, E), und gesucht ist eine möglichst große Menge I ⊆ V , so dass für keine
Kante aus E beide Endknoten innerhalb von I liegen.
1. Formulieren Sie das Problem UNABHÄNGIGE MENGE als Ganzzahliges Programm, d. h. beschreiben Sie, wie man für einen beliebigen gegebenen Graphen
G ein Ganzzahliges Programm P konstruieren kann, dessen optimaler (maximaler) Zielfunktionswert gleich der Größe der größten unabhängigen Menge in
G ist.
2. Verändern Sie Ihr Programm P aus der ersten Teilaufgabe so, dass die Variablen nicht nur ganzzahlige, sondern rationale Werte annehmen können (wir
relaxieren“ das Programm). Dadurch kann der maximale Zielfunktionswert
”
evtl. wachsen. Geben Sie Graphen an, für die die Differenz zwischen dem maximalen Zielfunktionswert von P und der Größe der größten unabhängigen
Menge in G möglichst groß ist.
Herunterladen