• Keine Ergebnisse gefunden

Effiziente Algorithmen (SS2015) Kapitel 2 Weitere Flüsse Walter Unger

N/A
N/A
Protected

Academic year: 2022

Aktie "Effiziente Algorithmen (SS2015) Kapitel 2 Weitere Flüsse Walter Unger"

Copied!
142
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)Effiziente Algorithmen (SS2015) Kapitel 2 Weitere Flüsse Walter Unger Lehrstuhl für Informatik 1. 22.05.2015 13:54.

(2) Spezielle Flüsse (Mindestfluss) 2. Spezielle Flüsse (Alternativen). Inhaltsverzeichnis. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. <. Inhalt I 3. 1. Spezielle Flüsse (Mindestfluss) Mit Mindestfluss. 2. Spezielle Flüsse (Alternativen) Mit Alternativen. Flüsse mit Kostenfunktion Einleitung Idee Algorithmus Verbesserung der Laufzeit. SS2015. Z.

(3) Spezielle Flüsse (Mindestfluss) 2:1. Mit Mindestfluss. Idee. Spezielle Flüsse (Alternativen) <. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. SS2015. Z. 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] Σ=0 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∕5 ∕0 Σ = 0 0∕8∕0 0∕8∕0 8 3 ∕0 8 Pfades simuliert die Variablilität des Flusses. y x a 0∕3∕0 b 0 ∕55 0∕8∕0 0∕3∕0 ∕0 0 0∕8∕0 0 0 0 0 ∕ In unserem Beispiel kann der Fluss zwichen 5∕ 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..

(4) Spezielle Flüsse (Mindestfluss) 2:2. Spezielle Flüsse (Alternativen). Mit Mindestfluss. <. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. SS2015. Das Flussproblem mit Mindestfluss Definition (Flussproblem mit Mindestfluss) Eingabe: G = (V , E , s, t, c, c ′ ) mit: (V , E ) ist ein gerichteter Graph (n = ∣V ∣, m = ∣E ∣) s, t ∈ V mit s =/ t c ∶ E ↦ N+ c ′ ∶ E ↦ N+ Ausgabe: f ∶ E ↦ R+0 mit: ∀e ∶ c ′ (e) ≤ f (e) ≤ c(e) ∀v ∈ V ∖ {s, t} ∶ ∑(a,v )∈E f ((a, v )) = ∑(v ,a)∈E f ((v , a)) Ziel: Bestimme, ob es so einen Fluss gibt. Falls ja, dann maximiere w (f ) = ∑(s,v )∈E f ((s, v )).. Z.

(5) Spezielle Flüsse (Mindestfluss) 2:3. Spezielle Flüsse (Alternativen). Mit Mindestfluss. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. <. Lösbarkeit Es muss nicht immer eine Lösung geben. Hier ein einfaches Beispiel: s. Σ=0. [2..3]. a. [4..6]. t. SS2015. Z.

(6) Spezielle Flüsse (Mindestfluss) 2:4. Spezielle Flüsse (Alternativen). Mit Mindestfluss. <. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. SS2015. Idee. b. o. b. t. u. s′. o−u. [u..o]. x. o Σ=0. a. t. ∞. ∞ s. s. y. Σ=0. a. u. t′. Z.

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

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

(9) Spezielle Flüsse (Mindestfluss) Mit Mindestfluss. > Walter Unger 15.7.2015 11:11. <. Beispiel (warum a. (s ′ , y ). Σ=0. und. [2..3]. Flüsse mit Kostenfunktion SS2015. (x , t ′ )) [4..6]. b. c. s′ 0. 2∕ 2∕ 22∕∕20 2∕ 0. 4∕ 4∕ 4∕ 4∕ 0 0. a 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. Σ=0. 3∕6∕0 3∕6 3∕6∕0. 3∕ 3∕ 34∕40 4∕ 0. 2:7. Spezielle Flüsse (Alternativen). t′ 0. x′ 0. 0∕2∕0 2 0∕2∕0. y′ 0. 4∕6∕0 4∕6 4∕6∕0. c 0. Z.

(10) Spezielle Flüsse (Mindestfluss) 2:8. Spezielle Flüsse (Alternativen). Mit Mindestfluss. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. <. Zeige: Ô⇒ b. o. b. u. s′. x. u. t′. o Σ=0. a. a. f (s , y ) = f (x , t ′ ) = u f (a, x ) = f (y , b) = f (a, b) f (x , y ) = f (a, b) − u ′. u ≤ f (a, b) ≤ o. t. o−u. [u..o]. s. s. Σ=0. y. ∞. ∞. t. SS2015. Z.

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

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

(13) Spezielle Flüsse (Mindestfluss) 2:11. Spezielle Flüsse (Alternativen). Mit Alternativen. <. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. Beschreibung der Situation. SS2015. Z. 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. Σ =[2..2] 0. b. 2] [2.. [2..2]. c. d. a. Σ =[2..2] 0. b. 1] [1.. [1..1]. c. d c. [1... 1] Eine Kante kann nur dann einen Fluss Σ=0 [2..2] a b [1..1] haben, wenn zwei eingehende Kanten d auch ein Fluss ist. 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 15.7.2015 11:11. SS2015. Das Flussproblem mit Alternativen Definition (Flussproblem) Eingabe: G = (V , E , s, t, c, c ′ ) mit: (V , E ) ist ein gerichteter Graph (n = ∣V ∣, m = ∣E ∣) s, t ∈ V mit s =/ t c ∶ E ↦ N+ c ′ ∶ E ↦ N+ Ausgabe: f ∶ E ↦ R+0 mit: ∀e ∶ c ′ (e) ≤ f (e) ≤ c(e) oder f (e) = 0. ∀v ∈ V ∖ {s, t} ∶ ∑(a,v )∈E f ((a, v )) = ∑(v ,a)∈E f ((v , a)) Ziel: Bestimme, ob es so einen nicht trivialen Fluss gibt. Falls ja, dann maximiere w (f ) = ∑(s,v )∈E f ((s, v )).. Z.

(15) Spezielle Flüsse (Mindestfluss) 2:13. Mit Alternativen. Spezielle Flüsse (Alternativen) <. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. SS2015. Reduktion Theorem Zu einem gegeben Flussproblem G = (V , E , s, t, c, c ′ ) 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.. Z.

(16) Spezielle Flüsse (Mindestfluss) 2:14. Spezielle Flüsse (Alternativen). Mit Alternativen. Flüsse mit Kostenfunktion. <. > Walter Unger 15.7.2015 11:11. SS2015. Exact-3-SAT Definition Eine Boolesche Formel F ist in Exact-3-KNF: F(x1 , x2 , ..., xr ). =. ⋀i=1 ci. (Klauseln). ci. =. (li1 ∨ li2 ∨ li3 ). (Literale). lij. =. {. k. ¬xl xl. oder } für ein l ∶ 1 ≤ l ≤ r. ∀ 1≤i ≤k ∀ 1 ≤ i ≤ k und ∀ 1≤j ≤3. Eine Belegung ist eine Funktion W ∶ {x1 , x2 , ..., xr } ↦ {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.. Z.

(17) Spezielle Flüsse (Mindestfluss) 2:15. Mit Alternativen. Spezielle Flüsse (Alternativen). 1∕3. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. <. SS2015. Erste Variable x0. a0 a0. [2..2]. a1 a1. [2..2]. a2 a2. aal3l a3. b2 b2. bbl3l b3. ] ..2. s. [2..2]. Σ=0. [2 x 00 [2. ..2 ] b0 b0. [2..2]. b1 b1. [2..2]. Z.

(18) Spezielle Flüsse (Mindestfluss) 2:15. Mit Alternativen. Spezielle Flüsse (Alternativen). 2∕3. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. <. SS2015. Erste Variable x0. a0 a0. [2..2]. a1 a1. [2..2]. a2 a2. aal3l a3. b2 b2. bbl3l b3. ] ..2. s. [2..2]. Σ=0. [2 x 00 [2. ..2 ] b0 b0. [2..2]. b1 b1. [2..2]. Z.

(19) Spezielle Flüsse (Mindestfluss) 2:15. Mit Alternativen. Spezielle Flüsse (Alternativen). 3∕3. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. <. SS2015. Erste Variable x0. a0 a0. [2..2]. a1 a1. [2..2]. a2 a2. aal3l a3. b2 b2. bbl3l b3. ] ..2. s. [2..2]. Σ=0. [2 x 00 [2. ..2 ] b0 b0. [2..2]. b1 b1. [2..2]. Z.

(20) Spezielle Flüsse (Mindestfluss) 2:16. Mit Alternativen. Spezielle Flüsse (Alternativen). 1∕4. Flüsse mit Kostenfunktion. <. > Walter Unger 15.7.2015 11:11. a2 a2. aall. SS2015. Zweite Variable x1 [2..2]. a1 a1. [2..2]. [2 .. [2 .. .2 ]. a0 a0. s. [2..2]. ] .2. ] .2. Σ=0. [2 xx11. . [2. xx00. .2 ]. . [2 b0 b0. [2..2]. b1 b1. [2..2]. b2 b2. b bll. c0 c0. [2..2]. c1 c1. d0 d0. [2..2]. d1 d1. ] ..2. [2 .. .2 ]. Z.

(21) Spezielle Flüsse (Mindestfluss) 2:16. Mit Alternativen. Spezielle Flüsse (Alternativen). 2∕4. Flüsse mit Kostenfunktion. <. > Walter Unger 15.7.2015 11:11. a2 a2. aall. SS2015. Zweite Variable x1 [2..2]. a1 a1. [2..2]. [2 .. [2 .. .2 ]. a0 a0. s. [2..2]. ] .2. ] .2. Σ=0. [2 xx11. . [2. xx00. .2 ]. . [2 b0 b0. [2..2]. b1 b1. [2..2]. b2 b2. b bll. c0 c0. [2..2]. c1 c1. d0 d0. [2..2]. d1 d1. ] ..2. [2 .. .2 ]. Z.

(22) Spezielle Flüsse (Mindestfluss) 2:16. Mit Alternativen. Spezielle Flüsse (Alternativen). 3∕4. Flüsse mit Kostenfunktion. <. > Walter Unger 15.7.2015 11:11. a2 a2. aall. SS2015. Zweite Variable x1 [2..2]. a1 a1. [2..2]. [2 .. [2 .. .2 ]. a0 a0. s. [2..2]. ] .2. ] .2. Σ=0. [2 xx11. . [2. xx00. .2 ]. . [2 b0 b0. [2..2]. b1 b1. [2..2]. b2 b2. b bll. c0 c0. [2..2]. c1 c1. d0 d0. [2..2]. d1 d1. ] ..2. [2 .. .2 ]. Z.

(23) Spezielle Flüsse (Mindestfluss) 2:16. Mit Alternativen. Spezielle Flüsse (Alternativen). 4∕4. Flüsse mit Kostenfunktion. <. > Walter Unger 15.7.2015 11:11. a2 a2. aall. SS2015. Zweite Variable x1 [2..2]. a1 a1. [2..2]. [2 .. [2 .. .2 ]. a0 a0. s. [2..2]. ] .2. ] .2. Σ=0. [2 xx11. . [2. xx00. .2 ]. . [2 b0 b0. [2..2]. b1 b1. [2..2]. b2 b2. b bll. c0 c0. [2..2]. c1 c1. d0 d0. [2..2]. d1 d1. ] ..2. [2 .. .2 ]. Z.

(24) Spezielle Flüsse (Mindestfluss) 2:17. Mit Alternativen. Spezielle Flüsse (Alternativen). 1∕5. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. <. SS2015. Erste zwei Klauseln k0 und k1 a0 a0. k0 k0. [2..2]. b0 b0. [2..2]. b1 b1. c0 c0. [2..2]. c1 c1. 2]. [2 ... [2 ... k1 k1. [2..2]. b2 b2. [2..2]. b3 b3. ] .2. .. [2. a3 a3. . [2 c2 c2. [2..2]. c3 c3. 2]. [2..2]. . [2. ] .2. Σ=0. [2..2]. [2..2]. 2]. .2 ]. . [2. yyll. a2 a2. [2 .. .2 ]. [2. .2] .2] [2.. a1 a1. [2 .. xxll. [2..2]. ] .2. k2 k2. Z.

(25) Spezielle Flüsse (Mindestfluss) 2:17. Mit Alternativen. Spezielle Flüsse (Alternativen). 2∕5. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. <. SS2015. Erste zwei Klauseln k0 und k1 a0 a0. k0 k0. [2..2]. b0 b0. [2..2]. b1 b1. c0 c0. [2..2]. c1 c1. 2]. [2 ... [2 ... k1 k1. [2..2]. b2 b2. [2..2]. b3 b3. ] .2. .. [2. a3 a3. . [2 c2 c2. [2..2]. c3 c3. 2]. [2..2]. . [2. ] .2. Σ=0. [2..2]. [2..2]. 2]. .2 ]. . [2. yyll. a2 a2. [2 .. .2 ]. [2. .2] .2] [2.. a1 a1. [2 .. xxll. [2..2]. ] .2. k2 k2. Z.

(26) Spezielle Flüsse (Mindestfluss) 2:17. Mit Alternativen. Spezielle Flüsse (Alternativen). 3∕5. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. <. SS2015. Erste zwei Klauseln k0 und k1 a0 a0. k0 k0. [2..2]. b0 b0. [2..2]. b1 b1. c0 c0. [2..2]. c1 c1. 2]. [2 ... [2 ... k1 k1. [2..2]. b2 b2. [2..2]. b3 b3. ] .2. .. [2. a3 a3. . [2 c2 c2. [2..2]. c3 c3. 2]. [2..2]. . [2. ] .2. Σ=0. [2..2]. [2..2]. 2]. .2 ]. . [2. yyll. a2 a2. [2 .. .2 ]. [2. .2] .2] [2.. a1 a1. [2 .. xxll. [2..2]. ] .2. k2 k2. Z.

(27) Spezielle Flüsse (Mindestfluss) 2:17. Mit Alternativen. Spezielle Flüsse (Alternativen). 4∕5. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. <. SS2015. Erste zwei Klauseln k0 und k1 a0 a0. k0 k0. [2..2]. b0 b0. [2..2]. b1 b1. c0 c0. [2..2]. c1 c1. 2]. [2 ... [2 ... k1 k1. [2..2]. b2 b2. [2..2]. b3 b3. ] .2. .. [2. a3 a3. . [2 c2 c2. [2..2]. c3 c3. 2]. [2..2]. . [2. ] .2. Σ=0. [2..2]. [2..2]. 2]. .2 ]. . [2. yyll. a2 a2. [2 .. .2 ]. [2. .2] .2] [2.. a1 a1. [2 .. xxll. [2..2]. ] .2. k2 k2. Z.

(28) Spezielle Flüsse (Mindestfluss) 2:17. Mit Alternativen. Spezielle Flüsse (Alternativen). 5∕5. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. <. SS2015. Erste zwei Klauseln k0 und k1 a0 a0. k0 k0. [2..2]. b0 b0. [2..2]. b1 b1. c0 c0. [2..2]. c1 c1. 2]. [2 ... [2 ... k1 k1. [2..2]. b2 b2. [2..2]. b3 b3. ] .2. .. [2. a3 a3. . [2 c2 c2. [2..2]. c3 c3. 2]. [2..2]. . [2. ] .2. Σ=0. [2..2]. [2..2]. 2]. .2 ]. . [2. yyll. a2 a2. [2 .. .2 ]. [2. .2] .2] [2.. a1 a1. [2 .. xxll. [2..2]. ] .2. k2 k2. Z.

(29) Spezielle Flüsse (Mindestfluss) 2:18. Mit Alternativen. Spezielle Flüsse (Alternativen). 1∕2. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. <. SS2015. Anpassung: Variable xl in Klausel ki. xxll. s. ] [2..2 [2..2 ]. a0 a0. [2..2]. b0 b0. [1..1]. [2..2]. b1 b1. [2..2]. [1..1] [2..2]. y. c0 c0. [1..1]. c1 c1. [1..1] Σ=0. ] [2..2 b2 b2. xxtt. b bll. .2 ]. [2..2]. [2 ..2. [2..2 ]. [2 .. ] .2. k kii. aall. [1..1]. x. . [2 xn xn. a2 a2. [1..1]. a1 a1. d0 d0. [2..2]. d1 d1. [2..2] ] ..2 [2. ]. e0 e0. [2..2]. e1 e1. k kjj. t. Z.

(30) Spezielle Flüsse (Mindestfluss) 2:18. Mit Alternativen. Spezielle Flüsse (Alternativen). 2∕2. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. <. SS2015. Anpassung: Variable xl in Klausel ki. xxll. s. ] [2..2 [2..2 ]. a0 a0. [2..2]. b0 b0. [1..1]. [2..2]. b1 b1. [2..2]. [1..1] [2..2]. y. c0 c0. [1..1]. c1 c1. [1..1] Σ=0. ] [2..2 b2 b2. xxtt. b bll. .2 ]. [2..2]. [2 ..2. [2..2 ]. [2 .. ] .2. k kii. aall. [1..1]. x. . [2 xn xn. a2 a2. [1..1]. a1 a1. d0 d0. [2..2]. d1 d1. [2..2] ] ..2 [2. ]. e0 e0. [2..2]. e1 e1. k kjj. t. Z.

(31) Spezielle Flüsse (Mindestfluss) 2:19. Mit Alternativen. Spezielle Flüsse (Alternativen). 1∕2. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. <. SS2015. Alternative Anpassung: Variable xl in Klausel ki. xxll. s. ] [2..2 [2..2 ]. a0 a0. [2..2]. b0 b0. [1..1]. a1 a1. [2..2]. b1 b1. [2..2]. a2 a2. aall. [2..2 ] ] [2..2. b2 b2. xxtt. b bll. [1 .. ] .1. .1 ]. . [1. c0 c0. [1..1]. c1 c1 [2 .. .2 ]. ] .2. . [2 xn xn. k kii. [2..2]. [2 ..2 Σ=0. d0 d0. [2..2]. d1 d1. [2..2] ] ..2 [2. ]. e0 e0. [2..2]. e1 e1. k kjj. t. Z.

(32) Spezielle Flüsse (Mindestfluss) 2:19. Mit Alternativen. Spezielle Flüsse (Alternativen). 2∕2. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. <. SS2015. Alternative Anpassung: Variable xl in Klausel ki. xxll. s. ] [2..2 [2..2 ]. a0 a0. [2..2]. b0 b0. [1..1]. a1 a1. [2..2]. b1 b1. [2..2]. a2 a2. aall. [2..2 ] ] [2..2. b2 b2. xxtt. b bll. [1 .. ] .1. .1 ]. . [1. c0 c0. [1..1]. c1 c1 [2 .. .2 ]. ] .2. . [2 xn xn. k kii. [2..2]. [2 ..2 Σ=0. d0 d0. [2..2]. d1 d1. [2..2] ] ..2 [2. ]. e0 e0. [2..2]. e1 e1. k kjj. t. Z.

(33) Spezielle Flüsse (Mindestfluss) 2:20. Mit Alternativen. Spezielle Flüsse (Alternativen) <. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. SS2015. Konstruktion 1. Z. 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.. 5. Falls es eine Belegung der Variablen gibt, die die Formel erfüllt, dann: geht ein Fluss von 2 durch jeweils den Zweig, der der Belegung der Variablen entspricht..

(34) Spezielle Flüsse (Mindestfluss) 2:21. Spezielle Flüsse (Alternativen). Einleitung. Flüsse mit Kostenfunktion. <. > Walter Unger 15.7.2015 11:11. SS2015. 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.. Z.

(35) Spezielle Flüsse (Mindestfluss) 2:22. Spezielle Flüsse (Alternativen). Einleitung. <. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. SS2015. 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 =/ t c ∶ E ↦ N+ l ∶ E ↦ Z und W ∈ N Ausgabe: f ∶ E ↦ R+0 mit: ∀e ∶ f (e) ≤ c(e). ∀v ∈ V ∖ {s, t} ∶ ∑(a,v )∈E f ((a, v )) = ∑(v ,a)∈E f ((v , a)) Ziel: Bestimme Fluss f 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 }.. Z.

(36) Spezielle Flüsse (Mindestfluss) 2:23. Einleitung. Erste Ideen. Spezielle Flüsse (Alternativen) <. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. SS2015. Z. 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 15.7.2015 11:11. SS2015. 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 ′ . Füge Kante e ′ = (s ′ , s) mit c(e ′ ) = W hinzu. Damit wird der maximale Fluss durche W begrenzt.. Z.

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

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

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

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

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

(43) Spezielle Flüsse (Mindestfluss) 2:25. Einleitung. Spezielle Flüsse (Alternativen). 6∕10. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. <. 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. b. 1∕6 1:1 t 5∕5 5 9:4. SS2015. Z.

(44) Spezielle Flüsse (Mindestfluss) 2:25. Einleitung. Spezielle Flüsse (Alternativen). 7∕10. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. <. 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 t 5∕5 5 9:4. a 5∕ 2:1 6 0. b. SS2015. Z.

(45) Spezielle Flüsse (Mindestfluss) 2:25. Einleitung. Spezielle Flüsse (Alternativen). 8∕10. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. <. 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. 4. 4. 5∕ 2:1 6 0. c 4. 4. b. 1∕6 1:1 t 5∕5 5 9:4. SS2015. Z.

(46) Spezielle Flüsse (Mindestfluss) 2:25. Einleitung. Spezielle Flüsse (Alternativen). 9∕10. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. <. 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.. 6∕6 3:18. s Σ = 44. 5∕5 0 2:1. a. 4. 4. 1∕6 2:2. c 4. 4. b. 5∕6 1:5 1∕5 9:9. t. SS2015. Z.

(47) Spezielle Flüsse (Mindestfluss) 2:25. Einleitung. Spezielle Flüsse (Alternativen). 10∕10. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. <. 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.. 6∕6 3:18. s Σ = 44. 5∕5 0 2:1. c 5∕6 1:5 1∕5 9:9. a 1∕6 2:2. b. t. SS2015. Z.

(48) Spezielle Flüsse (Mindestfluss) 2:26. Einleitung. Spezielle Flüsse (Alternativen). 1∕25. <. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. SS2015. Beispiel (W = 5) 5 3. 5 4. a. b. 1. 2. s. 5 4. d. 5 9. c. 5 4. 3 8 Σ=0. 1 1. 5 3. t. Z.

(49) Spezielle Flüsse (Mindestfluss) 2:26. Einleitung. Spezielle Flüsse (Alternativen). 2∕25. <. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. SS2015. Beispiel (W = 5) 5 3. s. 5 4. a. 3. 1. 2. b. c. 3. 5 4. d. 5 9. Σ=0. 5 4. 3 8. 1 1. 3. 5 3. t. Z.

(50) Spezielle Flüsse (Mindestfluss) 2:26. Einleitung. Spezielle Flüsse (Alternativen). 3∕25. <. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. SS2015. Beispiel (W = 5) 5 3. s. 5 4. a. 3. 1. 2. b. 3. 3∕5 4:12. d. 5 9. c. 5 4. 3∕3 8:24 Σ = 45. 1 1. 3. 3∕5 3:9. t. Z.

(51) Spezielle Flüsse (Mindestfluss) 2:26. Einleitung. Spezielle Flüsse (Alternativen). 4∕25. <. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. SS2015. Beispiel (W = 5) 5 3. 5 4. a. b. 1. 2. s. 3∕5 4:12. d. 5 9. c. 5 4. 3∕3 8:24 Σ = 45. 1 1. 3∕5 3:9. t. Z.

(52) Spezielle Flüsse (Mindestfluss) 2:26. Einleitung. Spezielle Flüsse (Alternativen). 5∕25. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. <. SS2015. Beispiel (W = 5) 5 3. 2. a. 5 4. 2. b. 2. 1. 2. s. 3∕5 4:12. d. 5 9. c. 5 4. 3∕3 8:24 Σ = 45. 1 1. 3∕5 3:9. t. Z.

(53) Spezielle Flüsse (Mindestfluss) 2:26. Einleitung. Spezielle Flüsse (Alternativen). 6∕25. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. <. SS2015. Beispiel (W = 5) 2∕5 3:6. 2. a. 2∕5 4:8. 2. b. 2. 1. 2. s. 3∕5 4:12. 2∕5 9:18. c. 5 4. 3∕3 8:24 Σ = 77. 1 1. d. 3∕5 3:9. t. Z.

(54) Spezielle Flüsse (Mindestfluss) 2:26. Einleitung. Spezielle Flüsse (Alternativen). 7∕25. <. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. SS2015. 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. 5 4. 3∕3 8:24 Σ = 77. 1 1. d. 3∕5 3:9. t. Z.

(55) Spezielle Flüsse (Mindestfluss) 2:26. Einleitung. Spezielle Flüsse (Alternativen). 8∕25. <. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. SS2015. Beispiel (W = 5) 2∕5 3:6. 2∕5 4:8. a. b. 1. 1. 2. s. 1. 3∕5 4:12. 2∕5 9:18. c. 5 4. 3∕3 8:24 Σ = 77. 1 1. d. 1. 3∕5 3:9. t. Z.

(56) Spezielle Flüsse (Mindestfluss) 2:26. Einleitung. Spezielle Flüsse (Alternativen). 9∕25. <. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. SS2015. Beispiel (W = 5) 2∕5 3:6. 2∕5 4:8. a. b. 1. 1. 2. s. 1. 2∕5 4:8. 2∕5 9:18. c. 5 4. 2∕3 8:16 Σ = 62. 1 1. d. 1. 2∕5 3:6. t. Z.

(57) Spezielle Flüsse (Mindestfluss) 2:26. Einleitung. Spezielle Flüsse (Alternativen). 10∕25. <. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. SS2015. 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 Σ = 62. 1 1. d. 2∕5 3:6. t. Z.

(58) Spezielle Flüsse (Mindestfluss) 2:26. Einleitung. Spezielle Flüsse (Alternativen). 11∕25. <. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. SS2015. 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 Σ = 62. 1 1. d. 1. 2∕5 3:6. t. Z.

(59) Spezielle Flüsse (Mindestfluss) 2:26. Einleitung. Spezielle Flüsse (Alternativen). 12∕25. <. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. SS2015. 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. Z.

(60) Spezielle Flüsse (Mindestfluss) 2:26. Einleitung. Spezielle Flüsse (Alternativen). 13∕25. <. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. SS2015. 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. Z.

(61) Spezielle Flüsse (Mindestfluss) 2:26. Einleitung. Spezielle Flüsse (Alternativen). 14∕25. <. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. SS2015. Beispiel (W = 5) 2∕5 3:6. a. 2. 1∕ 1:1 1. 2∕5 4:8. b. 1. 2. 2. 2. 5 4. s. c. 2∕5 4:8. d. 2∕5 9:18. 2∕3 8:16 Σ = 66. 3∕5 3:9. t. Z.

(62) Spezielle Flüsse (Mindestfluss) 2:26. Einleitung. Spezielle Flüsse (Alternativen). 15∕25. <. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. SS2015. Beispiel (W = 5) 5 3. a. 2. 1∕ 1:1 1. 5 4. b. 1. 2. 2. 2. 5 4. s. c. 2∕5 4:8. d. 5 9. 2∕3 8:16 Σ = 34. 3∕5 3:9. t. Z.

(63) Spezielle Flüsse (Mindestfluss) 2:26. Einleitung. Spezielle Flüsse (Alternativen). 16∕25. <. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. SS2015. Beispiel (W = 5) 5 3. 5 4. a. b. 1. 2. s. 2∕5 4:8. d. 5 9. c. 5 4. 2∕3 8:16 Σ = 34. 1∕ 1:1 1. 3∕5 3:9. t. Z.

(64) Spezielle Flüsse (Mindestfluss) 2:26. Einleitung. Spezielle Flüsse (Alternativen). 17∕25. <. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. SS2015. Beispiel (W = 5) s. 5 3. 2. 5 4. a. 2. 1. 2. b. 2∕5 4:8. d. 5 9. c. 5 4. 2∕3 8:16 Σ = 34. 1∕ 1:1 1. 2. 3∕5 3:9. t. Z.

(65) Spezielle Flüsse (Mindestfluss) 2:26. Einleitung. Spezielle Flüsse (Alternativen). 18∕25. <. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. SS2015. Beispiel (W = 5) s. 2∕5 3:6. 2. 5 4. a. 2. 1. 2. b. 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. Z.

(66) Spezielle Flüsse (Mindestfluss) 2:26. Einleitung. Spezielle Flüsse (Alternativen). 19∕25. <. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. SS2015. 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. Z.

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

(68) Spezielle Flüsse (Mindestfluss) 2:26. Einleitung. Spezielle Flüsse (Alternativen). 21∕25. <. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. SS2015. Beispiel (W = 5) 2∕5 3:6. 5 4. a. b. 1. 2. 2. s. 2. 5 4. d. 5 9. c. 2∕5 4:8. 3 8 Σ = 24. 1∕ 1:1 1. 2. 3∕5 3:9. t. Z.

(69) Spezielle Flüsse (Mindestfluss) 2:26. Einleitung. Spezielle Flüsse (Alternativen). 22∕25. <. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. SS2015. Beispiel (W = 5) 2∕5 3:6. 5 4. a. b. 1. 2. s. 5 4. d. 5 9. c. 2∕5 4:8. 3 8 Σ = 24. 1∕ 1:1 1. 3∕5 3:9. t. Z.

(70) Spezielle Flüsse (Mindestfluss) 2:26. Einleitung. Spezielle Flüsse (Alternativen). 23∕25. <. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. SS2015. Beispiel (W = 5) s. 2∕5 3:6. 2. 5 4. a. 2. 1. 2. b. 5 4. d. 5 9. c. 2∕5 4:8. 3 8 Σ = 24. 1∕ 1:1 1. 2. 3∕5 3:9. t. Z.

(71) Spezielle Flüsse (Mindestfluss) 2:26. Einleitung. Spezielle Flüsse (Alternativen). 24∕25. <. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. SS2015. Beispiel (W = 5) s. 4∕5 3:12. 2. 5 4. a. 2. 1. 2. b. 5 4. d. 5 9. c. 4∕5 4:16. 3 8 Σ = 44. 1∕ 1:1 1. 2. 5∕5 3:15. t. Z.

(72) Spezielle Flüsse (Mindestfluss) 2:26. Einleitung. Spezielle Flüsse (Alternativen). 25∕25. <. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. SS2015. Beispiel (W = 5) 4∕5 3:12. 5 4. a. b. 1. 2. s. 5 4. d. 5 9. c. 4∕5 4:16. 3 8 Σ = 44. 1∕ 1:1 1. 5∕5 3:15. t. Z.

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

(74) Spezielle Flüsse (Mindestfluss) 2:28. Idee. Spezielle Flüsse (Alternativen). 1∕16. <. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. SS2015. Beispiel mit Kreisen (W = 5) 5 3. 5 4. a. b. 1. 2. s. 5 4. d. 5 9. c. 5 4. 3 8 Σ=0. 1 1. 5 3. t. Z.

(75) Spezielle Flüsse (Mindestfluss) 2:28. Idee. Spezielle Flüsse (Alternativen). 2∕16. <. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. SS2015. Beispiel mit Kreisen (W = 5) 5 3. s. 5 4. a. 3. 1. 2. b. c. 3. 5 4. d. 5 9. Σ=0. 5 4. 3 8. 1 1. 3. 5 3. t. Z.

(76) Spezielle Flüsse (Mindestfluss) 2:28. Idee. Spezielle Flüsse (Alternativen). 3∕16. <. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. SS2015. Beispiel mit Kreisen (W = 5) 5 3. s. 5 4. a. 3. 1. 2. b. 3. 3∕5 4:12. d. 5 9. c. 5 4. 3∕3 8:24 Σ = 45. 1 1. 3. 3∕5 3:9. t. Z.

(77) Spezielle Flüsse (Mindestfluss) 2:28. Idee. Spezielle Flüsse (Alternativen). 4∕16. <. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. SS2015. Beispiel mit Kreisen (W = 5) 5 3. 5 4. a. b. 1. 2. s. 3∕5 4:12. d. 5 9. c. 5 4. 3∕3 8:24 Σ = 45. 1 1. 3∕5 3:9. t. Z.

(78) Spezielle Flüsse (Mindestfluss) 2:28. Idee. Spezielle Flüsse (Alternativen). 5∕16. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. <. SS2015. Beispiel mit Kreisen (W = 5) 5 3. 2. a. 5 4. 2. b. 2. 1. 2. s. 3∕5 4:12. d. 5 9. c. 5 4. 3∕3 8:24 Σ = 45. 1 1. 3∕5 3:9. t. Z.

(79) Spezielle Flüsse (Mindestfluss) 2:28. Idee. Spezielle Flüsse (Alternativen). 6∕16. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. <. SS2015. Beispiel mit Kreisen (W = 5) 2∕5 3:6. 2. a. 2∕5 4:8. 2. b. 2. 1. 2. s. 3∕5 4:12. 2∕5 9:18. c. 5 4. 3∕3 8:24 Σ = 77. 1 1. d. 3∕5 3:9. t. Z.

(80) Spezielle Flüsse (Mindestfluss) 2:28. Idee. Spezielle Flüsse (Alternativen). 7∕16. <. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. SS2015. 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. 5 4. 3∕3 8:24 Σ = 77. 1 1. d. 3∕5 3:9. t. Z.

(81) Spezielle Flüsse (Mindestfluss) 2:28. Idee. Spezielle Flüsse (Alternativen). 8∕16. <. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. SS2015. Beispiel mit Kreisen (W = 5) 2∕5 3:6. s. 2∕5 4:8. a. 2 1. 1. 1. b. 1. 3∕5 4:12. 2∕5 9:18. c. 5 4. 3∕3 8:24 Σ = 77. 1 1. d. 3∕5 3:9. t. Z.

(82) Spezielle Flüsse (Mindestfluss) 2:28. Idee. Spezielle Flüsse (Alternativen). 9∕16. <. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. SS2015. Beispiel mit Kreisen (W = 5) 2∕5 3:6. s. 2∕5 4:8. a. 2 1. 1. 1. b. c. 1. 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. Z.

(83) Spezielle Flüsse (Mindestfluss) 2:28. Idee. Spezielle Flüsse (Alternativen). 10∕16. <. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. SS2015. 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. Z.

(84) Spezielle Flüsse (Mindestfluss) 2:28. Idee. Spezielle Flüsse (Alternativen). 11∕16. <. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. SS2015. Beispiel mit Kreisen (W = 5) s. 2∕5 3:6. 2. 2∕5 4:8. a. 2. 1. 2. 2. b. 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. Z.

(85) Spezielle Flüsse (Mindestfluss) 2:28. Idee. Spezielle Flüsse (Alternativen). 12∕16. <. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. SS2015. Beispiel mit Kreisen (W = 5) s. 4∕5 3:12. 2. 2∕5 4:8. a. 2. 1. 2. 2. b. 2. 5 4. d. 2∕5 9:18. c. 2∕5 4:8. 3 8 Σ = 56. 1∕ 1:1 1. 3∕5 3:9. t. Z.

(86) Spezielle Flüsse (Mindestfluss) 2:28. Idee. Spezielle Flüsse (Alternativen). 13∕16. <. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. SS2015. Beispiel mit Kreisen (W = 5) 4∕5 3:12. 2∕5 4:8. a. b. 1. 2. s. 5 4. d. 2∕5 9:18. c. 2∕5 4:8. 3 8 Σ = 56. 1∕ 1:1 1. 3∕5 3:9. t. Z.

(87) Spezielle Flüsse (Mindestfluss) 2:28. Idee. Spezielle Flüsse (Alternativen). 14∕16. <. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. SS2015. Beispiel mit Kreisen (W = 5) 4∕5 3:12. s. a. 2. 2∕5 4:8. 2. 1. 2. 2. b. 5 4. d. 2∕5 9:18. c. 2∕5 4:8. 3 8 Σ = 56. 1∕ 1:1 1. 2. 3∕5 3:9. t. Z.

(88) Spezielle Flüsse (Mindestfluss) 2:28. Idee. Spezielle Flüsse (Alternativen). 15∕16. <. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. SS2015. Beispiel mit Kreisen (W = 5) 4∕5 3:12. s. a. 2. 5 4. 2. 1. 2. 2. b. 5 4. d. 5 9. c. 4∕5 4:16. 3 8 Σ = 44. 1∕ 1:1 1. 2. 5∕5 3:15. t. Z.

(89) Spezielle Flüsse (Mindestfluss) 2:28. Idee. Spezielle Flüsse (Alternativen). 16∕16. <. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. SS2015. Beispiel mit Kreisen (W = 5) 4∕5 3:12. 5 4. a. b. 1. 2. s. 5 4. d. 5 9. c. 4∕5 4:16. 3 8 Σ = 44. 1∕ 1:1 1. 5∕5 3:15. t. Z.

(90) Spezielle Flüsse (Mindestfluss) 2:29. Spezielle Flüsse (Alternativen). Idee. <. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. SS2015. 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.. Z.

(91) Spezielle Flüsse (Mindestfluss) 2:30. Spezielle Flüsse (Alternativen). Idee. <. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. SS2015. Definitionen Gegeben G = (V , E , s, t, c, l) und Restnetzwerk Gf = (V ′ , E ′ , s, t, c ′ , l ′ ). c ′ (e) = c(e) für e ∈ E ∩ E ′ c ′ (a, b) = c(b, a) und l ′ (a, b) = −l(b, a) für (a, b) ∈ E ′ ∖ E ′ f ′ ist eine Zirkulation, gdw.: ∀v ∈ V ∶ fin′ (v ) = fout (v ).. Wert einer Zirkulation f ′ über Schnitt (S, T ): f ′ (S, T ) =. ∑. f ′ (v , w ) −. (v ,w )∈E ,v ∈S,w ∈T. ∑ (w ,v )∈E ,v ∈S,w ∈T. w (f ′ ) = f ′ ({s}, V ∖ {s}). Lemma Es gilt: w (f ′ ) = 0 und für jeden Schnitt (S, T ) gilt: f ′ (S, T ) = 0. Beweis: Flusserhaltung und Induktion über Größe von S.. f ′ (w , v ).. Z.

(92) Spezielle Flüsse (Mindestfluss) 2:31. Spezielle Flüsse (Alternativen). Idee. Flüsse mit Kostenfunktion. <. > Walter Unger 15.7.2015 11:11. Zirkulation und Kostenminimalität. SS2015. Z. 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 ′ (e) = f ∗ (e) − f (e). f ′ ist dann zyklischer Fluss. f ′ wird durch höchstens m′ ≤ 2m viele Kreisflüsse fi ′ (1 ≤ i ≤ m′ ) gebildet. Damit gilt: l(f ′ ) = l(f ∗ ) − l(f ) = ∑1≤i≤m′ l(fi ′ ) Damit existiert j mit l(fj′ ) < 0..

(93) Spezielle Flüsse (Mindestfluss) 2:32. Spezielle Flüsse (Alternativen). Algorithmus. <. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. SS2015. 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 ′ mit w (f ′ ) = W . Solange es in Gf einen negativen Kreis C gibt: 1. f = f + f ′ (C ).. Es gilt: w (f + f ′ (C )) = w (f ) + w (f ′ (C )) = w (f ) = W . D.h. der Wert des Flusses bleibt gleich. Es gilt: l(f + f ′ (C )) = l(f ) + l(f ′ (C )) < l(f ). D.h. die Kosten verringern sich. Theorem Der obige Algorithmus bestimmt einen kostenminimalen Fluss.. Z.

(94) Spezielle Flüsse (Mindestfluss) 2:33. Algorithmus. Spezielle Flüsse (Alternativen). 1∕17. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. <. 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. Σ=0. 100 8. 100 8. a. SS2015. Z.

(95) Spezielle Flüsse (Mindestfluss) 2:33. Algorithmus. Spezielle Flüsse (Alternativen). 2∕17. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. <. 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. SS2015. Z.

(96) Spezielle Flüsse (Mindestfluss) 2:33. Algorithmus. Spezielle Flüsse (Alternativen). 3∕17. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. <. 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. Σ = 1600. 100 ∕ 8:8 100 00. 0 ∕10 0 0 1 :800 8. a. 100. t. SS2015. Z.

(97) Spezielle Flüsse (Mindestfluss) 2:33. Algorithmus. Spezielle Flüsse (Alternativen). 4∕17. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. <. Beispiel zur Laufzeit (W = 100) Bei schlecht gewählten Kreisen kann die Laufzeit sehr lang werden.. b 1 4. 100 1. s. Σ = 1600. 100 ∕ 8:8 100 00. 100 1 0 ∕10 0 0 1 :800 8. a. t. SS2015. Z.

(98) Spezielle Flüsse (Mindestfluss) 2:33. Algorithmus. Spezielle Flüsse (Alternativen). 5∕17. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. <. Beispiel zur Laufzeit (W = 100) Bei schlecht gewählten Kreisen kann die Laufzeit sehr lang werden.. b 100 1. 1. 1 4. 100 1. Σ = 1600. 100 ∕ 8:8 100 00. 1. s. a. 1. 0 ∕10 0 0 1 :800 8. t. SS2015. Z.

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

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

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

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

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

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

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

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

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

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

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

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

(111) Spezielle Flüsse (Mindestfluss) 2:34. Algorithmus. Spezielle Flüsse (Alternativen). 1∕7. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. <. 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. Σ=0. 100 8. 100 8. a. SS2015. Z.

(112) Spezielle Flüsse (Mindestfluss) 2:34. Algorithmus. Spezielle Flüsse (Alternativen). 2∕7. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. <. 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. SS2015. Z.

(113) Spezielle Flüsse (Mindestfluss) 2:34. Algorithmus. Spezielle Flüsse (Alternativen). 3∕7. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. <. 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. Σ = 1600. 100 ∕ 8:8 100 00. 0 ∕10 0 0 1 :800 8. a. 100. t. SS2015. Z.

(114) Spezielle Flüsse (Mindestfluss) 2:34. Algorithmus. Spezielle Flüsse (Alternativen). 4∕7. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. <. Nochmal Beispiel zur Laufzeit (W = 100) Bei gut gewählten Kreisen kann die Laufzeit ggf. besser sein.. b 1 4. 100 1. s. Σ = 1600. 100 ∕ 8:8 100 00. 100 1 0 ∕10 0 0 1 :800 8. a. t. SS2015. Z.

(115) Spezielle Flüsse (Mindestfluss) 2:34. Algorithmus. Spezielle Flüsse (Alternativen). 5∕7. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. <. 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. Σ = 1600. 100 ∕ 8:8 100 00. 100. a. 0 ∕10 0 0 1 :800 8. t. SS2015. Z.

(116) Spezielle Flüsse (Mindestfluss) 2:34. Algorithmus. Spezielle Flüsse (Alternativen). 6∕7. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. <. Nochmal Beispiel zur Laufzeit (W = 100) Bei gut gewählten Kreisen kann die Laufzeit ggf. besser sein.. s. b 100. 1 4. 0 ∕10 100 :100 1 100 100. Σ = 200. 100 8. 100. a. 100 ∕ 1:1 100 00 100 8. t. SS2015. Z.

(117) Spezielle Flüsse (Mindestfluss) 2:34. Algorithmus. Spezielle Flüsse (Alternativen). 7∕7. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. <. Nochmal Beispiel zur Laufzeit (W = 100) Bei gut gewählten Kreisen kann die Laufzeit ggf. besser sein.. b 1 4. 0 ∕10 100 :100 1. s. Σ = 200. 100 ∕ 1:1 100 00 100 8. 100 8. a. t. SS2015. Z.

(118) Spezielle Flüsse (Mindestfluss) 2:35. Verbesserung der Laufzeit. Spezielle Flüsse (Alternativen) <. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. Suche nach guten verbessernden Kreise. SS2015. Z. 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). Verbesserung der Laufzeit. <. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. SS2015. Laufzeit und Verbesserung selbiger. Z. 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 ) ∑e∈C l(e) = ∣C ∣ ∣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. Verbesserung der Laufzeit. Spezielle Flüsse (Alternativen) <. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. SS2015. Mean-Algorithmus (Min-Cost-Flow) l(C ). 1. Eingabe: G = (V , E , s, t, c, l), W .. 2. Bestimme Fluss f mit w (f ) = W .. 3. Solange es in Gf einen negativen Kreis C gibt, 1. Wähle C mit l̄(C ) minimal. ′ 1 Bestimme maximalen zyklischen Fluss f auf C . ′ 2 f = f + f (C ).. Es gilt: w (f + f ′ (C )) = w (f ) + w (f ′ (C )) = w (f ) = W . Es gilt: l(f + f ′ (C )) = l(f ) + l(f ′ (C )) < l(f ).. Z ∑. l(e). l̄(C ) = ∣C ∣ = e∈C ∣C ∣ µ(f ) = −l̄(C ).

(121) Spezielle Flüsse (Mindestfluss) 2:38. Spezielle Flüsse (Alternativen). Verbesserung der Laufzeit. <. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. SS2015. Überblick. Z. 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). Verbesserung der Laufzeit. <. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. SS2015. Überblick zum Beweis l(C ). Teile Iterationen in Phasen auf.. 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).. Beachte für verbessernde Kreise C gilt: l̄(C ) ≤ −1/n.. ∑. l(e). l̄(C ) = ∣C ∣ = e∈C ∣C ∣ µ(f ) = −l̄(C ) 1 − x ≤ e −x , x = 1/n. Bestimme die Anzahl der Phasen.. Bestimme dazu vorab den Wert von C . Dann wird Suche nach C einfach (passe Kosten an).. Z.

(123) Spezielle Flüsse (Mindestfluss) 2:40. Verbesserung der Laufzeit. Spezielle Flüsse (Alternativen) <. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. SS2015. Z. 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). Verbesserung der Laufzeit. <. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. SS2015. Laufzeit (Aufteilung in Phasen) l(C ). Die Phase i endet, falls ein Fluss g gefunden wird mit: µ(g) ≤ (1 − 1/n) ⋅ µ(f ) oder µ(g) ≤ 0. Falls µ(g) ≤ 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 ≤ i ≤ T ). µi ≤ (1 − 1/n) ⋅ µi−1 ≤. µi−1 . e 1/n. Weiter gilt: µ0 ≤ L = ∑e∈E ∣l(e)∣ Wegen der Ganzzahligkeit gilt: µT −1 ≥ 1/n. Es folgt: T − 1 ≤ loge 1/n (nL) = Und: T ≤ n ln(nL) + 1.. ∑. l(e). l̄(C ) = ∣C ∣ = e∈C ∣C ∣ µ(f ) = −l̄(C ) 1 − x ≤ e −x , x = 1/n. Sei f der Fluss zu Beginn der i-ten Phase.. Damit gilt:. Z. ln(nL) = n ln(nL) ln(e 1/n ).

(125) Spezielle Flüsse (Mindestfluss) 2:42. Spezielle Flüsse (Alternativen). Verbesserung der Laufzeit. <. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. SS2015. Laufzeit (Iterationen pro Phase) l(C ). Z ∑. l(e). l̄(C ) = ∣C ∣ = e∈C ∣C ∣ µ(f ) = −l̄(C ). Zeige im Folgenden: 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) ≤ (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. Verbesserung der Laufzeit. Spezielle Flüsse (Alternativen) <. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. SS2015. Laufzeit (Iterationen pro Phase) l(C ). Z ∑. l(e). l̄(C ) = ∣C ∣ = e∈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). Verbesserung der Laufzeit. <. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. SS2015. Laufzeit mit Annahmen (Iterationen pro Phase) l(C ). l̄(C ) = ∣C ∣ =. ∑e∈C l(e) , ∣C ∣. Z. µ(f ) = −l̄(C ), Annahme: ∀e ∈ E (Gf ) ∶ l(e) ≥ −µ(f ). 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) = ∑ e∈C. −l(e) −l(e) µ(f ) ≤∑ ≤ ∣H∣ ⋅ ∣C ∣ ∣C ∣ e∈H ∣C ∣. Wegen ∣H∣ ≤ ∣C ∣ − 1 folgt: ∣H∣/∣C ∣ ≤ 1 − 1/∣C ∣ ≤ 1 − 1/n Damit: µ(g) ≤ (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. Spezielle Flüsse (Alternativen). Verbesserung der Laufzeit. Potentialfunktion. <. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. SS2015. Z. 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). Verbesserung der Laufzeit. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. <. SS2015. Laufzeit (Erzwinge die Annahme) l(C ). l̄(C ) = ∣C ∣ =. ∑e∈C l(e) , ∣C ∣. µ(f ) = −l̄(C ), Annahme: ∀e ∈ E (Gf ) ∶ l(e) ≥ −µ(f ). 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 ↦ Z ein Potential für die Knoten. Setze für alle e = (v , w ) ∈ E (Gf ) setze: l ′ (e) = l(e) + p(v ) − p(w ). Für e = (w , v ) gilt: l ′ (e). =. Z. l(e) + p(w ) − p(v ) −l(e) + p(w ) − p(v ) = −l ′ (e). Potentiale ändern die Kostensumme auf Kreisen C nicht: l(C ) = l ′ (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 15.7.2015 11:11. SS2015. Laufzeit (Erzwinge die Annahme durch Potential) l(C ). l̄(C ) = ∣C ∣ =. ∑e∈C l(e) , ∣C ∣. µ(f ) = −l̄(C ), Annahme: ∀e ∈ E (Gf ) ∶ l(e) ≥ −µ(f ). Lemma (Existenz von p) In Gf = (V , Ef ) gelte l̄(C ) ≥ −µ für jeden Kreis C . Dann gibt es p ∶ V ↦ Z mit: l ′ (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). Beachte: Das ist wohldefinert, denn aus l̄(C ) ≥ −µ folgt lµ (C ) ≥ 0 für beliebigen Kreis C . Damit gilt für jede Kante e = (v , w ) ∈ Ef ∶ p(w ) ≤ p(v ) + lµ (e). Es folgt: l ′ (e). = =. Z. l(e) + p(v ) − p(w ) lµ (e) + p(v ) − p(w ) − µ ≥ −µ.

(131) Spezielle Flüsse (Mindestfluss) 2:48. Spezielle Flüsse (Alternativen). Verbesserung der Laufzeit. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. <. SS2015. Laufzeit pro Iteration l(C ). l̄(C ) = ∣C ∣ =. ∑e∈C l(e) , ∣C ∣. µ(f ) = −l̄(C ), ∀e ∈ E (Gf ) ∶ l(e) ≥ −µ(f ). 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. Z. (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. Wert des Min-Mean-Kreises. <. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. SS2015. Z. 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: dn (v ) − dj (v ) n−1 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 15.7.2015 11:11. <. SS2015. Wert des Min-Mean-Kreises l(C ). l̄(C ) = ∣C ∣ =. ∑e∈C l(e) , ∣C ∣. µ(f ) = −l̄(C ). Lemma Der Wert l̄(C ) des Min-Mean-Kreises ist: n−1. α = min max ( v ∈V. j=0. dn (v ) − dj (v ) ) 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 δ. Also können wir alle Kantenkosten um δ verschieben bis l̄(C ) = 0 gilt. Zeige nun: α = 0 gilt damit auch.. Z.

(134) Spezielle Flüsse (Mindestfluss) 2:51. Spezielle Flüsse (Alternativen). Verbesserung der Laufzeit. Flüsse mit Kostenfunktion. <. > Walter Unger 15.7.2015 11:11. SS2015. Wert des Min-Mean-Kreises (Zeige α ≥ 0) l(C ). Z ∑. l(e). l̄(C ) = ∣C ∣ = e∈C ∣C ∣ µ(f ) = −l̄(C ). Sei v beliebig und P Kantenzug, der bei v endet und Kosten dn (v ) hat.. α = minv ∈V maxn−1 j=0 (. P muss Kreis C beinhalten. Sei P ′ 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 ′ ) ≥ l(P ′ ) ≥ dj (v ). Für jeden Knoten v gibt es j ∈ {1, . . . , n − 1} mit dn (v ) ≥ dj (v ). Damit α ≥ 0. Im Folgenden zeigen wir nun noch α ≤ 0.. dn (v )−dj (v ) ) n−j.

(135) Spezielle Flüsse (Mindestfluss) 2:52. Verbesserung der Laufzeit. Spezielle Flüsse (Alternativen) <. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. SS2015. Wert des Min-Mean-Kreises (Zeige α ≤ 0) l(C ). Z ∑. l(e). l̄(C ) = ∣C ∣ = e∈C ∣C ∣ µ(f ) = −l̄(C ). Zeige: Es gibt Knoten w mit: dn (w ) ≤ dj (w ) für alle j ∈ {0, . . . , n − 1}. α = minv ∈V maxn−1 j=0 (. s. Sei v Knoten des Min-Mean-Kreises C . 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′. S w. Sei w der Knoten, der auf C von v aus nach n − p Kanten liegt. Diesen Kantenzug nennen wir Q.. q2 q2. Sei R der Weg von w zu v auf C mit r Kanten.. q1 q1. Sei j ∈ {0, . . . , n − 1} und S ein Kantenzug minimaler Länge aus j Kanten, der an w endet.. dn (v )−dj (v ) ) n−j. rr11 Q. R rr22 v. p′. P Σ = 0 ′′ p.

(136) Spezielle Flüsse (Mindestfluss) 2:53. Spezielle Flüsse (Alternativen). Verbesserung der Laufzeit. <. Flüsse mit Kostenfunktion > Walter Unger 15.7.2015 11:11. SS2015. Wert des Min-Mean-Kreises (Zeige α ≤ 0) l(C ). Z ∑. l(e). l̄(C ) = ∣C ∣ = e∈C ∣C ∣ µ(f ) = −l̄(C ) α = minv ∈V maxn−1 j=0 (. Dann gilt: dn (w ) ≤ l(P) + l(Q) = dp (v ) + l(Q).. dn (v )−dj (v ) ) n−j. s. und. S. dp (v ) ≤ dj+r (v ) ≤ dj (w ) + l(R).. w. es folgt: dn (w ) ≤ dj (w ) + l(R) + l(Q).. Q. R. Der Kantenzug Q ⊙ R hat Kosten 0 (wegen l(C ) = 0). Damit gilt: dn (w ) ≤ dj (w ).. v. P Σ=0. p.

Referenzen

ÄHNLICHE DOKUMENTE

Man sieht aber auch im Folgenden, daß bei einer Suche nach beliebigen Kreisen eine pseudopolynomielle Laufzeit erhalten.... Spezielle Flüsse

Daher kann der Kreis durch einen Knoten ersetzt werden.... Einleitung mit

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

Approximation Theorem Der obige Algorithmus bestimmt eine 2-Approximation für das allgemeine Makespan Scheduling Problem.. Die Verteilung der ungeteilten Jobs erzeugt auf jeder

eine “primale Lösung” kann in polynomieller Zeit in eine “duale Lösung” überführt werden... eine “primale Lösung” kann in polynomieller Zeit in eine “duale

Damit muss die neue optimal Lösung auf dem Schnitt mit dem bisherigen Polyhedron und der durch die hinzugefügte Nebenbedingung bestimmte Hyperebene liegen.. Nun wird rekursiv auf

Damit ist eine zufällig gewählte Kante mit hoher Wahrscheinlichkeit nicht im Schnitt.. Damit sind die inzidenten Knoten einer zufällig gewählten Kante mit hoher Wahrscheinlichkeit

Damit ist eine zufällig gewählte Kante mit hoher Wahrscheinlichkeit nicht im Schnitt.. Damit sind die inzidenten Knoten einer zufällig gewählten Kante mit hoher Wahrscheinlichkeit