• Keine Ergebnisse gefunden

Effiziente Algorithmen (WS2019/20) Kapitel 2 Weitere Flüsse Walter Unger

N/A
N/A
Protected

Academic year: 2022

Aktie "Effiziente Algorithmen (WS2019/20) Kapitel 2 Weitere Flüsse Walter Unger"

Copied!
141
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)Effiziente Algorithmen (WS2019/20) Kapitel 2 Weitere Flüsse. Walter Unger Lehrstuhl für Informatik 1. 11:05 Uhr, den 14. November 2019.

(2) Spezielle Flüsse (Mindestfluss). Spezielle Flüsse (Alternativen). 2:2. Flüsse mit Kostenfunktion Walter Unger 14.11.2019 11:05. Inhalt I. 1. Spezielle Flüsse (Mindestfluss) Mit Mindestfluss. 2. Spezielle Flüsse (Alternativen) Mit Alternativen. 3. Flüsse mit Kostenfunktion Einleitung Idee Algorithmus Verbesserung der Laufzeit. WS2019/20.

(3) Spezielle Flüsse (Mindestfluss) 2:1. Spezielle Flüsse (Alternativen). Mit Mindestfluss. Flüsse mit Kostenfunktion Walter Unger 14.11.2019 11:05. WS2019/20. Das Flussproblem mit Mindestfluss Definition (Flussproblem mit Mindestfluss) Eingabe: G = (V , E , s, t, c, c 0 ) mit: (V , E ) ist ein gerichteter Graph (n = |V |, m = |E |) s, t ∈ V mit s 6= t c : E 7→ N+ c 0 : E 7→ N+ Ausgabe: f : E → 7 R+ 0 mit: 0 6 c(e) ∀e : c (e) 6 f (e) P P ∀v ∈ V \ {s, t} : (a,v )∈E f ((a, v )) = (v ,a)∈E f ((v , a)) Ziel: Bestimme, P ob es so einen Fluss gibt. Falls ja, dann maximiere w (f ) = (s,v )∈E f ((s, v ))..

(4) Spezielle Flüsse (Mindestfluss) 2:2. Mit Mindestfluss. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion Walter Unger 14.11.2019 11:05. WS2019/20. Idee Die Motivation beim Mindestfluss ist, daß bei einem Kanalsystem immer ein Grundfluss vorhanden ist, um ein Versanden zu verhindern. Bemerkung, so ein Problem hat im Allgemeinen nicht immer eine Lösung. Algorithmisch ist das aber trotzdem kein Problem, da wir ein Flussproblem mit Mindestfluss auf das normale Flussproblem reduzieren können. [5..8] Dazu wird eine Kante, die einen Fluss zwiy x schen 5 und 8 haben soll, durch einen Pfad der d 0/ 55 Länge drei dargestellt. Die mittlere Kante des 0 0/ /0 5/ 0/8/0 0/3/0 0/8/0 8 3 0 8 y Pfades simuliert die Variablilität des Flusses. x a b 0/ 0/8/0 0/3/0 0/8/0 55 0 0 0/ /0 0 0 5/ In unserem Beispiel kann der Fluss zwichen 0 c 5 und 8 liegen, also um den Wert 3 variieren. 0 Daher erhällt die mittlere Kante eine Kapazität von 3. Die beiden andern Kanten (Endkanten des Pfades) erhalten als Kapazität 8. Damit die beiden Endkanten einen Fluss zwischen 5 und 8 bekommen, wird mit zwei Zusatzkanten zwischen vor und hinter der mittleren Kante ein Fluss von maximal 5 eingespeist (bzw. herausgenommen). Im Folgenden sehen wir, daß diese Modelierung korrekt ist..

(5) Spezielle Flüsse (Mindestfluss) 2:3. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. Mit Mindestfluss. Walter Unger 14.11.2019 11:05. Lösbarkeit Es muss nicht immer eine Lösung geben. Hier ein einfaches Beispiel: s. [2..3]. a. [4..6]. t. WS2019/20.

(6) Spezielle Flüsse (Mindestfluss) 2:4. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. Mit Mindestfluss. Walter Unger 14.11.2019 11:05. WS2019/20. Idee b. o. b. y. o−u x. o. s. a. t ∞. s. u. s0 ∞. [u..o]. t. a. u. t0.

(7) Spezielle Flüsse (Mindestfluss) 2:5. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. Mit Mindestfluss. Walter Unger 14.11.2019 11:05. WS2019/20. Verfahren Erzeuge aus G = (V , E , s, t, c, c 0 ) einen neuen Graphen G 0 = (V 0 , E 0 , s 0 , t 0 , c 00 ).. 00. 0. Setze c (t, t ) = c (s , s) =. P. e∈E. c(e).. [u..o] o y. t ∞. 0. u. s0 ∞. 00. a b. o−u. für jede Kante (v , w ) erzeuge zwei neue Knoten x, y und setze: c 00 (v , x) = c(v , w ) und c 00 (y , w ) = c(v , w ). c 00 (x, y ) = c(v , w ) − c 0 (v , w ). c 00 (s 0 , y ) = c 0 (v , w ) und c 00 (x, t 0 ) = c 0 (v , w ).. t s. s. x. o. Füge neue Quelle s 0 und neue Senke t 0 hinzu. Ersetze jede Kante (v , w ) durch einen Weg der Länge 3:. b. a. u. t0.

(8) Spezielle Flüsse (Mindestfluss) 2:6. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. Mit Mindestfluss. Walter Unger 14.11.2019 11:05. WS2019/20. Aussage Lemma. t [u..o]. Es gibt in G einen korrekten Fluss, der die Mindestflussbedingung erfüllt genau dann, wenn es in G 0 einen maximalen Fluss gibt, der alle Kanten der Form (s 0 , y ) und (x, t 0 ) saturiert.. b. s. a. y. t. o−u. ∞. ∞. Zeige: =⇒. u. s0. Zeige: ⇐= s. x. o. Beachte: x und y sind neu eingefügte Knoten, also nicht s oder t. Beweis:. o. b. a. u. t0.

(9) Spezielle Flüsse (Mindestfluss) 2:7. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. Mit Mindestfluss. Walter Unger 14.11.2019 11:05. Beispiel (warum (s 0 , y ) und (x, t 0 )) [2..3]. a. [4..6]. b. c. s0 0. 2/ 2/ 2/20 2/ 0. 4/ 4/ 4/ 4/ 0 0. 3/3/0 3/3 3/3/0. x 0. 1/1/0 1/1 1/1/0. y 0. 3/3/0 3/3 3/3/0. b 0. 2/ 2/ 2/ 2/ 0 0. 3/6/0 3/6 3/6/0. 3/ 3/ 34/40 4/ 0. a 0. t0 0. x0 0. 0/2/0 2 0/2/0. y0 0. 4/6/0 4/6 4/6/0. c 0. WS2019/20.

(10) Spezielle Flüsse (Mindestfluss) 2:8. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. Mit Mindestfluss. Walter Unger 14.11.2019 11:05. Zeige: =⇒ b. o. b. u. s0. t. o−u. [u..o]. s. x. u. t0. o. s. y. ∞. ∞. t. a. 0. a. u 6 f (a, b) 6 o. f (s , y ) = f (x, t 0 ) = u f (a, x) = f (y , b) = f (a, b) f (x, y ) = f (a, b) − u. WS2019/20.

(11) Spezielle Flüsse (Mindestfluss) 2:9. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. Mit Mindestfluss. Walter Unger 14.11.2019 11:05. WS2019/20. Zeige: ⇐=. o y. t. o−u s. x. o. Dann definiert f (a, b) = f (a, x) einen korrekten Fluss auf G .. u. s0. ∞. Dann gilt: f (a, x) = f (y , b) für jede ursprüngliche Kante (a, b).. b. ∞. Zeige: Wenn es in G 0 einen maximalen Fluss gibt, der alle Kanten der Form (s 0 , y ) und (x, t 0 ) saturiert, dann gibt es in G einen korrekten Fluss, der die Mindestflussbedingung erfüllt.. a. u. t0.

(12) Spezielle Flüsse (Mindestfluss) 2:10. Spezielle Flüsse (Alternativen). Mit Mindestfluss. Flüsse mit Kostenfunktion Walter Unger 14.11.2019 11:05. Algorithmus Sei f (resp. f 0 ) der Fluss auf G (resp. G 0 ). Sei weiter f 00 der Fluss auf G ohne die untere Schranke c 0 . Dann gilt, wenn es eine Lösung für G 0 gibt: f = f 00 , denn P untere Schranken verringern den Fluss auf G nicht mehr. f 0 = f + e∈E (G ) c 0 (e). Damit haben wir folgendes Verfahren: 1 2 3 4. Bestimme aus G : G 0 , G 00 , f , f 0 , f 00 . Bevorzuge auf P G 0 die Kanten der Form (s 0 , y ) und (x, t 0 ). Falls f 0 < f + e∈E (G ) c 0 (e) gilt, so gibt es keine Lösung. Ansonsten bestimme f aus f 0 , d.h. f (a, b) = f (a, x).. WS2019/20.

(13) Spezielle Flüsse (Mindestfluss) 2:11. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. Mit Alternativen. Walter Unger 14.11.2019 11:05. WS2019/20. Beschreibung der Situation Wenn man das obrige Flussmodell erweitert und erlaubt, daß eine Kante auch gar keinen Fluss haben kann, dann ändert sich die Komplexität gravierend. Denn nun werden die folgenden Situationen möglich. Ein Fluss auf einer Kante kann nur auf einer von zwei ausgehenden Kanten weiterfließen. Ein Fluss auf einer Kante muss sich genau auf zwei ausgehende Kanten verteilen.. a. b. 2] [2.. [2..2]. c. d. a. [2..2]. b. 1] [1.. [1..1]. c. d. c. Eine Kante kann nur dann einen Fluss haben, wenn zwei eingehende Kanten auch ein Fluss ist.. [2..2]. [1.. 1]. [1..1]. a. [2..2]. b. d. Damit erscheint aber eine Reduktion auf ein NP-hartes Problem möglich. Denn die oben genannten Situationen sehen aus wie: Auswahl, verteilen von Information, kombinieren von Information..

(14) Spezielle Flüsse (Mindestfluss) 2:12. Spezielle Flüsse (Alternativen). Mit Alternativen. Flüsse mit Kostenfunktion Walter Unger 14.11.2019 11:05. WS2019/20. Das Flussproblem mit Alternativen Definition (Flussproblem mit Alternativen) Eingabe: G = (V , E , s, t, c, c 0 ) mit: (V , E ) ist ein gerichteter Graph (n = |V |, m = |E |) s, t ∈ V mit s 6= t c : E 7→ N+ c 0 : E 7→ N+ Ausgabe: f : E → 7 R+ 0 mit: 0 6 c(e) oder f (e) = 0. ∀e : c (e) 6 f (e) P P ∀v ∈ V \ {s, t} : (a,v )∈E f ((a, v )) = (v ,a)∈E f ((v , a)) Ziel: Bestimme, ob es so einenPnicht trivialen Fluss gibt. Falls ja, dann maximiere w (f ) = (s,v )∈E f ((s, v ))..

(15) Spezielle Flüsse (Mindestfluss) 2:13. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. Mit Alternativen. Walter Unger 14.11.2019 11:05. WS2019/20. Reduktion Theorem Zu einem gegeben Flussproblem G = (V , E , s, t, c, c 0 ) ist es NP-vollständig zu bestimmen, ob es so einen nicht trivialen Fluss gibt. Beweis: Übung, b.z.w. Reduktion auf Exact-3-SAT..

(16) Spezielle Flüsse (Mindestfluss) 2:14. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. Mit Alternativen. Walter Unger 14.11.2019 11:05. WS2019/20. Exact-3-SAT Definition Eine Boolesche Formel F ist in Exact-3-KNF: Vk F(x1 , x2 , ..., xr ) = i=1 ci (Klauseln). ci. =. (Literale). lij. =. (li1 ∨ li2 ∨ li3 ) . ¬xl xl. oder für ein l : 1 6 l 6 r. ∀16i 6k . ∀ 1 6 i 6 k und ∀16j 63. Eine Belegung ist eine Funktion W : {x1 , x2 , ..., xr } 7→ {0, 1}. Theorem (Exakt-3-SAT) Es ist NP-vollständig, festzustellen, ob es für F aus Exact-3-KNF eine erfüllende Belegung gibt, bei der in jeder Klausel genau ein Literal “true” ist..

(17) Spezielle Flüsse (Mindestfluss) 2:15. Mit Alternativen. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 1/3. Walter Unger 14.11.2019 11:05. Erste Variable x0 [2..2]. a1. [2..2]. a2. a3 al. b2. b3 bl. [2. .. 2. ]. a0. s. [2..2]. x0 [2 .. 2 ]. b0. [2..2]. b1. [2..2]. WS2019/20.

(18) Spezielle Flüsse (Mindestfluss) 2:15. Mit Alternativen. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 2/3. Walter Unger 14.11.2019 11:05. Erste Variable x0 [2..2]. a1. [2..2]. a2. a3 al. b2. b3 bl. [2. .. 2. ]. a0. s. [2..2]. x0 [2 .. 2 ]. b0. [2..2]. b1. [2..2]. WS2019/20.

(19) Spezielle Flüsse (Mindestfluss) 2:15. Mit Alternativen. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 3/3. Walter Unger 14.11.2019 11:05. Erste Variable x0 [2..2]. a1. [2..2]. a2. a3 al. b2. b3 bl. [2. .. 2. ]. a0. s. [2..2]. x0 [2 .. 2 ]. b0. [2..2]. b1. [2..2]. WS2019/20.

(20) Spezielle Flüsse (Mindestfluss) 2:16. Mit Alternativen. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 1/4. Walter Unger 14.11.2019 11:05. WS2019/20. Zweite Variable x1 [2..2]. a1. [2..2]. a2. al. [2 ... [2 ... 2]. a0. s. [2..2]. c0 2]. x0. . [2. x1 ] .2. . [2 . [2. b0. [2..2]. b1. [2..2]. b2. bl. ] .2. [2..2]. c1. ] .2. [2 ... 2]. d0. [2..2]. d1.

(21) Spezielle Flüsse (Mindestfluss) 2:16. Mit Alternativen. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 2/4. Walter Unger 14.11.2019 11:05. WS2019/20. Zweite Variable x1 [2..2]. a1. [2..2]. a2. al. [2 ... [2 ... 2]. a0. s. [2..2]. c0 2]. x0. . [2. x1 ] .2. . [2 . [2. b0. [2..2]. b1. [2..2]. b2. bl. ] .2. [2..2]. c1. ] .2. [2 ... 2]. d0. [2..2]. d1.

(22) Spezielle Flüsse (Mindestfluss) 2:16. Mit Alternativen. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 3/4. Walter Unger 14.11.2019 11:05. WS2019/20. Zweite Variable x1 [2..2]. a1. [2..2]. a2. al. [2 ... [2 ... 2]. a0. s. [2..2]. c0 2]. x0. . [2. x1 ] .2. . [2 . [2. b0. [2..2]. b1. [2..2]. b2. bl. ] .2. [2..2]. c1. ] .2. [2 ... 2]. d0. [2..2]. d1.

(23) Spezielle Flüsse (Mindestfluss) 2:16. Mit Alternativen. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 4/4. Walter Unger 14.11.2019 11:05. WS2019/20. Zweite Variable x1 [2..2]. a1. [2..2]. a2. al. [2 ... [2 ... 2]. a0. s. [2..2]. c0 2]. x0. . [2. x1 ] .2. . [2 . [2. b0. [2..2]. b1. [2..2]. b2. bl. ] .2. [2..2]. c1. ] .2. [2 ... 2]. d0. [2..2]. d1.

(24) Spezielle Flüsse (Mindestfluss) 2:17. Mit Alternativen. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 1/5. Walter Unger 14.11.2019 11:05. Erste zwei Klauseln k0 und k1. 2]. [2..2]. b1. [2 ... [2..2]. c1. [2 ... [2..2]. b2. [2..2]. b3. 2]. 2]. c0. k1. .. [2. .. [2. 2]. [2..2]. [2..2]. 2]. .2 ] [2 .. b0. a3. 2]. [2..2]. [2..2]. .. [2. k0. yl. a2. ] .2. [2. .2] .2] [2.. a1 . [2. xl. [2..2]. [2 ... a0. c2. [2..2]. c3. k2. WS2019/20.

(25) Spezielle Flüsse (Mindestfluss) 2:17. Mit Alternativen. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 2/5. Walter Unger 14.11.2019 11:05. Erste zwei Klauseln k0 und k1. 2]. [2..2]. b1. [2 ... [2..2]. c1. [2 ... [2..2]. b2. [2..2]. b3. 2]. 2]. c0. k1. .. [2. .. [2. 2]. [2..2]. [2..2]. 2]. .2 ] [2 .. b0. a3. 2]. [2..2]. [2..2]. .. [2. k0. yl. a2. ] .2. [2. .2] .2] [2.. a1 . [2. xl. [2..2]. [2 ... a0. c2. [2..2]. c3. k2. WS2019/20.

(26) Spezielle Flüsse (Mindestfluss) 2:17. Mit Alternativen. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 3/5. Walter Unger 14.11.2019 11:05. Erste zwei Klauseln k0 und k1. 2]. [2..2]. b1. [2 ... [2..2]. c1. [2 ... [2..2]. b2. [2..2]. b3. 2]. 2]. c0. k1. .. [2. .. [2. 2]. [2..2]. [2..2]. 2]. .2 ] [2 .. b0. a3. 2]. [2..2]. [2..2]. .. [2. k0. yl. a2. ] .2. [2. .2] .2] [2.. a1 . [2. xl. [2..2]. [2 ... a0. c2. [2..2]. c3. k2. WS2019/20.

(27) Spezielle Flüsse (Mindestfluss) 2:17. Mit Alternativen. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 4/5. Walter Unger 14.11.2019 11:05. Erste zwei Klauseln k0 und k1. 2]. [2..2]. b1. [2 ... [2..2]. c1. [2 ... [2..2]. b2. [2..2]. b3. 2]. 2]. c0. k1. .. [2. .. [2. 2]. [2..2]. [2..2]. 2]. .2 ] [2 .. b0. a3. 2]. [2..2]. [2..2]. .. [2. k0. yl. a2. ] .2. [2. .2] .2] [2.. a1 . [2. xl. [2..2]. [2 ... a0. c2. [2..2]. c3. k2. WS2019/20.

(28) Spezielle Flüsse (Mindestfluss) 2:17. Mit Alternativen. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 5/5. Walter Unger 14.11.2019 11:05. Erste zwei Klauseln k0 und k1. 2]. [2..2]. b1. [2 ... [2..2]. c1. [2 ... [2..2]. b2. [2..2]. b3. 2]. 2]. c0. k1. .. [2. .. [2. 2]. [2..2]. [2..2]. 2]. .2 ] [2 .. b0. a3. 2]. [2..2]. [2..2]. .. [2. k0. yl. a2. ] .2. [2. .2] .2] [2.. a1 . [2. xl. [2..2]. [2 ... a0. c2. [2..2]. c3. k2. WS2019/20.

(29) Spezielle Flüsse (Mindestfluss) 2:18. Mit Alternativen. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 1/2. Walter Unger 14.11.2019 11:05. WS2019/20. Anpassung: Variable xl in Klausel ki ] [2..2. s. xl. a0. [2..2]. a1. [1..1]. al. [2..2]. [1..1] [2 ... [1..1]. [2..2]. d1. 2]. [2..2]. ] .2. 2]. . [2. e0. bl. c1 [2 ... d0. b2. xt. y. 2] .. [2. [2..2]. ] [2..2. [1..1]. c0. b1. [2..2]. [2..2 ]. [1..1]. [1..1] x. ki. a2. [2..2 ]. b0. xn. [2..2]. [2..2]. e1. kj. t.

(30) Spezielle Flüsse (Mindestfluss) 2:18. Mit Alternativen. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 2/2. Walter Unger 14.11.2019 11:05. WS2019/20. Anpassung: Variable xl in Klausel ki ] [2..2. s. xl. a0. [2..2]. a1. [1..1]. al. [2..2]. [1..1] [2 ... [1..1]. [2..2]. d1. 2]. [2..2]. ] .2. 2]. . [2. e0. bl. c1 [2 ... d0. b2. xt. y. 2] .. [2. [2..2]. ] [2..2. [1..1]. c0. b1. [2..2]. [2..2 ]. [1..1]. [1..1] x. ki. a2. [2..2 ]. b0. xn. [2..2]. [2..2]. e1. kj. t.

(31) Spezielle Flüsse (Mindestfluss) 2:19. Mit Alternativen. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 1/2. Walter Unger 14.11.2019 11:05. WS2019/20. Alternative Anpassung: Variable xl in Klausel ki ] [2..2. s. xl. a0. [2..2]. a1. [2..2]. a2. al. [2..2 ]. b0. [1..1]. b1. [2..2]. [2..2 ] ] [2..2. b2. xt. bl. [1 ... 1]. 1]. .. [1. c0. [1..1]. c1 [2 ... 2] .. [2. xn. ki. [2..2] [2 ... d0. [2..2]. d1. 2]. [2..2]. ] .2. 2]. . [2. e0. [2..2]. e1. kj. t.

(32) Spezielle Flüsse (Mindestfluss) 2:19. Mit Alternativen. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 2/2. Walter Unger 14.11.2019 11:05. WS2019/20. Alternative Anpassung: Variable xl in Klausel ki ] [2..2. s. xl. a0. [2..2]. a1. [2..2]. a2. al. [2..2 ]. b0. [1..1]. b1. [2..2]. [2..2 ] ] [2..2. b2. xt. bl. [1 ... 1]. 1]. .. [1. c0. [1..1]. c1 [2 ... 2] .. [2. xn. ki. [2..2] [2 ... d0. [2..2]. d1. 2]. [2..2]. ] .2. 2]. . [2. e0. [2..2]. e1. kj. t.

(33) Spezielle Flüsse (Mindestfluss) 2:20. Mit Alternativen. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion Walter Unger 14.11.2019 11:05. Konstruktion 1. Für jede Variable konstruiere einen Baustein, wie oben. Der obere Zweig entspricht der Variablen selber. Der untere Zweig entspricht der negierten Variablen.. 2. Für jede Klausel konstruiere einen Baustein, wie oben. Der erste Zweig entspricht dem ersten Literal in der Klausel. Die weiteren Zweige dem zweiten und dem dritten Literal in der Klausel.. 3. Hänge alle Bausteine für die Variablen und Klauseln hintereinander.. 4. Für jedes Auftreten eines Literals in einer Klausel mache die obige Anpassung. Falls es eine Belegung der Variablen gibt, die die Formel erfüllt, dann:. 5. geht ein Fluss von 2 durch jeweils den Zweig, der der Belegung der Variablen entspricht.. WS2019/20.

(34) Spezielle Flüsse (Mindestfluss) 2:21. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. Einleitung. Walter Unger 14.11.2019 11:05. Motivation Benutzung der Kanten (Transportwege) im allgemeinen nicht umsonst. Daher sollten wir die Kosten minimieren. Kosten sind minimal, wenn der Fluss Null ist. Daher suchen wir:. Kostenminimalen Fluss mit Wert W . Wichtig: G sollte keine Kreise mit negativen Kosten (Gewichtssumme) enthalten.. WS2019/20.

(35) Spezielle Flüsse (Mindestfluss) 2:22. Spezielle Flüsse (Alternativen). Einleitung. Flüsse mit Kostenfunktion Walter Unger 14.11.2019 11:05. WS2019/20. Das Flussproblem mit Kosten Definition (Min-Cost-Flow-Problem) Eingabe: G = (V , E , s, t, c, l), W mit: (V , E ) ist ein gerichteter Graph (n = |V |, m = |E |) s, t ∈ V mit s 6= t c : E 7→ N+ l : E 7→ Z und W ∈ N Ausgabe: f : E → 7 R+ 0 mit: ∀e : f (e) 6 c(e). P P ∀v ∈ V \ {s, t} : (a,v )∈E f ((a, v )) = (v ,a)∈E f ((v , a)) Ziel: Bestimme Fluss f P w (f ) = W und minimalen l(f ) = e∈E f (e) · l(e). D.h. l(f ) = min{l(g ) | g ist Fluss mit w (g ) = W }..

(36) Spezielle Flüsse (Mindestfluss) 2:23. Einleitung. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion Walter Unger 14.11.2019 11:05. WS2019/20. Erste Ideen Man könnte versuchen direkt, einen solchen kostenminimalen Fluss zu bestimmen. Aber es erscheint einfacher, zuerst einen Fluss mit korrektem Flusswert zu bestimmen und dann von diesem ausgehend den kostenminimalen Fluss. Das wird im O-Kalkül wohl zu keinem Verlust führen. Daher wird im Folgenden zuerst gezeigt, wie man einen Fluss mit gegebenen Wert bestimmt, um diesen dann zu verbessern. Im zweiten Schritt werden dann Verbesserungen betrachtet. Man könnte – das ist der erste Versuch – zwei Wege zwischen Quelle und Senke betrachten. Wenn es diese gibt, so können wir die Kosten verbessern, falls wir auf dem teueren Weg Fluss entfernen und dafür auf den billigeren Weg diesen Fluss neu legen. Damit sieht man: Es können einfach Kreise gesucht werden, die die Kosten verbessern. Man sieht aber auch im Folgenden, daß bei einer Suche nach beliebigen Kreisen eine pseudopolynomielle Laufzeit erhalten..

(37) Spezielle Flüsse (Mindestfluss) 2:24. Einleitung. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion Walter Unger 14.11.2019 11:05. WS2019/20. Beobachtungen Falls W = 1, so entspricht das dem kürzesten Wege Problem. Falls l(e) = 0 für alle e ∈ E , dann können die obigen Algorithmen leicht zur Lösung des Problems adaptiert werden: 1 2 3. Falls erstmalig w (f ) > W gilt, dann breche ab. Sei p der Wert der letzten Erweiterung. Ersetze den letzten Fluss durch eine Fluss mit dem Wert p − (w (f ) − W ).. Alternativ kann auch wie folgt vorgegangen werden: 1 2 3. Erzeuge neue Quelle s 0 . Füge Kante e 0 = (s 0 , s) mit c(e 0 ) = W hinzu. Damit wird der maximale Fluss durche W begrenzt..

(38) Spezielle Flüsse (Mindestfluss) 2:25. Einleitung. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 1/10. Walter Unger 14.11.2019 11:05. Idee (am Beispiel) Kantenbeschriftung: oben: Fluss/MaxFluss und darunter Kosten:Aktuelle Kosten. Bestimme erst einen Fluss (mit Wert W = 6).. c 5 2. 6 3. s. Σ=0. 6 1. a. t 5 9. 6 2. b. WS2019/20.

(39) Spezielle Flüsse (Mindestfluss) 2:25. Einleitung. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 2/10. Walter Unger 14.11.2019 11:05. Idee (am Beispiel) Kantenbeschriftung: oben: Fluss/MaxFluss und darunter Kosten:Aktuelle Kosten. Bestimme erst einen Fluss (mit Wert W = 6).. c 5 2. s. 5 Σ=0. 6 3. 6 1. a. t 5 9. 5 6 2. b. 5. WS2019/20.

(40) Spezielle Flüsse (Mindestfluss) 2:25. Einleitung. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 3/10. Walter Unger 14.11.2019 11:05. Idee (am Beispiel) Kantenbeschriftung: oben: Fluss/MaxFluss und darunter Kosten:Aktuelle Kosten. Bestimme erst einen Fluss (mit Wert W = 6).. c 5 2. s. 5 Σ = 70. 5/ 6 3:15. 6 1. a 5. 5/ 2:1 6 0. 5/ 5 5 9:4. b. 5. t. WS2019/20.

(41) Spezielle Flüsse (Mindestfluss) 2:25. Einleitung. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 4/10. Walter Unger 14.11.2019 11:05. Idee (am Beispiel) Kantenbeschriftung: oben: Fluss/MaxFluss und darunter Kosten:Aktuelle Kosten. Bestimme erst einen Fluss (mit Wert W = 6).. c 5 2. 5/ 6 3:15. s. Σ = 70. 6 1. a 5/ 2:1 6 0. 5/ 5 5 9:4. b. t. WS2019/20.

(42) Spezielle Flüsse (Mindestfluss) 2:25. Einleitung. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 5/10. Walter Unger 14.11.2019 11:05. Idee (am Beispiel) Kantenbeschriftung: oben: Fluss/MaxFluss und darunter Kosten:Aktuelle Kosten. Bestimme erst einen Fluss (mit Wert W = 6).. c 5 2. s. 1 Σ = 70. 5/ 6 3:15. a. 1 6 1. 1 5/ 2:1 6 0. 5/ 5 5 9:4. b. t. WS2019/20.

(43) Spezielle Flüsse (Mindestfluss) 2:25. Einleitung. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 6/10. Walter Unger 14.11.2019 11:05. Idee (am Beispiel) Kantenbeschriftung: oben: Fluss/MaxFluss und darunter Kosten:Aktuelle Kosten. Bestimme erst einen Fluss (mit Wert W = 6).. 1/5 2:2. s. 1 Σ = 76. 6/ 6 3:18. a. c 1. 1 5/ 2:1 6 0. 1/ 6 1:1 5/ 5 5 9:4. b. t. WS2019/20.

(44) Spezielle Flüsse (Mindestfluss) 2:25. Einleitung. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 7/10. Walter Unger 14.11.2019 11:05. Idee (am Beispiel) Kantenbeschriftung: oben: Fluss/MaxFluss und darunter Kosten:Aktuelle Kosten. Bestimme erst einen Fluss (mit Wert W = 6). Der Fluss muss nicht kostenoptimal sein.. 1/5 2:2. 6/ 6 3:18. s. Σ = 76. c 1/ 6 1:1. a 5/ 2:1 6 0. 5/ 5 5 9:4. b. t. WS2019/20.

(45) Spezielle Flüsse (Mindestfluss) 2:25. Einleitung. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 8/10. Walter Unger 14.11.2019 11:05. Idee (am Beispiel) Kantenbeschriftung: oben: Fluss/MaxFluss und darunter Kosten:Aktuelle Kosten. Bestimme erst einen Fluss (mit Wert W = 6). Der Fluss muss nicht kostenoptimal sein. Verbessere die Kosten. 1/5 2:2. 6/ 6 3:18. s. Σ = 76. a. c 4. 1/ 6 1:1. 4 4 5/ 2:1 6 0. 4. b. 5/ 5 5 9:4. t. WS2019/20.

(46) Spezielle Flüsse (Mindestfluss) 2:25. Einleitung. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 9/10. Walter Unger 14.11.2019 11:05. Idee (am Beispiel) Kantenbeschriftung: oben: Fluss/MaxFluss und darunter Kosten:Aktuelle Kosten. Bestimme erst einen Fluss (mit Wert W = 6). Der Fluss muss nicht kostenoptimal sein. Verbessere die Kosten. 5/5 0 2:1. 6/ 6 3:18. s. Σ = 44. a. c 4. 5/ 6 1:5. 4 4 1/ 6 2:2. 4. b. 1/ 5 9:9. t. WS2019/20.

(47) Spezielle Flüsse (Mindestfluss) 2:25. Einleitung. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 10/10. Walter Unger 14.11.2019 11:05. Idee (am Beispiel) Kantenbeschriftung: oben: Fluss/MaxFluss und darunter Kosten:Aktuelle Kosten. Bestimme erst einen Fluss (mit Wert W = 6). Der Fluss muss nicht kostenoptimal sein. Verbessere die Kosten. 5/5 0 2:1. 6/ 6 3:18. s. Σ = 44. c 5/ 6 1:5. a. 1/ 5 9:9. 1/ 6 2:2. b. t. WS2019/20.

(48) Spezielle Flüsse (Mindestfluss) 2:26. Einleitung. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 1/25. Walter Unger 14.11.2019 11:05. Beispiel (W = 5) 5 3. 5 4. a. b. 1. 2. s. 5 4. 5 9. c. 1. 5 4. 3 8. Σ=0. 1. d. 5 3. t. WS2019/20.

(49) Spezielle Flüsse (Mindestfluss) 2:26. Einleitung. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 2/25. Walter Unger 14.11.2019 11:05. Beispiel (W = 5) 5 3. s. 5 4. a. b. 1. 2. 3. 3. 5 4. 5 9. c. 1. 5 4. 3 8. Σ=0. 1. d. 3. 5 3. t. WS2019/20.

(50) Spezielle Flüsse (Mindestfluss) 2:26. Einleitung. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 3/25. Walter Unger 14.11.2019 11:05. Beispiel (W = 5) 5 3. s. 5 4. a. b. 1. 2. 3. 3. 3/ 5 4:12. 5 9. c. 1. 5 4. 3/ 3 8:24. Σ = 45. 1. d. 3. 3/ 5 3:9. t. WS2019/20.

(51) Spezielle Flüsse (Mindestfluss) 2:26. Einleitung. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 4/25. Walter Unger 14.11.2019 11:05. Beispiel (W = 5) 5 3. 5 4. a. b. 1. 2. s. 3/ 5 4:12. 5 9. c. 1. 5 4. 3/ 3 8:24. Σ = 45. 1. d. 3/ 5 3:9. t. WS2019/20.

(52) Spezielle Flüsse (Mindestfluss) 2:26. Einleitung. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 5/25. Walter Unger 14.11.2019 11:05. Beispiel (W = 5) s. 5 3. 2. a. 5 4. 2. b. 1. 2. 2. 3/ 5 4:12. 5 9. c. 1. 5 4. 3/ 3 8:24. Σ = 45. 1. d. 3/ 5 3:9. t. WS2019/20.

(53) Spezielle Flüsse (Mindestfluss) 2:26. Einleitung. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 6/25. Walter Unger 14.11.2019 11:05. Beispiel (W = 5) s. 2/ 5 3:6. 2. a. 2/ 5 4:8. 2. b. 1. 2. 2. 3/ 5 4:12. 2/ 5 9:18. c. 1. 5 4. 3/ 3 8:24. Σ = 77. 1. d. 3/ 5 3:9. t. WS2019/20.

(54) Spezielle Flüsse (Mindestfluss) 2:26. Einleitung. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 7/25. Walter Unger 14.11.2019 11:05. Beispiel (W = 5) 2/ 5 3:6. 2/ 5 4:8. a. b. 1. 2. s. 3/ 5 4:12. 2/ 5 9:18. c. 1. 5 4. 3/ 3 8:24. Σ = 77. 1. d. 3/ 5 3:9. t. WS2019/20.

(55) Spezielle Flüsse (Mindestfluss) 2:26. Einleitung. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 8/25. Walter Unger 14.11.2019 11:05. Beispiel (W = 5) 2/ 5 3:6. 2/ 5 4:8. a. 1. 1. 1. 1. 3/ 5 4:12. 2/ 5 9:18. c. 1. 5 4. 3/ 3 8:24. Σ = 77. b. 2. s. d. 1. 3/ 5 3:9. t. WS2019/20.

(56) Spezielle Flüsse (Mindestfluss) 2:26. Einleitung. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 9/25. Walter Unger 14.11.2019 11:05. Beispiel (W = 5) 2/ 5 3:6. 2/ 5 4:8. a. 1. 1. 1. 1. 2/ 5 4:8. 2/ 5 9:18. c. 1. 5 4. 2/ 3 8:16. Σ = 62. b. 2. s. d. 1. 2/ 5 3:6. t. WS2019/20.

(57) Spezielle Flüsse (Mindestfluss) 2:26. Einleitung. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 10/25. Walter Unger 14.11.2019 11:05. Beispiel (W = 5) 2/ 5 3:6. 2/ 5 4:8. a. b. 1. 2. s. 2/ 5 4:8. 2/ 5 9:18. c. 1. 5 4. 2/ 3 8:16. Σ = 62. 1. d. 2/ 5 3:6. t. WS2019/20.

(58) Spezielle Flüsse (Mindestfluss) 2:26. Einleitung. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 11/25. Walter Unger 14.11.2019 11:05. Beispiel (W = 5) 2/ 5 3:6. s. 2/ 5 4:8. a. 1. 2. 1. b. 2/ 5 4:8. 2/ 5 9:18. c. 1. 5 4. 2/ 3 8:16. Σ = 62. 1. d. 1. 2/ 5 3:6. t. WS2019/20.

(59) Spezielle Flüsse (Mindestfluss) 2:26. Einleitung. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 12/25. Walter Unger 14.11.2019 11:05. Beispiel (W = 5) 2/ 5 3:6. s. 2/ 5 4:8. a. 1. 2. 1. b. 2/ 5 4:8. 2/ 5 9:18. c. 5 4. 2/ 3 8:16. Σ = 66. 1/ 1:1 1. d. 1. 3/ 5 3:9. t. WS2019/20.

(60) Spezielle Flüsse (Mindestfluss) 2:26. Einleitung. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 13/25. Walter Unger 14.11.2019 11:05. Beispiel (W = 5) 2/ 5 3:6. 2/ 5 4:8. a. b. 1. 2. s. 2/ 5 4:8. 2/ 5 9:18. c. 5 4. 2/ 3 8:16. Σ = 66. 1/ 1:1 1. d. 3/ 5 3:9. t. WS2019/20.

(61) Spezielle Flüsse (Mindestfluss) 2:26. Einleitung. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 14/25. Walter Unger 14.11.2019 11:05. Beispiel (W = 5) 2. 2/ 5 3:6. a. 2. 2/ 5 4:8. b. 1. 2. 2. s. 2/ 5 4:8. 2/ 5 9:18. c. 5 4. 2/ 3 8:16. Σ = 66. 1/ 1:1 1. d. 3/ 5 3:9. t. WS2019/20.

(62) Spezielle Flüsse (Mindestfluss) 2:26. Einleitung. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 15/25. Walter Unger 14.11.2019 11:05. Beispiel (W = 5) 2. 5 3. a. 2. 5 4. b. 1. 2. 2. s. 2/ 5 4:8. 5 9. c. 5 4. 2/ 3 8:16. Σ = 34. 1/ 1:1 1. d. 3/ 5 3:9. t. WS2019/20.

(63) Spezielle Flüsse (Mindestfluss) 2:26. Einleitung. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 16/25. Walter Unger 14.11.2019 11:05. Beispiel (W = 5) 5 3. 5 4. a. b. 1. 2. s. 2/ 5 4:8. 5 9. c. 5 4. 2/ 3 8:16. Σ = 34. 1/ 1:1 1. d. 3/ 5 3:9. t. WS2019/20.

(64) Spezielle Flüsse (Mindestfluss) 2:26. Einleitung. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 17/25. Walter Unger 14.11.2019 11:05. Beispiel (W = 5) s. 5 3. 2. 5 4. a. b. 1. 2. 2. 2/ 5 4:8. 5 9. c. 5 4. 2/ 3 8:16. Σ = 34. 1/ 1:1 1. d. 2. 3/ 5 3:9. t. WS2019/20.

(65) Spezielle Flüsse (Mindestfluss) 2:26. Einleitung. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 18/25. Walter Unger 14.11.2019 11:05. Beispiel (W = 5) s. 2/ 5 3:6. 2. 5 4. a. b. 1. 2. 2. 2/ 5 4:8. d. 5 9. c. 2/ 5 4:8. 2/ 3 8:16. Σ = 54. 1/ 1:1 1. 2. 5/ 5 3:15. t. WS2019/20.

(66) Spezielle Flüsse (Mindestfluss) 2:26. Einleitung. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 19/25. Walter Unger 14.11.2019 11:05. Beispiel (W = 5) 2/ 5 3:6. 5 4. a. b. 1. 2. s. 2/ 5 4:8. d. 5 9. c. 2/ 5 4:8. 2/ 3 8:16. Σ = 54. 1/ 1:1 1. 5/ 5 3:15. t. WS2019/20.

(67) Spezielle Flüsse (Mindestfluss) 2:26. Einleitung. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 20/25. Walter Unger 14.11.2019 11:05. Beispiel (W = 5) 2/ 5 3:6. 5 4. a. 1. 2. 2. 2/ 5 4:8. d. 5 9. c. 2/ 5 4:8. 1/ 1:1 1. 2/ 3 8:16. Σ = 54. b. 2. s. 2. 5/ 5 3:15. t. WS2019/20.

(68) Spezielle Flüsse (Mindestfluss) 2:26. Einleitung. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 21/25. Walter Unger 14.11.2019 11:05. Beispiel (W = 5) 2/ 5 3:6. 5 4. a. 1. 2. 2. 5 4. d. 5 9. c. 2/ 5 4:8. 1/ 1:1 1. 3 8. Σ = 24. b. 2. s. 2. 3/ 5 3:9. t. WS2019/20.

(69) Spezielle Flüsse (Mindestfluss) 2:26. Einleitung. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 22/25. Walter Unger 14.11.2019 11:05. Beispiel (W = 5) 2/ 5 3:6. 5 4. a. b. 1. 2. s. c. 5 4. d. 5 9. Σ = 24. 2/ 5 4:8. 3 8. 1/ 1:1 1. 3/ 5 3:9. t. WS2019/20.

(70) Spezielle Flüsse (Mindestfluss) 2:26. Einleitung. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 23/25. Walter Unger 14.11.2019 11:05. Beispiel (W = 5) s. 2/ 5 3:6. 2. 5 4. a. b. 1. 2. 2. c. 5 4. d. 5 9. Σ = 24. 2/ 5 4:8. 3 8. 1/ 1:1 1. 2. 3/ 5 3:9. t. WS2019/20.

(71) Spezielle Flüsse (Mindestfluss) 2:26. Einleitung. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 24/25. Walter Unger 14.11.2019 11:05. Beispiel (W = 5) s. 4/ 5 3:12. 2. 5 4. a. b. 1. 2. 2. c. 5 4. d. 5 9. Σ = 44. 4/ 5 4:16. 3 8. 1/ 1:1 1. 2. 5/ 5 3:15. t. WS2019/20.

(72) Spezielle Flüsse (Mindestfluss) 2:26. Einleitung. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 25/25. Walter Unger 14.11.2019 11:05. Beispiel (W = 5) 4/ 5 3:12. 5 4. a. b. 1. 2. s. c. 5 4. d. 5 9. Σ = 44. 4/ 5 4:16. 3 8. 1/ 1:1 1. 5/ 5 3:15. t. WS2019/20.

(73) Spezielle Flüsse (Mindestfluss) 2:27. Spezielle Flüsse (Alternativen). Idee. Flüsse mit Kostenfunktion Walter Unger 14.11.2019 11:05. WS2019/20. Idee Bestimme einen beliebigen Fluss f mit w (f ) = W . Verbessere schrittweise die Kosten des Flusses: Annahme: es gibt Fluss f 0 mit l(f 0 ) < l(f ) und w (f 0 ) = w (f ). Dann gibt es einen Unterschied zwischen f und f 0 . Betrachte diesen Unterschied. Das muss ein zyklischer Fluss sein, d.h. ein Fluss ohne Quelle und Senke. Für f 0 und f gilt die Flusserhaltung. 0 Und fout (s) = fout (s) = fin (t) = fin0 (t). Damit gilt: Falls f (a, b) 6= f 0 (a, b), dann gibt es c ∈ V \ {a, b} mit: f (a, c) 6= f 0 (a, c). Damit gibt es mindestens einen Kreis mit Fluss g über Kanten e mit f (e) 6= f 0 (e).. Dieser zyklische Fluss besteht aus einer Summe von Kreisen. Einer dieser Kreise muss die Kosten für f 0 verbessern.. Idee: suche diese verbessernden Kreise..

(74) Spezielle Flüsse (Mindestfluss) 2:28. Idee. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 1/16. Walter Unger 14.11.2019 11:05. Beispiel mit Kreisen (W = 5) 5 3. 5 4. a. b. 1. 2. s. 5 4. 5 9. c. 1. 5 4. 3 8. Σ=0. 1. d. 5 3. t. WS2019/20.

(75) Spezielle Flüsse (Mindestfluss) 2:28. Idee. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 2/16. Walter Unger 14.11.2019 11:05. Beispiel mit Kreisen (W = 5) 5 3. s. 5 4. a. b. 1. 2. 3. 3. 5 4. 5 9. c. 1. 5 4. 3 8. Σ=0. 1. d. 3. 5 3. t. WS2019/20.

(76) Spezielle Flüsse (Mindestfluss) 2:28. Idee. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 3/16. Walter Unger 14.11.2019 11:05. Beispiel mit Kreisen (W = 5) 5 3. s. 5 4. a. b. 1. 2. 3. 3. 3/ 5 4:12. 5 9. c. 1. 5 4. 3/ 3 8:24. Σ = 45. 1. d. 3. 3/ 5 3:9. t. WS2019/20.

(77) Spezielle Flüsse (Mindestfluss) 2:28. Idee. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 4/16. Walter Unger 14.11.2019 11:05. Beispiel mit Kreisen (W = 5) 5 3. 5 4. a. b. 1. 2. s. 3/ 5 4:12. 5 9. c. 1. 5 4. 3/ 3 8:24. Σ = 45. 1. d. 3/ 5 3:9. t. WS2019/20.

(78) Spezielle Flüsse (Mindestfluss) 2:28. Idee. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 5/16. Walter Unger 14.11.2019 11:05. Beispiel mit Kreisen (W = 5) s. 5 3. 2. a. 5 4. 2. b. 1. 2. 2. 3/ 5 4:12. 5 9. c. 1. 5 4. 3/ 3 8:24. Σ = 45. 1. d. 3/ 5 3:9. t. WS2019/20.

(79) Spezielle Flüsse (Mindestfluss) 2:28. Idee. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 6/16. Walter Unger 14.11.2019 11:05. Beispiel mit Kreisen (W = 5) s. 2/ 5 3:6. 2. a. 2/ 5 4:8. 2. b. 1. 2. 2. 3/ 5 4:12. 2/ 5 9:18. c. 1. 5 4. 3/ 3 8:24. Σ = 77. 1. d. 3/ 5 3:9. t. WS2019/20.

(80) Spezielle Flüsse (Mindestfluss) 2:28. Idee. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 7/16. Walter Unger 14.11.2019 11:05. Beispiel mit Kreisen (W = 5) 2/ 5 3:6. 2/ 5 4:8. a. b. 1. 2. s. 3/ 5 4:12. 2/ 5 9:18. c. 1. 5 4. 3/ 3 8:24. Σ = 77. 1. d. 3/ 5 3:9. t. WS2019/20.

(81) Spezielle Flüsse (Mindestfluss) 2:28. Idee. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 8/16. Walter Unger 14.11.2019 11:05. Beispiel mit Kreisen (W = 5) 2/ 5 3:6. s. 2. 1. b. 1. 1. 1. 1. 3/ 5 4:12. 2/ 5 9:18. c. 1. 5 4. 3/ 3 8:24. Σ = 77. 2/ 5 4:8. a. d. 3/ 5 3:9. t. WS2019/20.

(82) Spezielle Flüsse (Mindestfluss) 2:28. Idee. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 9/16. Walter Unger 14.11.2019 11:05. Beispiel mit Kreisen (W = 5) 2/ 5 3:6. s. 2. 1. b. 1. 1. 1. 2/ 5 4:8. 2/ 5 9:18. c. 5 4. 1/ 1:1 1. 2/ 3 8:16. Σ = 66. 2/ 5 4:8. a. d. 3/ 5 3:9. t. WS2019/20.

(83) Spezielle Flüsse (Mindestfluss) 2:28. Idee. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 10/16. Walter Unger 14.11.2019 11:05. Beispiel mit Kreisen (W = 5) 2/ 5 3:6. 2/ 5 4:8. a. b. 1. 2. s. 2/ 5 4:8. 2/ 5 9:18. c. 5 4. 2/ 3 8:16. Σ = 66. 1/ 1:1 1. d. 3/ 5 3:9. t. WS2019/20.

(84) Spezielle Flüsse (Mindestfluss) 2:28. Idee. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 11/16. Walter Unger 14.11.2019 11:05. Beispiel mit Kreisen (W = 5) s. 2/ 5 3:6. 2. 2/ 5 4:8. a. b. 2. 2. 1. 2. c. 2. 2/ 5 4:8. 2/ 5 9:18. Σ = 66. 5 4. 2/ 3 8:16. 1/ 1:1 1. d. 3/ 5 3:9. t. WS2019/20.

(85) Spezielle Flüsse (Mindestfluss) 2:28. Idee. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 12/16. Walter Unger 14.11.2019 11:05. Beispiel mit Kreisen (W = 5) s. 4/ 5 3:12. 2. 2/ 5 4:8. a. b. 2. 2. 1. 2. c. 2. 5 4. d. 2/ 5 9:18. Σ = 56. 2/ 5 4:8. 3 8. 1/ 1:1 1. 3/ 5 3:9. t. WS2019/20.

(86) Spezielle Flüsse (Mindestfluss) 2:28. Idee. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 13/16. Walter Unger 14.11.2019 11:05. Beispiel mit Kreisen (W = 5) 4/ 5 3:12. 2/ 5 4:8. a. b. 1. 2. s. c. 5 4. d. 2/ 5 9:18. Σ = 56. 2/ 5 4:8. 3 8. 1/ 1:1 1. 3/ 5 3:9. t. WS2019/20.

(87) Spezielle Flüsse (Mindestfluss) 2:28. Idee. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 14/16. Walter Unger 14.11.2019 11:05. Beispiel mit Kreisen (W = 5) 4/ 5 3:12. s. a. 2/ 5 4:8. 2. b. 1. 2. 2. 2. c. 5 4. d. 2/ 5 9:18. Σ = 56. 2/ 5 4:8. 3 8. 1/ 1:1 1. 2. 3/ 5 3:9. t. WS2019/20.

(88) Spezielle Flüsse (Mindestfluss) 2:28. Idee. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 15/16. Walter Unger 14.11.2019 11:05. Beispiel mit Kreisen (W = 5) 4/ 5 3:12. s. a. 2. 5 4. b. 1. 5 4. d. 5 9. c. 4/ 5 4:16. Σ = 44. 2. 2. 2. 3 8. 1/ 1:1 1. 2. 5/ 5 3:15. t. WS2019/20.

(89) Spezielle Flüsse (Mindestfluss) 2:28. Idee. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 16/16. Walter Unger 14.11.2019 11:05. Beispiel mit Kreisen (W = 5) 4/ 5 3:12. 5 4. a. b. 1. 2. s. c. 5 4. d. 5 9. Σ = 44. 4/ 5 4:16. 3 8. 1/ 1:1 1. 5/ 5 3:15. t. WS2019/20.

(90) Spezielle Flüsse (Mindestfluss) 2:29. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. Idee. Walter Unger 14.11.2019 11:05. Frage: Warum eine Suche nach Kreisen? Ein verbessernder Kreis entspricht zwei Wegen: Ein Weg, der gelöscht wird, Ein Weg, der hinzugefügt wird. Die Differenz der Wege ist der Kreis.. Man könnte also auch nach Wegen suchen. Vorteil bei Kreisen: Gewinn entspricht direkt den Kosten des Kreises. Einfachere Algorithmen bei sich ändernden Kosten. Optimale Lösung bekannt. “Anbieter” verändert die Kosten einer Kante. Passe bisherige Lösung durch das Suchen von Kreisen an.. Die folgenden Beweise werden dadurch einfacher.. WS2019/20.

(91) Spezielle Flüsse (Mindestfluss) 2:30. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. Idee. Walter Unger 14.11.2019 11:05. WS2019/20. Definitionen Gegeben G = (V , E , s, t, c, l) und Restnetzwerk Gf = (V 0 , E 0 , s, t, c 0 , l 0 ). c 0 (e) = c(e) für e ∈ E ∩ E 0 c 0 (a, b) = c(b, a) und l 0 (a, b) = −l(b, a) für (a, b) ∈ E 0 \ E 0 f 0 ist eine Zirkulation, gdw.: ∀v ∈ V : fin0 (v ) = fout (v ).. Wert einer Zirkulation f 0 über Schnitt (S, T ): X f 0 (S, T ) = f 0 (v , w ) − (v ,w )∈E ,v ∈S,w ∈T. X. (w ,v )∈E ,v ∈S,w ∈T. w (f 0 ) = f 0 ({s}, V \ {s}). Lemma Es gilt: w (f 0 ) = 0 und für jeden Schnitt (S, T ) gilt: f 0 (S, T ) = 0. Beweis: Flusserhaltung und Induktion über Größe von S.. f 0 (w , v )..

(92) Spezielle Flüsse (Mindestfluss) 2:31. Spezielle Flüsse (Alternativen). Idee. Flüsse mit Kostenfunktion Walter Unger 14.11.2019 11:05. WS2019/20. Zirkulation und Kostenminimalität Lemma Falls f nicht kostenminimal ist, dann gibt es einen Kreis C in Gf und f hat auf C negative Kosten. Beweis: Sei f ∗ Fluss auf G mit l(f ∗ ) < l(f ). Damit unterscheiden sich f ∗ und f . Für alle e ∈ E setze f 0 (e) = f ∗ (e) − f (e). f 0 ist dann zyklischer Fluss. f 0 wird durch höchstens m0 < m viele Kreisflüsse fi 0 (1 6 i 6 m0 ) gebildet. P Damit gilt: l(f 0 ) = l(f ∗ ) − l(f ) = 16i6m0 l(fi 0 ) Damit existiert j mit l(fj 0 ) < 0..

(93) Spezielle Flüsse (Mindestfluss) 2:32. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. Algorithmus. Walter Unger 14.11.2019 11:05. Algorithmus (Min-Cost-Flow) Theorem Ein Fluss f ist kostenminimal, wenn Gf keinen Kreis mit negativen Kosten enthält. 1 2 3. Eingabe: G = (V , E , s, t, c, l), W . Bestimme Fluss f 0 mit w (f 0 ) = W . Solange es in Gf einen negativen Kreis C gibt: 1. f = f + f 0 (C ).. Es gilt: w (f + f 0 (C )) = w (f ) + w (f 0 (C )) = w (f ) = W . D.h. der Wert des Flusses bleibt gleich.. Es gilt: l(f + f 0 (C )) = l(f ) + l(f 0 (C )) < l(f ). D.h. die Kosten verringern sich.. Theorem Der obige Algorithmus bestimmt einen kostenminimalen Fluss.. WS2019/20.

(94) Spezielle Flüsse (Mindestfluss) 2:33. Algorithmus. Spezielle Flüsse (Alternativen). 1/17. Flüsse mit Kostenfunktion Walter Unger 14.11.2019 11:05. Beispiel zur Laufzeit (W = 100) Bei schlecht gewählten Kreisen kann die Laufzeit sehr lang werden. b. 1 4. 100 1 100 1. s. t 100 8. Σ=0. 100 8. a. WS2019/20.

(95) Spezielle Flüsse (Mindestfluss) 2:33. Algorithmus. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 2/17. Walter Unger 14.11.2019 11:05. Beispiel zur Laufzeit (W = 100) Bei schlecht gewählten Kreisen kann die Laufzeit sehr lang werden. b 100 1. 1 4. 100 1. s. t 100 8. 100. Σ=0. 100 8. a. 100. WS2019/20.

(96) Spezielle Flüsse (Mindestfluss) 2:33. Algorithmus. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 3/17. Walter Unger 14.11.2019 11:05. Beispiel zur Laufzeit (W = 100) Bei schlecht gewählten Kreisen kann die Laufzeit sehr lang werden. b 100 1. 1 4. 100 1. s. 100 100 :800 8. 100. Σ = 1600. /. 100 8:8 /100 00. a. 100. t. WS2019/20.

(97) Spezielle Flüsse (Mindestfluss) 2:33. Algorithmus. Spezielle Flüsse (Alternativen). 4/17. Flüsse mit Kostenfunktion Walter Unger 14.11.2019 11:05. Beispiel zur Laufzeit (W = 100) Bei schlecht gewählten Kreisen kann die Laufzeit sehr lang werden. b. 1 4. 100 1. s. 100 1 100 100 :800 8 /. Σ = 1600. 100 8:8 /100 00. a. t. WS2019/20.

(98) Spezielle Flüsse (Mindestfluss) 2:33. Algorithmus. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 5/17. Walter Unger 14.11.2019 11:05. Beispiel zur Laufzeit (W = 100) Bei schlecht gewählten Kreisen kann die Laufzeit sehr lang werden. b 100 1. 1. 1 4. 100 1. s. 100 100 :800 8. Σ = 1600. 100 8:8 /100 00. 1. /. 1. a. t. WS2019/20.

(99) Spezielle Flüsse (Mindestfluss) 2:33. Algorithmus. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 6/17. Walter Unger 14.11.2019 11:05. Beispiel zur Laufzeit (W = 100) Bei schlecht gewählten Kreisen kann die Laufzeit sehr lang werden. b 100 1. 1. 1/1 4:4. 1/ 1 0 1:1 0. s. t. Σ = 1597. 1. 100 8:8 /100 00. 100 99/ 792 8: 1. a. WS2019/20.

(100) Spezielle Flüsse (Mindestfluss) 2:33. Algorithmus. Spezielle Flüsse (Alternativen). 7/17. Flüsse mit Kostenfunktion Walter Unger 14.11.2019 11:05. Beispiel zur Laufzeit (W = 100) Bei schlecht gewählten Kreisen kann die Laufzeit sehr lang werden. b. 1/1 4:4. 100 1. 1/ 1 0 1:1 0. s. t. Σ = 1597. 100 99/ 792 8:. 100 8:8 /100 00. a. WS2019/20.

(101) Spezielle Flüsse (Mindestfluss) 2:33. Algorithmus. Spezielle Flüsse (Alternativen). 8/17. Flüsse mit Kostenfunktion Walter Unger 14.11.2019 11:05. Beispiel zur Laufzeit (W = 100) Bei schlecht gewählten Kreisen kann die Laufzeit sehr lang werden. b. 1/1 4:4. 1/ 1 0 1:1 0. 1. 100 1. 100 99/ 792 8:. 1. s. t 1. Σ = 1597. 100 8:8 /100 00. a. WS2019/20.

(102) Spezielle Flüsse (Mindestfluss) 2:33. Algorithmus. Spezielle Flüsse (Alternativen). 9/17. Flüsse mit Kostenfunktion Walter Unger 14.11.2019 11:05. Beispiel zur Laufzeit (W = 100) Bei schlecht gewählten Kreisen kann die Laufzeit sehr lang werden. b 00 1 1 :1 1. 1 4. /. 1/ 1 0 1:1 0. 1. 100 99/ 792 8:. 1. s. t 1. Σ = 1586. 99/ 8:7 100 92. a. WS2019/20.

(103) Spezielle Flüsse (Mindestfluss) 2:33. Algorithmus. Spezielle Flüsse (Alternativen). 10/17. Flüsse mit Kostenfunktion Walter Unger 14.11.2019 11:05. Beispiel zur Laufzeit (W = 100) Bei schlecht gewählten Kreisen kann die Laufzeit sehr lang werden. b 00 1 1 :1 1. 1 4. /. 1/ 1 0 1:1 0. s. t. Σ = 1586. 100 99/ 792 8:. 99/ 8:7 100 92. a. WS2019/20.

(104) Spezielle Flüsse (Mindestfluss) 2:33. Algorithmus. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 11/17. Walter Unger 14.11.2019 11:05. Beispiel zur Laufzeit (W = 100) Bei schlecht gewählten Kreisen kann die Laufzeit sehr lang werden. b 00 1 1 :1 1. 1 1/ 1 0 1:1 0. 1 4. /. s. t. Σ = 1586. 1. 99/ 8:7 100 92. 100 99/ 792 8: 1. a. WS2019/20.

(105) Spezielle Flüsse (Mindestfluss) 2:33. Algorithmus. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 12/17. Walter Unger 14.11.2019 11:05. Beispiel zur Laufzeit (W = 100) Bei schlecht gewählten Kreisen kann die Laufzeit sehr lang werden. b 00 1 1 :1 1. 1 2/ 1 0 1:2 0. 1/1 4:4. /. s. t. Σ = 1583. 1. 99/ 8:7 100 92. 100 98/ 784 8: 1. a. WS2019/20.

(106) Spezielle Flüsse (Mindestfluss) 2:33. Algorithmus. Spezielle Flüsse (Alternativen). 13/17. Flüsse mit Kostenfunktion Walter Unger 14.11.2019 11:05. Beispiel zur Laufzeit (W = 100) Bei schlecht gewählten Kreisen kann die Laufzeit sehr lang werden. b 00 1 1 :1 1. 1/ 1 4:4. /. 2/ 1 0 1:2 0. s. t. Σ = 1583. 100 98/ 784 8:. 99/ 8:7 100 92. a. WS2019/20.

(107) Spezielle Flüsse (Mindestfluss) 2:33. Algorithmus. Spezielle Flüsse (Alternativen). 14/17. Flüsse mit Kostenfunktion Walter Unger 14.11.2019 11:05. Beispiel zur Laufzeit (W = 100) Bei schlecht gewählten Kreisen kann die Laufzeit sehr lang werden. b 00 1 1 :1 1. 1/ 1 4:4. /. 2/ 1 0 1:2 0. 1. 100 98/ 784 8:. 1. s. t 1. Σ = 1583. 99/ 8:7 100 92. a. WS2019/20.

(108) Spezielle Flüsse (Mindestfluss) 2:33. Algorithmus. Spezielle Flüsse (Alternativen). 15/17. Flüsse mit Kostenfunktion Walter Unger 14.11.2019 11:05. Beispiel zur Laufzeit (W = 100) Bei schlecht gewählten Kreisen kann die Laufzeit sehr lang werden. b 00 2 1 :2 1. 1 4. /. 2/ 1 0 1:2 0. 1. 100 98/ 784 8:. 1. s. t 1. Σ = 1572. 98/ 8:7 100 84. a. WS2019/20.

(109) Spezielle Flüsse (Mindestfluss) 2:33. Algorithmus. Spezielle Flüsse (Alternativen). 16/17. Flüsse mit Kostenfunktion Walter Unger 14.11.2019 11:05. Beispiel zur Laufzeit (W = 100) Bei schlecht gewählten Kreisen kann die Laufzeit sehr lang werden. b 00 2 1 :2 1. 1 4. /. 2/ 1 0 1:2 0. s. t. Σ = 1572. 100 98/ 784 8:. 98/ 8:7 100 84. a. WS2019/20.

(110) Spezielle Flüsse (Mindestfluss) 2:33. Algorithmus. Spezielle Flüsse (Alternativen). 17/17. Flüsse mit Kostenfunktion Walter Unger 14.11.2019 11:05. Beispiel zur Laufzeit (W = 100) Bei schlecht gewählten Kreisen kann die Laufzeit sehr lang werden. b 00 6 1 :6 1. 1 4. /. 6/ 1 0 1:6 0. s. t. Σ = 1516. 100 94/ 752 8:. 94/ 8:7 100 52. a. WS2019/20.

(111) Spezielle Flüsse (Mindestfluss) 2:34. Algorithmus. Spezielle Flüsse (Alternativen). 1/7. Flüsse mit Kostenfunktion Walter Unger 14.11.2019 11:05. Nochmal Beispiel zur Laufzeit (W = 100) Bei gut gewählten Kreisen kann die Laufzeit ggf. besser sein. b. 1 4. 100 1 100 1. s. t 100 8. Σ=0. 100 8. a. WS2019/20.

(112) Spezielle Flüsse (Mindestfluss) 2:34. Algorithmus. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 2/7. Walter Unger 14.11.2019 11:05. Nochmal Beispiel zur Laufzeit (W = 100) Bei gut gewählten Kreisen kann die Laufzeit ggf. besser sein. b 100 1. 1 4. 100 1. s. t 100 8. 100. Σ=0. 100 8. a. 100. WS2019/20.

(113) Spezielle Flüsse (Mindestfluss) 2:34. Algorithmus. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 3/7. Walter Unger 14.11.2019 11:05. Nochmal Beispiel zur Laufzeit (W = 100) Bei gut gewählten Kreisen kann die Laufzeit ggf. besser sein. b 100 1. 1 4. 100 1. s. 100 100 :800 8. 100. Σ = 1600. /. 100 8:8 /100 00. a. 100. t. WS2019/20.

(114) Spezielle Flüsse (Mindestfluss) 2:34. Algorithmus. Spezielle Flüsse (Alternativen). 4/7. Flüsse mit Kostenfunktion Walter Unger 14.11.2019 11:05. Nochmal Beispiel zur Laufzeit (W = 100) Bei gut gewählten Kreisen kann die Laufzeit ggf. besser sein. b. 1 4. 100 1. s. 100 1 100 100 :800 8 /. Σ = 1600. 100 8:8 /100 00. a. t. WS2019/20.

(115) Spezielle Flüsse (Mindestfluss) 2:34. Algorithmus. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 5/7. Walter Unger 14.11.2019 11:05. Nochmal Beispiel zur Laufzeit (W = 100) Bei gut gewählten Kreisen kann die Laufzeit ggf. besser sein. b 100 1. 100. 1 4. 100 1. s. 100. 100 100 :800 8. 100. Σ = 1600. /. 100 8:8 /100 00. 100. a. t. WS2019/20.

(116) Spezielle Flüsse (Mindestfluss) 2:34. Algorithmus. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. 6/7. Walter Unger 14.11.2019 11:05. Nochmal Beispiel zur Laufzeit (W = 100) Bei gut gewählten Kreisen kann die Laufzeit ggf. besser sein. b 100 100 1:1 /100 00. 1 4. 00 /1 100 :100 1. s. 100. t. 100. Σ = 200. 100 8 100 8. 100. a. WS2019/20.

(117) Spezielle Flüsse (Mindestfluss) 2:34. Algorithmus. Spezielle Flüsse (Alternativen). 7/7. Flüsse mit Kostenfunktion Walter Unger 14.11.2019 11:05. Nochmal Beispiel zur Laufzeit (W = 100) Bei gut gewählten Kreisen kann die Laufzeit ggf. besser sein. b. 1 4. 00 /1 100 :100 1. 100 1:1 /100 00. s. t 100 8. Σ = 200. 100 8. a. WS2019/20.

(118) Spezielle Flüsse (Mindestfluss) 2:35. Spezielle Flüsse (Alternativen). Verbesserung der Laufzeit. Flüsse mit Kostenfunktion Walter Unger 14.11.2019 11:05. WS2019/20. Suche nach guten verbessernden Kreise Das vorhegehende Beispiel hat gezeigt, daß bei unstrukturierter Suche Kreise gefunden werden können, die nur eine kleine Verbesserung erzeilen. Daher sollten nun Kreise gefunden werden, die eine möglichst grosse Verbesserung der Kosten erreichen. Man könnte also einen Kreis mit minimalen Kosten suchen. Dieser könnte dann aber auch viele Kanten, beinhalten. In den bisherigen Beweisen haben wir gesehen, daß die Laufzeit dadurch klein wurde, indem wir die Nutzungshäufigkeit der Kanten zu minimieren versuchen. Daher erscheint es sinnvoll, Kanten mit hoher Kostenverbesserung zu bevorzugen. Nun müssen wir aber gleichzeitig nach kostenverbessernden Kreisen suchen. Zusammengefasst heißt das: Suche nach einem Kreis, wo die durchschnittlichen Kantenkosten minimal sind (d.h. die durchschnittliche Kostenverbesserung pro Kante ist maximal)..

(119) Spezielle Flüsse (Mindestfluss) 2:36. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. Verbesserung der Laufzeit. Walter Unger 14.11.2019 11:05. WS2019/20. Laufzeit und Verbesserung selbiger Der bisherige Algorithmus hat in obiger Form eine pseudopolynomielle Laufzeit. Dies kann aber verbessert werden: Wähle kostengünstige Kreise. Wähle Kreise über kostengünstige Kanten. Also unabhängig von der Kreislänge.. Dazu werden die Kreise gewählt, die die durchschnittlichen Kantenkosten minimieren. Setze: ¯ ) = l(C ) = l(C |C |. P. l(e) |C |. e∈C. ¯ ). Setze weiter: µ(f ) = −l(C Falls C negative Kosten hat, so ist µ(C ) positiv. µ(f ) gibt also die Verbesserung eines Kreisflusses an..

(120) Spezielle Flüsse (Mindestfluss) 2:37. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. Verbesserung der Laufzeit. Walter Unger 14.11.2019 11:05. Mean-Algorithmus (Min-Cost-Flow) 1. Eingabe: G = (V , E , s, t, c, l), W .. 2. Bestimme Fluss f mit w (f ) = W . Solange es in Gf einen negativen Kreis C gibt,. 3. 1. ¯ ) minimal. Wähle C mit l(C 1 2. Bestimme maximalen zyklischen Fluss f 0 auf C . f = f + f 0 (C ).. Es gilt: w (f + f 0 (C )) = w (f ) + w (f 0 (C )) = w (f ) = W . Es gilt: l(f + f 0 (C )) = l(f ) + l(f 0 (C )) < l(f ).. WS2019/20. P e∈C l(e) ¯ ) = l(C ) = l(C |C | |C | ¯ ) µ(f ) = −l(C.

(121) Spezielle Flüsse (Mindestfluss) 2:38. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. Verbesserung der Laufzeit. Walter Unger 14.11.2019 11:05. WS2019/20. Überblick Es sind im Folgenden noch drei Probleme zu lösen: Wie wird eigentlich ein Min-Mean-Kreis bestimmt? Wie viel Laufzeit ist notwendig einen Min-Mean-Kreis zu bestimmen? Wie oft ist es notwendig, so einen Min-Mean-Kreis zu bestimmen? Wir wählen das folgende Vorgehen: Zuerst bestimmen wir, wie oft eine solcher Min-Mean-Kreis bestimmt wird. Dazu zeigen wird, daß nachdem n mal ein Min-Mean-Kreis bestimmt wurde, die Kosten um einen Faktor von 1 − 1/n gesunken sein müssen. Daher die Kosten eines Min-Mean-Kreises mindestens 1/n sind, werden also höchstens m · log(nL) Berechnungen eines Min-Mean-Kreis gemacht. Das Bestimmen eines Min-Mean-Kreis erfolgt in zwei Schritten: Mittels Dynamischer Programmierung wird der Wert des Min-Mean-Kreis berechnet. Mit Hilfe einer Potentialfunktion werden die Kosten der Kanten eines Min-Mean-Kreis zu Null..

(122) Spezielle Flüsse (Mindestfluss) 2:39. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. Verbesserung der Laufzeit. Walter Unger 14.11.2019 11:05. Überblick zum Beweis Teile Iterationen in Phasen auf.. WS2019/20. P e∈C l(e) ¯ ) = l(C ) = l(C |C | |C | ¯ ) µ(f ) = −l(C 1 − x 6 e −x , x = 1/n. Bestimme die Anzahl der Phasen. Bestimme die Anzahl der Iterationen pro Phase. Zeige dies unter Verwendung einer besonderen Annahme. Verändere l so, dass Annahme immer gilt und Algorithmus analog vorgeht. Bestimme dazu Potential der Knoten, und addiere dies zu den Kantenkosten.. Bestimme Laufzeit für eine Iteration. Zeige, wie man einfach einen Min-Mean-Kreis C findet (Dynamisches Programmieren). Bestimme dazu vorab den Wert von C . Dann wird Suche nach C einfach (passe Kosten an).. ¯ ) 6 −1/n. Beachte für verbessernde Kreise C gilt: l(C.

(123) Spezielle Flüsse (Mindestfluss) 2:40. Verbesserung der Laufzeit. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion Walter Unger 14.11.2019 11:05. WS2019/20. Idee zur Anzahl der Berechnungen eines Min-Mean-Kreises Ziel ist es zu zeigen, daß höchstens m · log(nL) Berechnungen eines Min-MeanKreis gemacht werden. Dazu teilen wir die Berechnungen in Phasen ein. Die erste Phase endet, wenn die Kosten des Flusses um einen Faktor von 1 − 1/n gesunken sind. Analog endet jede weitere Phase, wenn wieder die Kosten des Flusses um einen Faktor von 1 − 1/n gesunken sind. Damit kann dann direkt gezeigt werden, daß die Anzahl der Phasen durch n ln(nL) + 1 beschänkt ist. In einem zweiten Schritt wird gezeigt, daß in einer Phase höchstens m Berechnungen eines Min-Mean-Kreis gemacht werden. Dazu nehmen wir erst einmal an, daß – alle Kanten des Graphen als Einzelkante betrachtet – keine Kostenverbesserung haben, die besser ist als die des Min-Mean-Kreises. Da in dieser Situation jeweils mindestens eine Kante entfernt (und in Gegenrichtung ohne Kostengewinn eingesetzt) wird. Wir werden im Folgenden mittels einer einfachen Rechnung sehen, daß damit die Phasenlängen durch m beschränkt sind. Im letzten Teil wird mittels Potentialfunktion die Eingabe transformiert, so daß die oben dargestellte Annahme weiter gilt. Dabei werden für die Kosten für die Kreise nicht verändert. Damit ändert sich auch nicht das Verhalten des Algorithmuses..

(124) Spezielle Flüsse (Mindestfluss) 2:41. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. Verbesserung der Laufzeit. Walter Unger 14.11.2019 11:05. Laufzeit (Aufteilung in Phasen) Sei f der Fluss zu Beginn der i-ten Phase. Die Phase i endet, falls ein Fluss g gefunden wird mit: µ(g ) 6 (1 − 1/n) · µ(f ) oder µ(g ) 6 0. Falls µ(g ) 6 0 terminiert der Algorithmus. Sei µ0 der Wert von µ zu Beginn der ersten Phase. Sei µi der Wert von µ am Ende der i-ten Phase (1 6 i 6 T ). Damit gilt:. µi−1 µi 6 (1 − 1/n) · µi−1 6 1/n . e P Weiter gilt: µ0 6 L = e∈E |l(e)| Wegen der Ganzzahligkeit gilt: µT −1 > 1/n. Es folgt: T − 1 6 loge 1/n (nL) = Und: T 6 n ln(nL) + 1.. ln(nL) = n ln(nL) ln(e 1/n ). WS2019/20. P e∈C l(e) ¯ ) = l(C ) = l(C |C | |C | ¯ ) µ(f ) = −l(C 1 − x 6 e −x , x = 1/n.

(125) Spezielle Flüsse (Mindestfluss) 2:42. Spezielle Flüsse (Alternativen). Verbesserung der Laufzeit. Laufzeit (Iterationen pro Phase) Zeige im Folgenden:. Flüsse mit Kostenfunktion Walter Unger 14.11.2019 11:05. WS2019/20. P e∈C l(e) ¯ ) = l(C ) = l(C |C | |C | ¯ ) µ(f ) = −l(C. Die Phase (und der Algorithmus) terminiert nach spätestens m Iterationen, oder Die nächste Phase startet nach spätestens m − 1 Iterationen. D.h. war der initiale Fluss f zu Beginn der Phase, dann ist ein Fluss g nach spätestens m − 1 Iterationen erreicht mit: µ(g ) 6 (1 − 1/n) · µ(f ).. Vorgehen: Zeige Behauptung unter der Annahme: ∀e ∈ E (Gf ) : l(e) > −µ(f ). Zeige Behauptung: Verändere dann l, so dass die Annahme immer gilt..

(126) Spezielle Flüsse (Mindestfluss) 2:43. Spezielle Flüsse (Alternativen). Verbesserung der Laufzeit. Laufzeit (Iterationen pro Phase). Flüsse mit Kostenfunktion Walter Unger 14.11.2019 11:05. WS2019/20. P e∈C l(e) ¯ ) = l(C ) = l(C |C | |C | ¯ ) µ(f ) = −l(C ∀e ∈ E (Gf ) : l(e) > −µ(f ). Typ 1 Iteration: Kreis C enthält nur Kanten mit negativen Kosten.. Typ 2 Iteration: Kreis C enthält mindestens eine Kante mit positiven Kosten. Bei jeder Typ 1 Iteration wird mindestens eine Kante saturiert und entfernt. Alle dabei neu entstehenden Kanten haben positive Kosten (andere Richtung). Nach spätestens m konsekutiven Typ 1 Iterationen terminiert das Verfahren. Wenn also die Phase mehr als m Iterationen hat, folgt nach spätestens m − 1 Iterationen eine Typ 2 Iteration. Wir zeigen nun, dass dieser Fall unter der Annahme nicht auftritt..

(127) Spezielle Flüsse (Mindestfluss) 2:44. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. Verbesserung der Laufzeit. Walter Unger 14.11.2019 11:05. WS2019/20. Laufzeit mit Annahmen (Iterationen proP Phase) ¯ ) = l(C ) = l(C |C |. e∈C l(e) , µ(f ) = −l(C ¯ ), Annahme: ∀e ∈ E (G ) : l(e) > −µ(f ) f |C |. Sei g der Fluss vor der ersten Typ 2 Iteration. Die Annahme gilt weiter (keine neuen Kanten mit negativen Kosten): ∀e ∈ E (Gg ) : l(e) > −µ(f ) Sei C der Min-Mean-Kreis in Gg und H die Kanten mit negativen Kosten in C . Damit gilt: µ(g ) =. X −l(e) X −l(e) µ(f ) 6 6 |H| · |C | |C | |C | e∈C. e∈H. Wegen |H| 6 |C | − 1 folgt: |H|/|C | 6 1 − 1/|C | 6 1 − 1/n Damit: µ(g ) 6 (1 − 1/n) · µ(f ). Widerspruch: sind schon am Ende der Phase. Also gibt es in der Phase keine Typ 2 Iterationen. Falls die Annahme gilt, so endet die Phase nach m − 1 Typ 1 Iterationen..

(128) Spezielle Flüsse (Mindestfluss) 2:45. Verbesserung der Laufzeit. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion Walter Unger 14.11.2019 11:05. WS2019/20. Potentialfunktion Eine Potentialfunktion bestimmt das Potential eines Knotens. D.h. wie “gut” ist der Knoten für die Lösung des Problems Das ist natürlich vom Problem und der Anwendung abhängig. Wir werden beim Matching Problem auch noch eine weitere Anwendung einer Potentialfunktion sehen. Hier wird für einen Knoten v als Potential gewählt: die Kosten eines minimalen Kantenzuges, der in v endet. Für einen Knoten des Min-Mean-Kreis ist damit dieser Kreis ein wichtiger Teil seines Potentials. Ein Knoten v addiert sein Potential auf die Kosten jeder seiner ausgehenden Kanten und subtrahiert die Kosten jeder seiner eingehenden Kanten. Damit bleiben die Kosten auf Kreisen unverändert. Weiterhin sieht man, das diese Potentialfunktion mittels dynamischer Programmierung effizient bestimmt werden kann. Analog werden wir im Folgenden sehen, daß dann auch der Wert des MinMean-Kreis mittels dynamischer Programmierung, unter Verwendung der Zwischenergebnisse von der Berechnung der Knotenpotentale, effizient bestimmt werden kann..

(129) Spezielle Flüsse (Mindestfluss) 2:46. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. Verbesserung der Laufzeit. Walter Unger 14.11.2019 11:05. WS2019/20. Laufzeit (Erzwinge die Annahme) ¯ ) = l(C ) = l(C |C |. P e∈C l(e) , µ(f ) = −l(C ¯ ), Annahme: ∀e ∈ E (G ) : l(e) > −µ(f ) f |C |. Wir sorgen dafür, dass die Annahme erfüllt werden kann: Wir verändern l geeignet. Verhalten des Algorithmus sollte unverändert sein. Sei p : V 7→ Z ein Potential für die Knoten. Setze für alle e = (v , w ) ∈ E (Gf ) setze: l 0 (e) = l(e) + p(v ) − p(w ). Für e = (w , v ) gilt: l 0 (e). =. l(e) + p(w ) − p(v ) −l(e) + p(w ) − p(v ) = −l 0 (e). Potentiale ändern die Kostensumme auf Kreisen C nicht: l(C ) = l 0 (C ). Potentiale ändern damit auch nicht den Ablauf des Verfahrens. Wir zeigen nun, dass es Potentiale gibt, die die Annahme erzwingen..

(130) Spezielle Flüsse (Mindestfluss) 2:47. Spezielle Flüsse (Alternativen). Verbesserung der Laufzeit. Flüsse mit Kostenfunktion Walter Unger 14.11.2019 11:05. WS2019/20. Laufzeit (Erzwinge die Annahme durch PPotential) ¯ ) = l(C ) = l(C |C |. e∈C l(e) , µ(f ) = −l(C ¯ ), Annahme: ∀e ∈ E (G ) : l(e) > −µ(f ) f |C |. Lemma (Existenz von p) ¯ ) > −µ für jeden Kreis C . In Gf = (V , Ef ) gelte l(C Dann gibt es p : V 7→ Z mit: l 0 (e) = l(e) + p(w ) − p(v ) > −µ für jede Kante e ∈ Ef . Beweis: Für e ∈ Ef setze: lµ (e) = l(e) + µ Für v ∈ V bestimme Kantenzug P in Gf von beliebigen Knoten w zu v mit minimalen Gewicht. Setze dann p(v ) = lµ (P). ¯ ) > −µ folgt lµ (C ) > 0 für Beachte: Das ist wohldefinert, denn aus l(C beliebigen Kreis C . Damit gilt für jede Kante e = (v , w ) ∈ Ef : p(w ) 6 p(v ) + lµ (e). Es folgt: l 0 (e). = =. l(e) + p(v ) − p(w ) lµ (e) + p(v ) − p(w ) − µ > −µ.

(131) Spezielle Flüsse (Mindestfluss) 2:48. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. Verbesserung der Laufzeit. Walter Unger 14.11.2019 11:05. WS2019/20. Laufzeit pro Iteration ¯ ) = l(C ) = l(C |C |. P e∈C l(e) , µ(f ) = −l(C ¯ ), ∀e ∈ E (G ) : l(e) > −µ(f ) f |C |. Lemma (Karp, 1978) Ein Min-Mean-Cycle kann in Gf in Zeit O(nm) gefunden werden. Beweis: Setze für v ∈ V und k ∈ {0, . . . , n}: dk (v ) seien die Kosten des günstigsten Kantenzugs nach v mit genau k Kanten. Es gilt d0 (v ) = 0 und dk+1 (v ) =. min e=(w ,v )∈Ef. (dk (w ) + l(e)).. Alle dk (v ) Werte können durch dynamische Programmierung in Zeit O(nm) bestimmt werden..

(132) Spezielle Flüsse (Mindestfluss) 2:49. Spezielle Flüsse (Alternativen). Verbesserung der Laufzeit. Flüsse mit Kostenfunktion Walter Unger 14.11.2019 11:05. WS2019/20. Wert des Min-Mean-Kreises Um den Wert des Min-Mean-Kreises zu bestimmen, können wir die bereits berechneten Werte di (v ) nutzen. Zur Erinnierung, di (v ) sind die Kosten eines Kantenzugs der Länge i zum Knoten v Nun können diese Werte nicht direkt zum Bestimmen des Wertes des MinMean-Kreises genutzt werden. Wenn wir aber i ausreichend gross (z.B. i = n) wählen, dann wird der Min-Mean-Kreises auf dem minimalen Kantenzug zu v auftreten. Nehmen wir mal an: v ist ein Knoten des Min-Mean-Kreises. Unser Kantenzug P mit dem Wert di (v ) betritt irgendwann den Min-Mean-Kreises. Also müssen wir den initialen Anteil von P, also ein Pfad maximaler Länge, abziehen. Für ein d (v )−d (v ) passendes j ist der Wert des Min-Mean-Kreises n n−j j . Es verbleibt das Minimieren über alle Knoten und das folgende Maximieren über alle j:   n−1 dn (v ) − dj (v ) min max . v ∈V j=0 n−j Im Folgenden werden wir zeigen, daß diese Formel wirklich den Wert des MinMean-Kreises bestimmt und damit auch wieder per dynamischer Programmierung bestimmt werden kann..

(133) Spezielle Flüsse (Mindestfluss) 2:50. Spezielle Flüsse (Alternativen). Verbesserung der Laufzeit. Flüsse mit Kostenfunktion Walter Unger 14.11.2019 11:05. WS2019/20. Wert des Min-Mean-Kreises ¯ ) = l(C ) = l(C |C |. P e∈C l(e) , µ(f ) = −l(C ¯ ) |C |. Lemma ¯ ) des Min-Mean-Kreises ist: Der Wert l(C   n−1 dn (v ) − dj (v ) α = min max v ∈V j=0 n−j Beweis: Sei C ein Min-Mean-Kreis. Wenn alle Kantenkosten um δ erhöht werden, bleibt C Min-Mean-Kreis. Der Wert von C erhöht sich auch um δ. ¯ ) = 0 gilt. Also können wir alle Kantenkosten um δ verschieben bis l(C Zeige nun: α = 0 gilt damit auch..

(134) Spezielle Flüsse (Mindestfluss) 2:51. Spezielle Flüsse (Alternativen). Verbesserung der Laufzeit. Flüsse mit Kostenfunktion Walter Unger 14.11.2019 11:05. WS2019/20. n−1 e∈C l(e) und µ(f ) = −l(C ¯ ) und α = min v ∈V maxj=0 |C |. dn (v )−dj (v ) n−j. Wert des Min-Mean-Kreises (Zeige P α > 0) ¯ ) = l(C ) = l(C |C |. Sei v beliebig und P Kantenzug, der bei v endet und Kosten dn (v ) hat. P muss Kreis C beinhalten. Sei P 0 der verbleibende Kantenzug mit j Kanten ohne C . Dann hat C n − j Kanten. Wegen l(C ) > 0 gilt: dn (v ) = l(P) = l(C ) + l(P 0 ) > l(P 0 ) > dj (v ). Für jeden Knoten v gibt es j ∈ {1, . . . , n − 1} mit dn (v ) > dj (v ).   dn (v )−dj (v ) Beachte: α = minv ∈V maxn−1 j=0 n−j Damit α > 0. Im Folgenden zeigen wir nun noch α 6 0.. !.

(135) Spezielle Flüsse (Mindestfluss) 2:52. Spezielle Flüsse (Alternativen). Verbesserung der Laufzeit. Flüsse mit Kostenfunktion Walter Unger 14.11.2019 11:05. WS2019/20. n−1 e∈C l(e) und µ(f ) = −l(C ¯ ) und α = min v ∈V maxj=0 |C |. dn (v )−dj (v ) n−j. Wert des Min-Mean-Kreises (Zeige P α 6 0) ¯ ) = l(C ) = l(C |C |. Zeige: Es gibt Knoten w mit: dn (w ) 6 dj (w ) für alle j ∈ {0, . . . , n − 1} Sei v Knoten des Min-Mean-Kreises C .. s. s0. Sei P kürzester Kantenzug, der bei v endet. O.B.d.A. enthält P keinen Kreis. Sei p < n die Anzahl der Kanten in P. S. w r1. q2 Q. Sei w der Knoten, der auf C von v aus nach n − p Kanten liegt. Diesen Kantenzug nennen wir Q.. R. Sei R der Weg von w zu v auf C mit r Kanten. r2. q1 v. p0. P. p 00. Sei j ∈ {0, . . . , n − 1} und S ein Kantenzug minimaler Länge aus j Kanten, der an w endet.. !.

(136) Spezielle Flüsse (Mindestfluss) 2:53. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. Verbesserung der Laufzeit. Walter Unger 14.11.2019 11:05. WS2019/20. n−1 e∈C l(e) und µ(f ) = −l(C ¯ ) und α = min v ∈V maxj=0 |C |. dn (v )−dj (v ) n−j. Wert des Min-Mean-Kreises (Zeige P α 6 0) ¯ ) = l(C ) = l(C |C |. Dann gilt: dn (w ) 6 l(P) + l(Q) = dp (v ) + l(Q). s. und dp (v ) 6 dj+r (v ) 6 dj (w ) + l(R).. S. es folgt:. w. dn (w ) 6 dj (w ) + l(R) + l(Q). Q. R. v. P. p. Der Kantenzug Q. R hat Kosten 0 (wegen l(C ) = 0).. Damit gilt: dn (w ) 6 dj (w ) (für alle j ∈ {0, . . . , n − 1}).   dn (v )−dj (v ) Beachte: α = minv ∈V maxn−1 j=0 n−j Damit α 6 0.. !.

(137) Spezielle Flüsse (Mindestfluss) 2:54. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion. Verbesserung der Laufzeit. Walter Unger 14.11.2019 11:05. WS2019/20. Gesamtverfahren 1 2. Berechne die dk (v ) Werte und bestimme α. Addiere zu allen Kantenkosten um α. Damit ist der Wert des Min-Mean-Kreises 0.. 3. Transformiere die Kantenkosten um den Wert α wie in Lemma “Existenz von p” beschrieben. Die Potentiale ergeben sich aus den Werten dk (v ). Alle Kantenkosten sind nun nicht negativ. Die Kanten des Min-Mean-Cycle haben Wert 0.. 4. Lösche alle Kanten mit Wert größer 0.. 5. Suche mit Tiefensuche Kreis in den verbleibenden Kanten..

(138) Spezielle Flüsse (Mindestfluss) 2:55. Spezielle Flüsse (Alternativen). Verbesserung der Laufzeit. Flüsse mit Kostenfunktion Walter Unger 14.11.2019 11:05. Gesamtlaufzeit Theorem Der Mean-Cycle-Algorithmus hat eine Laufzeit von O(m2 · n2 · log(nL)). Beweis, siehe obige Überlegungen: n log(nL) + 1 Phasen (L Maximum der absoluten Kantenkosten). m Iterationen pro Phase. O(nm) Laufzeit pro Iteration. Theorem Der Mean-Cycle-Algorithmus hat eine Laufzeit von O(m3 · n2 · log n).. WS2019/20.

(139) Spezielle Flüsse (Mindestfluss) 2:56. Verbesserung der Laufzeit. Spezielle Flüsse (Alternativen). Flüsse mit Kostenfunktion Walter Unger 14.11.2019 11:05. WS2019/20. Literatur Ahuja, Magnanti, Orlin: Network Flows: Theory, Algorihms, and Applications, Prentice Hall, 1993. Cormen, Leiserson, Rives: Introduction to Algorithms, First Edition, MIT Press, 1990. Cormen, Leiserson, Rives: Introduction to Algorithms, Second Edition, MIT Press, 2001. Ottmann, Widmayer: Algorithmen und Datenstrukturen. BI-Wiss.-Verl. 1990..

(140) Fragen 3. Inhaltsverzeichnis. Walter Unger 14.11.2019 11:05. Fragen(Flüsse) Was ist die Laufzeit der Ford-Fulkerson Methode? Wann hat die Ford-Fulkerson Methode die maximale Laufzeit? Warum liefert die Ford-Fulkerson Methode den maximalen Fluss? Was ist die Laufzeit der Ford-Fulkerson Methode mit Breitensuche? Wie ist die Idee des Min-Cut-Max-Flow Theorems? Wie wird der Schnitt zu dem maximalen Fluss gefunden? Was ist die Idee des Algorithmus von Dinitz? Wie funktioniert die Forward-Propagation? Wie ist die Laufzeit vom Algorithmus von Dinitz? Wie ist die Begründung zur Laufzeit vom Algorithmus von Dinitz?. WS2019/20.

(141) Fragen 3. Inhaltsverzeichnis. Walter Unger 14.11.2019 11:05. Fragen(Flüsse) Wie bestimmt man Flüsse mit einem Mindestfluss auf den Kanten? Wie bestimmt man Flüsse mit einem Mindestfluss auf den Kanten, wo aber auch ein leerer Fluss erlaubt ist? Wie ist die Idee der Algorithmen zu kostenminimalen Flüssen? Was ist die Laufzeit der Algorithmen zu kostenminimalen Flüssen? Gebe die Idee zum Beweis der Laufzeit der Algorithmen zu kostenminimalen Flüssen?. WS2019/20.

(142)

Referenzen

ÄHNLICHE DOKUMENTE

Motivation und Anwendungen vielfältige Zuordnungsprobleme: Kunden auf Kundenberater Anrufe im Callcenter auf Servicemitarbeiter Heiratsvermittlung Jobs auf Maschinen Schwarzgeld

Dazu muss das Durchlaufen der ungeraden Kreise bei der Suche nach alternierenden Pfade betrachtet werden: Wird bei der Suche ein gematcher Knoten über eine Kanten, die nicht im

Daher kann der Kreis durch einen Knoten ersetzt werden.... Probleme bei

Untersuche für jede d-elementige Teilmenge der m Ungleichungen den jeweiligen Schnittpunkt (Basislösung).. Hier nun Algorithmus mit erwarteter linearer

Kann bei schweren Problemen mit ausreichender Wahrscheinlichkeit ein gutes Ergebnis erreicht werden?... 4 Inhaltsverzeichnis Walter Unger 5.12.2019

Falls eine der Basisvariablen Null ist, so schneiden sich mehr als d Hyperebenen an einem Punkt und das LP ist degeneriert.... Einleitung Simplexverfahren

Einleitung Simplexverfahren Dualität Ganzzahligkeit 5:40 Komplexität von einem Pivotschritt Walter Unger 18.12.2019 8:57

Einleitung Simplexverfahren Dualität Ganzzahligkeit 5:40 Komplexität von einem Pivotschritt Walter Unger 18.12.2019 8:55