aktuelle Version des Vorlesungsskripts - ZIB
aktuelle Version des Vorlesungsskripts - ZIB
aktuelle Version des Vorlesungsskripts - ZIB
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
5 Bäume und Wege<br />
4. DO u = 1 TO v − 1:<br />
Falls (u, v) ∈ A und DIST(u) + c((u, v)) < DIST(v),<br />
setze DIST(v) := DIST(u) + c((u, v)) und VOR(v) := u.<br />
END 4.<br />
END 3.<br />
5. Falls m ungerade: DO v = n − 1 TO 1 BY −1:<br />
6. DO u = n TO v + 1 BY −1:<br />
Falls (u, v) ∈ A und DIST(u) + c((u, v)) < DIST(v),<br />
setze DIST(v) := DIST(u) + c((u, v))<br />
und VOR(v) := u.<br />
END 6.<br />
END 5.<br />
END 2.<br />
Gehe zu 7.<br />
D’ESOPO-PAPE-VARIANTE<br />
2 ′ . Initialisiere eine Schlange Q und setze s in Q.<br />
3 ′ . Hole das erste Element aus der Schlange, sagen wir u.<br />
4 ′ . Für alle Bögen (u, v), die in u beginnen, führe aus:<br />
5 ′ . Falls DIST(u) + c((u, v)) < DIST(v)<br />
a) setze DIST(v) := DIST(u) + c((u, v)) und VOR(v) := u,<br />
b) Falls v noch nicht in Q war, setze v an das Ende von Q,<br />
c) Falls v schon in Q war, aber gegenwärtig nicht in Q ist, setze v an den Anfang<br />
von Q.<br />
END 4 ′ .<br />
6 ′ . Ist die Schlange nicht leer, gehe zu 3 ′ , andernfalls zu 7.<br />
7. Falls DIST(v) < +∞, so enthält DIST(v) die Länge eines kürzesten (s, v)-Weges,<br />
und aus VOR(v) kann wie üblich ein kürzester (s, v)-Weg rekonstruiert werden. Ist<br />
DIST(v) = +∞, so gibt es in D keinen (s, v)-Weg. △<br />
Es ist intuitiv einsichtig, dass das MOORE-BELLMAN-Verfahren ein korrektes Ergebnis<br />
liefert, falls keine negativen Kreise vorliegen. Ebenso leuchtet ein, dass die D’ESOPO-<br />
PAPE-Variante eine Spezialisierung dieses Verfahrens ist mit einer konkreten Angabe der<br />
Bearbeitungsreihenfolge. Wir wollen nun noch die Korrektheit der YEN-Variante vorführen.<br />
(5.23) Satz. Die YEN-Variante <strong>des</strong> MOORE-BELLMAN-Verfahrens arbeitet korrekt,<br />
falls D keinen negativen gerichteten Kreis enthält. △<br />
Beweis. Wir geben dem Vektor DIST eine Interpretation, aus der die Korrektheit einfach<br />
folgt. Wir haben in (5.22) angenommen, dass s = 1 gilt und die Knoten mit<br />
98