5. ¨Ubung - Institut für Theoretische Informatik

Werbung
Universität zu Lübeck
Institut für Theoretische Informatik
PD Dr. Andreas Jakoby
Dipl.-Inf. Michael Elberfeld
Wintersemester 2007/2008
Algorithmik
21.11.2007
5. Übung
Inhalt: Source Shortest Path Problem
Abgabe: Mittwoch, 28.11.2007, in der Vorlesung
1. (10 Punkte) 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) (4 Punkte) Schätzen Sie die Laufzeit des Algorithmus möglichst genau ab.
(b) (3 Punkte) 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 Fragestellung ausführlich für Ihnen bekannte Datenstrukturen.
(c) (3 Punkte) Diskutieren Sie Möglichkeiten für einen Algorithmus, der für jedes Knotenpaar u, v ∈ V den kürzeste Pfad von u nach v berechnet.
2. (10 Punkte) 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, hat
ein Weg diese Eigenschaft nicht zwingend. Der Algorithmus von Dijkstra berechnet für
jedes v ∈ V den kürzesten Pfad zwischen den Knoten 1 und v.
(a) (3 Punkte) Zeigen Sie anhand eines Beispiels, dass der Algorithmus von Dijkstra
nicht korrekt ist, wenn für die Kanten auch negative Kosten erlaubt sind.
(b) (4 Punkte) Unter welcher Bedingung ist der kürzeste Pfad zwischen zwei Knoten
u, v ∈ V auch der kürzeste Weg zwischen diesen Knoten? Begründen Sie Ihre Aussage.
(c) (3 Punkte) Geben Sie einen Algorithmus an, der für einen gegebenen Graphen
G = (V, E) mit Kosten w(e) ∈ Z, e ∈ E entscheidet, ob es einen Kreis in G gibt,
dessen Kosten negativ sind.
Herunterladen