KAPITEL 2 KÜRZESTE WEGE F. VALLENTIN, A. GUNDERT Da Ziel diee Kapiel i e kürzee Wege in einem gegebenen Nezwerk zu verehen und zu berechnen. Ein einführe Beipiel für ein Nezwerk zwichen den vier Säden Köln (K), Hamburg (HH), München (M) und Berlin (B) i der folge Graph: 387 HH 279 K B 578 596 M Die Zahlen an den Kanen geben Enfernungen zwichen den Säden an. Ein Ziel könne zum Beipiel ein, den kürzeen Weg von Köln nach Berlin zu finden, welcher in dieem Nezwerk auch leich ohne jede Mehodik zu erkennen i. In größeren Nezwerken ind kürzee Wege jedoch nich immer per Auge zu ehen. Daher lernen wir yemaiche Verfahren kennen, kürzee Wege zu berechnen. Dafür benöigen wir zunäch ewa Noaion. Noaion 1.1. Wir nennen 1. Nichnegaive Kanenlängen D = (V, A) einen gericheen Graph wobei V eine liche Menge von Knoen und A {(v, w) V V : v w} eine Menge gericheer Kanen i. Auf den Kanen definieren wir Kanenlängen durch eine Längenfunkion l : A Z + = {0, 1,...} P = (v 0, a 1, v 1, a 2, v 2,..., a m, v m ) heiß Kanenfolge, fall v 0,..., v m V, a 1,..., a m A und a i = (v i 1, v i ). Wir nennen v 0 Sarknoen und v m Endknoen. Die Länge von P definieren wir al l(p ) = l(a i ) Wenn {v 0,..., v m } = m + 1 (d.h. die Knoen ind alle paarweie verchieden), heiß P v 0 -v m -Weg oder kurz Weg. Dae: 5. Mai 2014. 1
2 F. Vallenin, A. Gunder Für Knoen, V i der Aband von zu definier al di(, ) := Für eine Knoenmenge U V eze min l(p ). P i --Weg δ + (U) := {(v, w) A : v U, w / U} al die Menge der Kanen, die U verlaen und δ (U) := {(v, w) A : v / U, w U} al die Menge der Kanen, die U bereen. Eine Kanenmenge A A heiß --Schni, fall für ein U V und U, / U. A = δ + (U) Beipiel 1.2. Wir beimmen in dem Graph a b alle --Schnie. Alle Teilmengen der Knoen, die enhalen, aber nich, ind U 1 = {}, U 2 = {, a}, U 3 = {, b}, U 4 = {, a, b}. Alle --Schnie haben die Form δ + (U i ) für i = 1,..., 4. Alo bekommen wir die vier --Schnie δ + (U 1 ) = {(, a), (, b)} δ + (U 2 ) = {(, b), (a, )} δ + (U 3 ) = {(, a), (b, )} δ + (U 4 ) = {(a, ), (b, )} Noch mal zur Verdeulichung: --Schnie ind Kanenmengen, die jedoch durch Knoenmengen beimm ind. Die Kanen in einem --Schni rennen eine Teilmenge der Knoen, die enhäl, vom Re der Knoen, welcher enhäl: Nach Enfernen der Kanen im Schni gib e keinen Weg mehr von nach. a a b b In dieem Beipiel haben wir die Kanen au δ + (U 1 ) (gerichel) enfern. In dem reulieren Graphen rech gib e keinen --Weg mehr.
Kürzee Wege 3 Saz 1.3. (min-max-charakeriierung kürzeer Wege, Robacker 1965) E ei D = (V, A) ein gericheer Graph, V zwei Knoen und l : A Z eine Längenfunkion. Dann gil: di(, ) = min l(p ) P i --Weg = max k, wobei k = Anzahl von --Schnien C 1,..., C k (mi Vielfachheien), o da für alle a A gil: {j = 1,..., k : a C j } l(a) Bemerkung 1.4. Die --Schnie geben ein Zerifika, da ein gegebener --Weg minimal i. In dem Beipiel 387 HH 279 K B 578 596 M i der kürzee K-B-Weg, weil e folge K-B-Schnie gib: + 387 mal 279 mal Bewei. (Saz 1.3) Fall e keinen --Weg gib, i die Auage rivial: Beide Seien ind gleich +. Im folgen exiiere ein --Weg: min max: Sei P = (v 0, a 1, v 1,..., a m, v m ) ein --Weg und eien C 1,..., C k - -Schnie mi oben genanner Eigenchaf. Dann gil: l(p ) = l(a i ) {j = 1,..., k : a i C j } min max: Definiere = k C j {a 1,..., a m } j=1 k 1 = k j=1 U i = {v V : di(, v) < i} für i = 1,..., di(, ) = min.
4 F. Vallenin, A. Gunder Definiere C i = δ + (U i ) = {(v, w) A : v U i, w / U i }. Die ind di(, ) viele --Schnie. E ei a = (u, v) A eine Kane. Dann gil: l(a) = di(, v) di(, u). Andererei enhalen nur die --Schnie C di(,u)+1,..., C di(,v) diee Kane a, wa di(, v) di(, u) viele ind. 2. Beliebige Kanenlängen Manchmal ind auch negaive Kanenlängen nüzlich. Zum Beipiel wenn man einen längen --Weg finden will (alo einen kürzeen negaiven Weg). Beipiel 2.1. Ruckackproblem Wir haben einen Ruckack mi 2, 5l Volumen und 5 nüzliche Gegenände. Gegenand i Volumen a i Nuzen c i 1 : Schlafack 1, 5l 4 2 : Tachenmeer 0, 5l 4 3 : Keke 1l 3 4 : Thermokanne 1, 5l 5 5 : Iomae 1l 4 Aufgabe: Finde eine Auwahl von 1,..., 5, o da die Gegenände in den Ruckack paen und ihr ummierer Nuzen maximal i. Formulierung al kürzee Wege Problem: Wir erellen einen Graphen D = (V, A) mi Kanenlängen wie folg: Knoen : (i, x) V i = 0, 1,..., 6, x = 0, 1 2, 1,..., 5 2 Kanen : - ((i 1, x), (i, x)) mi Länge 0 i = 1,..., 5 - ((i 1, x), (i, x + a i )) mi Länge c i i = 1,..., 5 - ((5, x), (6, 5 )) mi Länge 0 für alle x 2 Dann: Kürzee (0, 0)-(6, 5 2 )-Wege in D geben eine opimale Auwahl.
Kürzee Wege 5 Inpu : Gericheer Graph D = (V, A), n = V, V, l : A Z Oupu : Funkionen d 0,..., d n : V Z, g : V \{} V Seze d 0 () = 0, d 0 (v) = v V \{}. for k = 0 o n 1 do d k+1 (v) = d k (v) v V for (u, v) A do if d k+1 (v) > d k (u) + l(u, v) hen d k+1 (v) = d k (u) + l(u, v) g(v) = u if d n d n 1 hen Augabe: E gib einen Krei negaiver Länge, der von au erreichbar i. Algorihmu 1 : Bellman-Ford Algorihmu Saz 2.2. E gil d k (v) = min{l(p ) : P i -v-kanenfolge, die höchen k Kanen enhäl}. Bewei. (riviale) Indukion nach k. Mögliche Problem: gerichee Kreie negaiver Länge. Beipiel 2.3. In dem Graph +1 1 1 +1 1 exiier keine kürzee --Kanenfolge, weil der negaive Krei beliebig of durchlaufen werden kann. Definiion 2.4. Eine Kanenfolge P = (v 0, a 1, v 1,..., a m, v m ) heiß ( gericheer) Krei, fall v 0 = v m und {v 0,..., v m } = m. Saz 2.5. E ei D = (V, A) ein gericheer Graph mi Längenfunkion l : A Z. Alle gericheen Kreie in D haben nich-negaive Länge. Seien, durch (mindeen) eine Kanenfolge verbunden. Dann exiier eine kürzee --Kanenfolge, die ein Weg i. Bewei. Klar i, da ein kürzeer --Weg P exiier. Angenommen e gib eine --Kanenfolge Q (die kein Weg i) mi l(p ) > l(q). Wähle ein olche Q mi minimaler Anzahl von Kanen. Da Q kein Weg i, enhäl Q einen Krei C, der nach Vorauezung nich-negaive Länge ha, alo l(c) 0. Sei Q die Kanenfolge, die man au Q erhäl, indem man C löch. Dann i Q ebenfall eine --Kanenfolge mi l(q ) = l(q) l(c) l(q) < l(p ), aber mi weniger Kanen al Q. Widerpruch!
6 F. Vallenin, A. Gunder Zurück zu Bellman-Ford: Laufzei: proporional zu V A V 3 Fall D keine gericheen Kreie negaiver Länge enhäl, dann gil d n 1 (v) = di(, v) und v, g(v), g(g(v)),..., i die Umkehrung eine kürzeen -- Wege. Saz 2.6. d n = d n 1 alle von au erreichbaren Kreie haben nich-negaive Länge. Bewei. Aufgabe 3.1. 3. Geomeriche Modellierung, Poeniale Definiion 3.1. Eine Funkion p: V R heiß Poenial für D, l, fall a = (u, v) A : p(v) p(u) l(a) Saz 3.2. E exiier genau dann ein Poenial p: V R für D, l, wenn für alle gericheen Kreie C in D gil, da l(c) 0. Bewei. : Sei C = (v 0, a 1, v 1,..., a m, v m ) mi v 0 = v m ein Krei und ei p eine Poenialfunkion. Dann gil: l(c) = l(a i ) (p(v i ) p(v i 1 )) = 0 : Füge zu D = (V, A) einen neuen Knoen und neue Kanen (, ) für alle V hinzu, wobei l(, ) = 0 definier wird. Dann i p() = di(, ) eine Poenialfunkion. Denn Die gil, denn a = (u, v) A : p(v) p(u) = di(, v) di(, u) l(a) di(, u) di(, v) di(, u) + l(a). u v... i eine -v-kanenfolge der Länge di(, u) + l(a) und, weil alle gericheen Kreie nich-negaive Länge haben, gib e eine kürzee -v-kanenfolge, die ein Weg i, alo: di(, v) di(, u) + l(a). Saz 3.3. (geomeriche Modellierung kürzeer Wege mi linearen Ungleichungen) E ei D = (V, A) ein gericheer Graph, l : A Z eine Längenfunkion. Alle gericheen Kreie haben nich-negaive Länge. Seien, V und e gebe einen --Weg. Dann gil di(, ) = min l(p ) P i --W eg = max p() p() p: V R p(v) p(u) l(a) a = (u, v) A
Kürzee Wege 7 Beipiel 3.4. Wir wen den Saz auf den Graphen v 3 = 3 1 an. Man erhäl = v 1 1 v 2 di(v 1, v 3 ) = max p 3 p 1 p 1, p 2, p 3 R p 2 p 1 1 p 3 p 1 3 p 3 p 2 1 Dabei chreiben wir p = p 1 p 2 p 3 = max ( 1, 0, 1)p p R 3 ( 1, 1, 0)p 1 ( 1, 0, 1)p 3 (0, 1, 1)p 1 al Vekor a al Funkion, womi gemein i, da jedem Funkionwer p(v i ) genau ein Einrag p i zugeordne wird. Auf diee Schreibweie wird bei geomericher Modellierung von graphenheoreichen Problemen häufig zurückgegriffen. Bewei. (Saz 3.3) max min: Sei P = ( = v 0, a 1, v 1,..., a m, v m = ) eine --Kanenfolge und p: V R ein Poenial. Dann gil l(p ) = l(a i ) (p(v i ) p(v i 1 )) = p() p() max min: Seze p(v) = di(, v), fall eine -v-kanenfolge exiier und p(v) = 0 on. Analog wie im Bewei von Saz 3.2 überprüf man, da p ein Poenial i. Prof. Dr. F. Vallenin, Dr. A. Gunder, Mahemaiche Iniu, Univeriä zu Köln, Weyeral 86 90, 50931 Köln, Deuchland E-mail addre: frank.vallenin@uni-koeln.de, anna.gunder@uni-koeln.de