5.¨Ubung zur Kombinatorischen Optimierung

Werbung
Prof. Dr. R. Schrader
D. Räbiger
WS 2004/2005
5. Übung zur Kombinatorischen Optimierung
Abgabe in der Übungsgruppe, Montag, 22. November
Aufgabe 1: Bellman/Ford mit Matrixmultiplikation
6 Punkte
Sei uk ∈ Rn+ ein Vektor, so daß uki die Distanz des Knotens i unter Verwendung eines Kürzesten
Weges mit maximal k Kanten ist. Wir indizieren den Startknoten mit 0, so daß anfangs u0 =
(0, ∞, . . . , ∞) ist. Außerdem speichern wir die Entfernungen c : E → R+ des gerichteten Graphen G = (V, E) in einer Adjazenzmatrix A mit

 c(i, j) falls (i, j) ∈ E
∞
falls (i, j) 6∈ E und i 6= j
Aij =

0
ansonsten
Wir definieren einen Operator ⊗ für zwei quadratische Matrizen wie folgt:
P = (pij ) = A ⊗ B
mit
pij = min{Aik + Bkj }
k
Der Algorithmus von Bellman/Ford läßt sich durch Matrixmultiplikation anhand der folgenden
Rekursion berechnen:
uk+1 = uk ⊗ A
(i) Wenden Sie das beschriebene Verfahren zur Berechnung aller kürzesten Wege von s = 0 auf
den folgenden Graphen an:
3
1
3
5
0
2
2
1
2
2
4
(ii) Welche Laufzeit hat das Verfahren?
(iii) Sei Ak die k–te Potenz von A bezüglich ⊗. Zeigen Sie: uk+1 = u0 ⊗ Ak
(iv) Geben Sie eine Variante des vorgestellen Verfahrens an, das mit O(log n) Matrixmultiplikationen auskommt.
Aufgabe 2: Seilschaften
3 Punkte
Betrachten Sie folgendes Seile–Modell zur Lösung des ungerichteten Kürzesten Wege Problems:
Für jede Kante benutzen wir ein Seil entsprechend der Länge der Kante. Wir verknüpfen zwei Seile
an den Enden, falls die betreffenden Kanten adjazent sind. (Wir sind sehr geschickt und benötigen
für das Knüpfen keinerlei Seillänge!) Dann fassen wir den Startknoten und Zielknoten mit jeweils
einer Hand und heben sie so weit hoch, bis alle Knoten in der Luft sind.
Zeigen Sie, daß dieses Vorgehen genau das Duale des Kürzeste Wege Problems löst und interpretieren Sie die einzelnen Komponenten des Modells sowie die Schritte dieses Algorithmus.
Aufgabe 3: Matroide
5 Punkte
(i) Für gegebene Elemente e1 , e2 ∈ E enthalte F die Teilmengen von E, die nicht e1 und e2
gleichzeitig enthalten. Ist (E, F ) ein Matroid?
(ii) Zwei Graphen G und H heißen isomorph, wenn es Bijektionen φV : V (G) → V (H) und
φE : E(G) → E(H) gibt, so daß φE ((v, w)) = (φV (v), φV (w)) für alle (v, w) ∈ E(G).
Geben Sie ein einfaches Beispiel an, um zu beweisen, daß zwei nichtisomorphe und ungerichtete Graphen durch das gleiche Matroid beschrieben werden können.
Herunterladen