4. ¨Ubung - Institut für Theoretische Informatik

Werbung
Universität zu Lübeck
Institut für Theoretische Informatik
Dr. Andreas Jakoby
Dipl.-Inf. Christian Hundt
Wintersemester 2006/2007
Übungen Algorithmik
06. November 2006
4. Übung
Abgabe: Freitag, 10.11.2006, bis 15 Uhr im Büro 2018, Geb. 64.
1. Wir betrachten den aus der Vorlesung bekannten Algorithmus von Dijkstra für das
Single Source Shortest Path Problem.
Algorithmus Dijkstra()
Eingabe: Eine Kostenmatrix C, die leere Menge S sowie Felder D,W
Ergebnis: Lösung des SSSPP im Feld W
1: S := {1}
2: for v ∈ V \ S do
3:
D[v] := C[1, v];
4:
W [v] := 1;
5: end for
6: while S 6= V do
7:
modify(next-node())
8: end while
(a) Schätzen Sie die Laufzeit des Algorithmus möglichst genau ab.
(b) Können Sie die Laufzeit verbessern, indem Sie für die im Algorithmus verwendeten
Felder und Mengen (V , S, D, W ) spezielle Datenstrukturen verwenden? Diskutieren
Sie diese Fragestellungen ausführlich für Ihnen bekannte Datenstrukturen.
2. Sei G = (V, E) ein Graph. Wir unterscheiden bei Knotenfolgen v1 , v2 , ..., vk mit der
Eigenschaft, dass für alle 1 ≤ i < n das Paar (vi , vi+1 ) eine Kante in E ist, zwischen
Pfaden und Wegen. Während ein Pfad keinen Knoten zweimal enthält, d.h. für alle 1 ≤
i < j ≤ n gilt vi 6= vj , hat ein Weg diese Eigenschaft nicht zwingend. Der Algorithmus
von Dijkstra berechnet für alle 1 ≤ i ≤ |V | den kürzesten Pfad zwischen v1 und vi .
(a) Zeigen Sie anhand eines Beispiels, dass der Algorithmus von Dijkstra nicht korrekt
ist, wenn für die Kanten auch negative Kosten erlaubt sind.
(b) Unter welcher Bedingung ist der kürzeste Pfad zwischen zwei Knoten u, v ∈ V auch
der kürzeste Weg zwischen diesen Knoten?
(c) Geben Sie eine Beschreibung für einen Algorithmus an, der für gegebene Graphen
G = (V, E) mit Kosten w(e) ∈ Z, e ∈ E entscheidet, ob es einen Kreis in G gibt,
dessen Kosten negativ sind.
(d) Diskutieren Sie Möglichkeiten für einen Algorithmus, dessen Ergebnis für jedes
Knotenpaar u, v ∈ V den kürzeste Pfad von u nach v angibt.
Bitte wenden!
3. Bestimmen Sie für das folgende Netzwerk den optimalen Fluss.
12
Q
11
3
6
2
4
14
9
10
9
17
12
5
14
5
18
S
Herunterladen