Effiziente Algorithmen 2, ¨Ubungsblatt 4

Werbung
TU Ilmenau, Fakultät IA
Institut TI, FG Komplexitätstheorie und Effiziente Algorithmen
Univ.-Prof. Dr. Martin Dietzfelbinger, Dipl.-Inf. Martin Aumüller
http://www.tu-ilmenau.de/iti/lehre/lehre-ws-20112012/ea-ii/
Effiziente Algorithmen 2, Übungsblatt 4
Themen für die vierte Übungsstunde am 01.12.2011 (17 Uhr, Sr Hu 129) bzw. 07.12.2011.
Abgabe von Lösungsvorschlägen (mit Übungsgruppe!) für die markierten Aufgaben (*) bis
zum 01.12.2011, 15 Uhr, per E-Mail an [email protected] oder in meinem Büro (Z 1057).
Aufgabe 1 (Knotenüberdeckung in bipartiten Graphen – nur Mittwochsgruppe)
Das Problem Vertex Cover besteht darin, in einem gegebenen Graphen G = (V, E) eine
möglichst kleine Knotenmenge V 0 so zu wählen, dass jede Kante inzident zu mindestens
einem Knoten aus V 0 ist. Ein solches V 0 heißt Knotenüberdeckung (engl. Vertex Cover“).
”
Es wird vermutet, dass dieses Problem für allgemeine Graphen sehr schwierig ist.
Sei G nun ein bipartiter Graph (U, W, E). Wir wollen zeigen, dass die Größe eines maximalen Matchings M 0 in G der Größe vc(G) einer minimalen Knotenüberdeckung entspricht.
(a) Zeigen Sie: Für ein beliebiges Matching M gilt: |M | ≤ vc(G).
(b) Zeigen Sie, wie man aus einem maximalen Matching M eine minimale Knotenüberdeckung konstruieren kann. Nutzen Sie dabei die Flussbetrachtungsweise des Matchingproblems im erweiterten Graphen Ĝ.
(c) Mit welcher Laufzeit kann man also eine minimale Knotenüberdeckung in einem
bipartiten Graphen bestimmen?
Hinweis: Für (b) kann man wie folgt vorgehen: Man betrachte das Restnetzwerk Ĝf
zu einem maximalen Fluss f . Sei Q = {v ∈ V | v von q aus in Ĝf erreichbar} und
S = V − Q. Zeigen Sie, dass C = (U ∩ S) ∪ (W ∩ Q) eine Knotenüberdeckung ist und
|C| ≤ w(f ) gilt.
Aufgabe 2 (Modelagentur)*
Die Ilmenauer Modelagentur Schönheiten Ilmenaus möchte feststellen, wie es seine 4
Models Anna, Bettina, Claudia und Daniela in der nächste Woche am gewinnbringendsten verbuchen kann. Dazu liegen für jedes Model Preisangebote der Modefirmen Esprit,
Fendi, Gucci und HIS vor. Die Einnahmen durch eine Buchung sind aus der folgenden
Tabelle zu entnehmen.
Anna
Bettina
Claudia
Daniela
Esprit
45
50
0
45
Fendi
0
55
60
0
Gucci
0
15
25
5
HIS
30
0
75
35
Jedes Model kann an genau eine Firma verbucht werden.
(a) Formulieren Sie das Problem als gewichtetes Matchingproblem in einem bipartiten
Graphen.
2
Effiziente Algorithmen 2, Übungsblatt 4
(b) Wenden Sie die ungarische Methode an, um eine optimale (d.h. gewinnbringendste)
Zuweisung von Models zu Modefirmen zu bestimmen. Wie lautet diese?
Aufgabe 3 (Ungarische Methode in O(n3 ) – wahrscheinlich nur Freitagsgruppe)
In der Vorlesung wurde die Ungarische Methode vorgestellt. Sie haben eine einfache
Laufzeitanalyse gesehen, mit der man ohne großen Aufwand eine Laufzeit von O(n4 )
erreichen kann. Wir wollen diese Laufzeit nun auf O(n3 ) senken. Bearbeiten Sie dafür
die folgenden Aufgaben:
(a) Gehen Sie davon aus, dass Sie die für die Labelanpassung nötige Zahl α (Zeile 22 in
Algorithmus 2.4.7) in jedem Schritt kennen. Beschreiben Sie nun eine Datenstruktur, mit der Sie einen matchingsvergrößerenden Weg (Zeile 5-30 im Algorithmus
2.4.7) in Zeit O(n2 ) bestimmen können.
(b) Geben Sie nun eine Datenstruktur an, mit der die Berechnung von α in Zeit O(n2 )
(pro Finden eines mvW) möglich ist.
Hinweis: Für die Berechnung von α benötigt man die minimalen Kantenwerte
zwischen Knoten aus S und Knoten aus W − T . Sei αw dieser minimale Wert für
w ∈ W . Führen Sie nun während der Berechnung eines mvW diesen Wert jeweils
mit, und aktualisieren Sie ihn geschickt, falls ein neuer Knoten zu S hinzugefügt
wird. Wie berechnen Sie aus den αw -Werten dann α? Wieso wird die Laufzeitbeschränkung eingehalten?
Aufgabe 4 (Stabile Paarungen)
Wir betrachten das Szenario der stabilen Paarungen aus Vorlesungskapitel 2.5. Lösen
Sie die folgenden Teilaufgaben:
(a) Geben Sie eine Beispielinstanz an, in der es mindestens zwei stabile Paarungen
gibt.
(b) Wir nennen einen Partner v einer Person u möglich, wenn eine stabile Paarung
existiert, in der u und v Partner sind. Sei worst(m) die Partnerin des Mannes
m, die er unter allen möglichen Partnerinnen am schlechtesten findet. Sei M 0 :=
{(m, worst(m)) | m ∈ V }. Zeigen Sie, dass der GS-Algorithmus aus der Vorlesung
stets M 0 liefert – Männer also benachteiligt.
(c) Auf einer Klassenfahrt müssen die Schüler auf Doppelzimmer aufgeteilt werden.
Dabei gibt es 2n Schüler, und jeder Schüler hat eine Rangliste unter den 2n − 1
restlichen Schülern. Der Stabilitätsbegriff ist wie in der Vorlesung definiert. Geben
Sie ein Beispiel an, in dem es keine stabile Paarung gibt.
Hinweis: Dies ist mit 4 Schülern möglich.
Herunterladen