• Keine Ergebnisse gefunden

Effiziente Algorithmen (WS2019/20) Kapitel 1 Grundlagen zu Flüssen Walter Unger

N/A
N/A
Protected

Academic year: 2022

Aktie "Effiziente Algorithmen (WS2019/20) Kapitel 1 Grundlagen zu Flüssen Walter Unger"

Copied!
347
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)Effiziente Algorithmen (WS2019/20) Kapitel 1 Grundlagen zu Flüssen. Walter Unger Lehrstuhl für Informatik 1. 12:16 Uhr, den 7. November 2019.

(2) Einleitung. Ford-Fulkerson. Algorithmus von Dinitz. 1:2. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. Inhalt I Laufzeit. 1. Einleitung Anwendungen und Motivation Einfache Beispiele Einfache Beispiele (zweiter Versuch) Minimaler Schnitt Beispiele. 2. Ford-Fulkerson Einleitung Min-Cut Max-Flow. 3. Algorithmus von Dinitz Einleitung Algorithmus und Beispiel Laufzeit. 4. Dinitz mit Propagation Einleitung Algorithmus und Beispiel Weiteres Beispiel Laufzeit. WS2019/20.

(3) Einleitung 1:1. Anwendungen und Motivation. Ford-Fulkerson. Algorithmus von Dinitz. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Motivation Sehr oft muss die Transportkapazität von Daten/Objekten in einem Netzwerk (gerichteter Graph) bestimmt werden. Dieses wird, wie im Folgenden zu sehen ist, durch ein Flussproblem modelliert. D.h. der Fluss fließt über die Kanten. Er wird von einem speziellen Knoten – der Quelle – gespeist und wird von einem weiteren speziellen Knoten – der Senke – aufgefangen. Weiterhin werden die Kapazitäten auf den Kanten angegeben. Der Fluss auf einer Kante darf nun nicht größer als diese gegebene Kapazität sein. Sodann müssen die internen Knoten den gesamten eingehenden Fluss weiterleiten. Bemerkung: Es gibt ohne Einschränkung der Allgemeinheit genau eine Quelle des Flusses und genau eine Senke. Mehrere Quellen (oder Senken) können durch eine Metaquelle (oder Metasenke) simuliert werden. Der Fluss aus der Quelle (bzw. in die Senke) ist nun zu maximieren. Wie dieser maximale Fluss bestimmt wird, wird im Folgenden entwickelt..

(4) Einleitung 1:2. Ford-Fulkerson. Algorithmus von Dinitz. Anwendungen und Motivation. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. Anwendungen Kapazität der Straßen von Aachen nach Köln. Kapazität der Datenleitungen von Amerika nach China. Kapazität des Deltas des Amazonas. Kapazität der Abwasserkanäle von Rom. Alle durch Graphen modellierbaren Durchsatzprobleme. Hilfreich bei anderen Anwendungen. Altes Problem. v3. s. v1. v5. v2. v4. t. WS2019/20.

(5) Einleitung 1:3. Ford-Fulkerson. Anwendungen und Motivation. Algorithmus von Dinitz. 1/17. Modellierung Das Netzwerk wird als Graph G = (V , E ) modelliert. Die Kanten haben eine maximale Kapazität: c : E 7→ R+ c : E 7→ Q+ c:E → 7 N+. oder oder. Der Fluss startet an einem Knoten s ∈ V . Der Fluss endet an einem Knoten t ∈ V . v3 0. /0 0/10 10 0/10/0. v2 0. 0/4/0 4 0/4/0. 0/ 44 0/ /0 4/ 0. v5 0. 0/ 55 0 / /0 5/ 0. 0/10/0 10 0/10/0 0. 0 5/ 0/5 /0 5 0/. x. 0/3/0 3 v1 0/3/0 0/ 0 22 0/ /0 2/ 0. 0 0/ 2/2 0/ 2 / 1 1/ /0 0 0 0/ 1/ 0. s. 0 3/ /0 0/3 /3 /3/0 0 0 3 3/0 0/. 0 4/ 0/4 /0 4 0/. 0. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. v4 0. 0/6/0 6 0/6/0 /0 2 0/2 /0 2 0/. t 0. WS2019/20.

(6) Einleitung 1:3. Ford-Fulkerson. Anwendungen und Motivation. Algorithmus von Dinitz. 2/17. Modellierung Das Netzwerk wird als Graph G = (V , E ) modelliert. Die Kanten haben eine maximale Kapazität: c : E 7→ R+ c : E 7→ Q+ c:E → 7 N+. oder oder. Der Fluss startet an einem Knoten s ∈ V . Der Fluss endet an einem Knoten t ∈ V . v3 0. /0 0/10 10 0/10/0. v2 0. 0/4/0 4 0/4/0. 0/ 44 0/ /0 4/ 0. v5 0. 0/ 55 0 / /0 5/ 0. 0/10/0 10 0/10/0 0. 0 5/ 0/5 /0 5 0/. x. 0/3/3 3 v1 3 0/3/3 0/ 0 22 0/ /0 2/ 0. 0 0/ 2/2 0/ 2 / 1 1/ /0 0 0 0/ 1/ 0. s. 0 3/ /0 0/3 /3 /3/0 0 0 3 3/0 0/. 0 4/ 0/4 /0 4 0/. 0. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. v4 0. 0/6/0 6 0/6/0 /0 2 0/2 /0 2 0/. t 0. WS2019/20.

(7) Einleitung 1:3. Ford-Fulkerson. Anwendungen und Motivation. Algorithmus von Dinitz. 3/17. Modellierung Das Netzwerk wird als Graph G = (V , E ) modelliert. Die Kanten haben eine maximale Kapazität: c : E 7→ R+ c : E 7→ Q+ c:E → 7 N+. oder oder. Der Fluss startet an einem Knoten s ∈ V . Der Fluss endet an einem Knoten t ∈ V . v3 0. /0 0/10 10 0/10/0. v2 0. 0/4/0 4 0/4/0. 0/ 44 0/2 /2 4/ 2. v5 0. 0/ 55 0 / /0 5/ 0. 0/10/0 10 0/10/0 0. 0 5/ 0/5 /0 5 0/. x. 0/3/3 3 v1 3 0/3/3 0/ 0 22 0/ /0 2/ 0. 0 0/2 2/2 0/ 2 / 1 1/ /2 2 0 0/ 1/ 0. s. 0 3/ /0 0/3 /3 /3/0 0 0 3 3/0 0/. 0 4/ 0/4 /0 4 0/. 0. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. v4 0. 0/6/0 6 0/6/0 /0 2 0/2 /0 2 0/. t 0. WS2019/20.

(8) Einleitung 1:3. Ford-Fulkerson. Anwendungen und Motivation. Algorithmus von Dinitz. 4/17. Modellierung Das Netzwerk wird als Graph G = (V , E ) modelliert. Die Kanten haben eine maximale Kapazität: c : E 7→ R+ c : E 7→ Q+ c:E → 7 N+. oder oder. Der Fluss startet an einem Knoten s ∈ V . Der Fluss endet an einem Knoten t ∈ V . v3 0. /0 0/10 10 0/10/0. v2 0. 0/4/1 4 1 0/4/1. 0/ 44 0/2 /2 4/ 2. v5 0. 0/ 55 0/1 /1 5/ 1. 0/10/0 10 0/10/0 0. 1 5/ 0/5 /1 15 0/. x. 0/3/3 3 v1 3 0/3/3 0/ 0 22 0/ /0 2/ 0. 0 0/2 2/2 0/ 2 / 1 1/ /2 2 0 0/ 1/ 0. s. 0 3/ /0 0/3 /3 /3/0 0 0 3 3/0 0/. 0 4/ 0/4 /0 4 0/. 0. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. v4 0. 0/6/1 6 1 0/6/1 /0 2 0/2 /0 2 0/. t 0. WS2019/20.

(9) Einleitung 1:3. Ford-Fulkerson. Anwendungen und Motivation. Algorithmus von Dinitz. 5/17. Modellierung Das Netzwerk wird als Graph G = (V , E ) modelliert. Die Kanten haben eine maximale Kapazität: c : E 7→ R+ c : E 7→ Q+ c:E → 7 N+. oder oder. Der Fluss startet an einem Knoten s ∈ V . Der Fluss endet an einem Knoten t ∈ V . v3 0. /0 0/10 10 0/10/0. v2 0. 1/4/1 1/4 1 1/4/1. 2/ 4 2/2 /2 4/ 2. v5 0. 1/ 5 1/1 /1 5/ 1. 0/10/0 10 0/10/0 0. 1 5/ 1/ /1 15 1/. x. 3/3/3 3/3 v1 3 3/3/3 0/ 0 22 0/ /0 2/ 0. 2 2/2 /2 0/ 2 / 1 1/ /2 2 0 0/ 1/ 0. s. 0 3/ /0 0/3 /3 /3/0 0 0 3 3/0 0/. 0 4/ 0/4 /0 4 0/. 0. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. v4 0. 1/6/1 1/6 1 1/6/1 /0 2 0/2 /0 2 0/. t 0. WS2019/20.

(10) Einleitung 1:3. Ford-Fulkerson. Anwendungen und Motivation. Algorithmus von Dinitz. 6/17. Modellierung Das Netzwerk wird als Graph G = (V , E ) modelliert. Die Kanten haben eine maximale Kapazität: c : E 7→ R+ c : E 7→ Q+ c:E → 7 N+. oder oder. Der Fluss startet an einem Knoten s ∈ V . Der Fluss endet an einem Knoten t ∈ V . v3 0. /0 0/10 10 0/10/0. v2 0. 1/4/0 1/4 1/4/0. 2/ 4 2/ /0 4/ 0. v5 0. 1/ 5 1 / /0 5/ 0. 0/10/0 10 0/10/0 0. 0 5/ 1/ /0 5 1/. x. 3/3/0 3/3 v1 3/3/0 0/ 0 22 0/ /0 2/ 0. 2 2/ /2 0/ 2 / 1 1/ /0 0 0 0/ 1/ 0. s. 0 3/ /0 0/3 /3 /3/0 0 0 3 3/0 0/. 0 4/ 0/4 /0 4 0/. 0. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. v4 0. 1/6/0 1/6 1/6/0 /0 2 0/2 /0 2 0/. t 0. WS2019/20.

(11) Einleitung 1:3. Ford-Fulkerson. Anwendungen und Motivation. Algorithmus von Dinitz. 7/17. Modellierung Das Netzwerk wird als Graph G = (V , E ) modelliert. Die Kanten haben eine maximale Kapazität: c : E 7→ R+ c : E 7→ Q+ c:E → 7 N+. oder oder. Der Fluss startet an einem Knoten s ∈ V . Der Fluss endet an einem Knoten t ∈ V . v3 0. /0 0/10 10 0/10/0. v2 0. 1/4/0 1/4 1/4/0. 2/ 4 2/ /0 4/ 0. v5 0. 1/ 5 1 / /0 5/ 0. 0/10/0 10 0/10/0 0. 0 5/ 1/ /0 5 1/. x. 3/3/0 3/3 v1 3/3/0 0/ 0 22 0/2 /2 2/ 2. 2 2/ /2 0/ 2 / 1 1/ /0 0 0 0/ 1/ 0. s. 0 3/ /0 0/3 /3 /3/0 0 0 3 3/0 0/. 0 4/ 0/4 /0 4 0/. 0. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. v4 0. 1/6/0 1/6 1/6/0 /0 2 0/2 /0 2 0/. t 0. WS2019/20.

(12) Einleitung 1:3. Ford-Fulkerson. Anwendungen und Motivation. Algorithmus von Dinitz. 8/17. Modellierung Das Netzwerk wird als Graph G = (V , E ) modelliert. Die Kanten haben eine maximale Kapazität: c : E 7→ R+ c : E 7→ Q+ c:E → 7 N+. oder oder. Der Fluss startet an einem Knoten s ∈ V . Der Fluss endet an einem Knoten t ∈ V . v3 0. /0 0/10 10 0/10/0. v2 0. 1/4/1 1/4 1 1/4/1. 2/ 4 2/ /0 4/ 0. v5 0. 1/ 5 1 / /0 5/ 0. 0/10/0 10 0/10/0 0. 0 5/ 1/ /0 5 1/. x. 3/3/0 3/3 v1 3/3/0 0/ 0 22 0/2 /2 2/ 2. 2 2/ /2 0/ 2 / 1 1/ /0 0 0 0/ 1/ 0. s. 0 3/ /0 0/3 /3 /3/0 0 0 3 3/0 0/. 0 4/ 0/4 /0 4 0/. 0. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. v4 0. 1/6/0 1/6 1/6/0 /1 2 0/2 /1 12 0/. t 0. WS2019/20.

(13) Einleitung 1:3. Ford-Fulkerson. Anwendungen und Motivation. Algorithmus von Dinitz. 9/17. Modellierung Das Netzwerk wird als Graph G = (V , E ) modelliert. Die Kanten haben eine maximale Kapazität: c : E 7→ R+ c : E 7→ Q+ c:E → 7 N+. oder oder. Der Fluss startet an einem Knoten s ∈ V . Der Fluss endet an einem Knoten t ∈ V . v3 0. /0 0/10 10 0/10/0. v2 0. 2/4/1 2/4 1 2/4/1. 3/ 4 3/1 /1 4/ 1. v5 0. 1/ 5 1 / /0 5/ 0. 0/10/0 10 0/10/0 0. 0 5/ 1/ /0 5 1/. x. 3/3/0 3/3 v1 3/3/0 2/ 0 2 2/2 /2 2/ 2. 2 2/ /2 1/ 2 / 1/ /0 0 1/ 11 1 /1. s. 0 3/ /0 0/3 /3 /3/0 0 0 3 3/0 0/. 0 4/ 0/4 /0 4 0/. 0. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. v4 0. 1/6/0 1/6 1/6/0 /1 2 1/ /1 12 1/. t 0. WS2019/20.

(14) Einleitung 1:3. Ford-Fulkerson. Anwendungen und Motivation. Algorithmus von Dinitz. 10/17. Modellierung Das Netzwerk wird als Graph G = (V , E ) modelliert. Die Kanten haben eine maximale Kapazität: c : E 7→ R+ c : E 7→ Q+ c:E → 7 N+. oder oder. Der Fluss startet an einem Knoten s ∈ V . Der Fluss endet an einem Knoten t ∈ V . v3 0. /0 0/10 10 0/10/0. v2 0. 2/4/0 2/4 2/4/0. 3/ 4 3/ /0 4/ 0. v5 0. 1/ 5 1 / /0 5/ 0. 0/10/0 10 0/10/0 0. 0 5/ 1/ /0 5 1/. x. 3/3/0 3/3 v1 3/3/0 2/ 0 2 2/ /0 2/ 0. 2 2/ /2 1/ 2 / 1/ /0 0 0 1/ 1/ 0. s. 0 3/ /0 0/3 /3 /3/0 0 0 3 3/0 0/. 0 4/ 0/4 /0 4 0/. 0. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. v4 0. 1/6/0 1/6 1/6/0 /0 2 1/ /0 2 1/. t 0. WS2019/20.

(15) Einleitung 1:3. Ford-Fulkerson. Anwendungen und Motivation. Algorithmus von Dinitz. 11/17. Modellierung Das Netzwerk wird als Graph G = (V , E ) modelliert. Die Kanten haben eine maximale Kapazität: c : E 7→ R+ c : E 7→ Q+ c:E → 7 N+. oder oder. Der Fluss startet an einem Knoten s ∈ V . Der Fluss endet an einem Knoten t ∈ V . v3 0. /0 0/10 10 0/10/0. v2 0. 2/4/0 2/4 2/4/0. 3/ 4 3/ /0 4/ 0. v5 0. 1/ 5 1 / /0 5/ 0. 0/10/0 10 0/10/0 0. 0 5/ 1/ /0 5 1/. x. 3/3/0 3/3 v1 3/3/0 2/ 0 2 2/ /0 2/ 0. 2 2/ /2 1/ 2 / 1/ /0 0 0 1/ 1/ 0. s. 0 3/ /0 0/3 /3 /3/0 0 0 3 3/0 0/. 3 4/ 0/4 /3 34 0/. 0. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. v4 0. 1/6/0 1/6 1/6/0 /0 2 1/ /0 2 1/. t 0. WS2019/20.

(16) Einleitung 1:3. Ford-Fulkerson. Anwendungen und Motivation. Algorithmus von Dinitz. 12/17. Modellierung Das Netzwerk wird als Graph G = (V , E ) modelliert. Die Kanten haben eine maximale Kapazität: c : E 7→ R+ c : E 7→ Q+ c:E → 7 N+. oder oder. Der Fluss startet an einem Knoten s ∈ V . Der Fluss endet an einem Knoten t ∈ V . v3 0. /0 0/10 10 0/10/0. v2 0. 2/4/0 2/4 2/4/0. 3/ 4 3/1 /1 4/ 1. v5 0. 1/ 5 1 / /0 5/ 0. 0/10/0 10 0/10/0 0. 0 5/ 1/ /0 5 1/. x. 3/3/0 3/3 v1 3/3/0 2/ 0 2 2/ /0 2/ 0. 2 2/ /2 1/ 2 / 1/ /0 0 0 1/ 1/ 0. s. 0 3/ /0 0/3 /3 /3/0 0 0 3 3/0 0/. 3 4/ 0/4 /3 34 0/. 0. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. v4 0. 1/6/0 1/6 1/6/0 /0 2 1/ /0 2 1/. t 0. WS2019/20.

(17) Einleitung 1:3. Ford-Fulkerson. Anwendungen und Motivation. Algorithmus von Dinitz. 13/17. Modellierung Das Netzwerk wird als Graph G = (V , E ) modelliert. Die Kanten haben eine maximale Kapazität: c : E 7→ R+ c : E 7→ Q+ c:E → 7 N+. oder oder. Der Fluss startet an einem Knoten s ∈ V . Der Fluss endet an einem Knoten t ∈ V . v3 0. /0 0/10 10 0/10/0. v2 0. 2/4/0 2/4 2/4/0. 3/ 4 3/1 /1 4/ 1. v5 0. 1/ 5 1 / /0 5/ 0. 0/10/0 10 0/10/0 0. 0 5/ 1/ /0 5 1/. x. 3/3/0 3/3 v1 3/3/0 2/ 0 2 2/ /0 2/ 0. 2 2/ /2 1/ 2 / 1/ /0 0 0 1/ 1/ 0. s. 1 3/ /1 0/3 1/3 /3/0 0 0 3 3/0 0/. 3 4/ 0/4 /3 34 0/. 0. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. v4 0. 1/6/1 1/6 1 1/6/1 /0 2 1/ /0 2 1/. t 0. WS2019/20.

(18) Einleitung 1:3. Ford-Fulkerson. Anwendungen und Motivation. Algorithmus von Dinitz. 14/17. Modellierung Das Netzwerk wird als Graph G = (V , E ) modelliert. Die Kanten haben eine maximale Kapazität: c : E 7→ R+ c : E 7→ Q+ c:E → 7 N+. oder oder. Der Fluss startet an einem Knoten s ∈ V . Der Fluss endet an einem Knoten t ∈ V . v3 0. /0 0/10 10 0/10/0. v2 0. 2/4/0 2/4 2/4/0. 4/ 4 4/1 /1 4/ 1. v5 0. 1/ 5 1 / /0 5/ 0. 0/10/0 10 0/10/0 0. 0 5/ 1/ /0 5 1/. x. 3/3/0 3/3 v1 3/3/0 2/ 0 2 2/ /0 2/ 0. 2 2/ /2 1/ 2 / 1/ /0 0 0 1/ 1/ 0. s. 1 3/ /1 1/ 1/3 /3/1 1 1 3/1 1 1/. 3 4/ 3/ /3 34 3/. 0. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. v4 0. 2/6/1 2/6 1 2/6/1 /1 2 2/ /1 12 2/. t 0. WS2019/20.

(19) Einleitung 1:3. Ford-Fulkerson. Anwendungen und Motivation. Algorithmus von Dinitz. 15/17. Modellierung Das Netzwerk wird als Graph G = (V , E ) modelliert. Die Kanten haben eine maximale Kapazität: c : E 7→ R+ c : E 7→ Q+ c:E → 7 N+. oder oder. Der Fluss startet an einem Knoten s ∈ V . Der Fluss endet an einem Knoten t ∈ V . v3 0. /0 0/10 10 0/10/0. v2 0. 2/4/0 2/4 2/4/0. 4/ 4 4/ /0 4/ 0. v5 0. 1/ 5 1 / /0 5/ 0. 0/10/0 10 0/10/0 0. 0 5/ 1/ /0 5 1/. x. 3/3/0 3/3 v1 3/3/0 2/ 0 2 2/ /0 2/ 0. 2 2/ /2 1/ 2 / 1/ /0 0 0 1/ 1/ 0. s. 0 3/ /0 1/ /3 /3/0 1 1 3/0 1/. 0 4/ 3/ /0 4 3/. 0. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. v4 0. 2/6/0 2/6 2/6/0 /0 2 2/ /0 2 2/. t 0. WS2019/20.

(20) Einleitung 1:3. Ford-Fulkerson. Anwendungen und Motivation. Algorithmus von Dinitz. 16/17. Modellierung Das Netzwerk wird als Graph G = (V , E ) modelliert. Die Kanten haben eine maximale Kapazität: c : E 7→ R+ c : E 7→ Q+ c:E → 7 N+. oder oder. Der Fluss startet an einem Knoten s ∈ V . Der Fluss endet an einem Knoten t ∈ V . v3 0. /0 0/10 10 0/10/0. v2 0. 2/4/0 2/4 2/4/0. 4/ 4 4/ /0 4/ 0. v5 0. 1/ 5 1 / /0 5/ 0. 0/10/0 10 0/10/0 0. 0 5/ 1/ /0 5 1/. x. 3/3/0 3/3 v1 3/3/0 2/ 0 2 2/ /0 2/ 0. 2 2/ /2 1/ 2 / 1/ /0 0 0 1/ 1/ 0. s. 1 3/ /1 1/ 1/3 /3/0 1 1 3/0 1/. 1 4/ 3/ /1 14 3/. 0. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. v4 0. 2/6/1 2/6 1 2/6/1 /0 2 2/ /0 2 2/. t 0. WS2019/20.

(21) Einleitung 1:3. Ford-Fulkerson. Anwendungen und Motivation. Algorithmus von Dinitz. 17/17. Modellierung Das Netzwerk wird als Graph G = (V , E ) modelliert. Die Kanten haben eine maximale Kapazität: c : E 7→ R+ c : E 7→ Q+ c:E → 7 N+. oder oder. Der Fluss startet an einem Knoten s ∈ V . Der Fluss endet an einem Knoten t ∈ V . v3 0. /0 0/10 10 0/10/0. v2 0. 2/4/0 2/4 2/4/0. 4/ 4 4/ /0 4/ 0. v5 0. 1/ 5 1 / /0 5/ 0. 0/10/0 10 0/10/0 0. 0 5/ 1/ /0 5 1/. x. 3/3/0 3/3 v1 3/3/0 2/ 0 2 2/ /0 2/ 0. 2 2/ /2 1/ 2 / 1/ /0 0 0 1/ 1/ 0. s. 1 3/ /1 2/ 1/3 /3/0 2 1 3/0 1/. 1 4/ 4/ /1 14 4/. 0. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. v4 0. 3/6/1 3/6 1 3/6/1 /0 2 2/ /0 2 2/. t 0. WS2019/20.

(22) Einleitung 1:4. Ford-Fulkerson. Anwendungen und Motivation. Algorithmus von Dinitz. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Das Flussproblem Definition (Flussproblem) Eingabe: G = (V , E , s, t, c) mit: (V , E ) ist ein gerichteter Graph (n = |V |, m = |E |) s, t ∈ V und s 6= t c : E 7→ N+ Ausgabe: f : E → 7 R+ 0 mit: ∀e : 0 6 f (e) 6 c(e) P P ∀v ∈ V \ {s, t} : (a,v )∈E f ((a, v )) = (v ,a)∈E f ((v , a)) P Ziel: Maximiere w (f ) = (s,v )∈E f ((s, v )). s heißt Quelle und t heißt Senke. c ist die Kapazitätsfunktion. f nennt man die Flussfunktion..

(23) Einleitung 1:5. Ford-Fulkerson. Algorithmus von Dinitz. Anwendungen und Motivation. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Bemerkungen zum Flussproblem n = |V |, m = |E |. O.B.d.A.: Quelle s hat Eingangsgrad 0. O.B.d.A.: Senke t hat Ausgangsgrad 0. f (v , w ) = f (e) falls e ∈ E und e = (v , w ). Kapazitätsbeschränkung: ∀e : f (e) 6 c(e) Schreibweisen: fin (v ) fout (v ). = =. P f ((a, v )) P(a,v )∈E (v ,a)∈E f ((v , a)). Flusserhaltung: ∀v ∈ V \ {s, t} : fin (v ) = fout (v ). Wert des Flusses f ist: w (f ) = fout (s) = fin (t). Eine Kapazitätsfunktion c : E 7→ Q+ kann durch c : E 7→ N+ modelliert werden. Eine Kapazitätsfunktion c : E 7→ R+ führt zu “Problemen”..

(24) Einleitung 1:6. Ford-Fulkerson. Anwendungen und Motivation. Algorithmus von Dinitz. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Überblick Mit den folgenden Beispielen werden die Ideen der Algorithmen schrittweise entwickelt: Der erste Ansatz ist, den Fluss von der Quelle aus durch den Graphen zu drücken. (siehe “Versuch am einfachen Beispiel”) Danach sieht man: Falls es mehrere Möglichkeiten gibt, dann können diese dazu führen, dass die Entscheidungen zu komplex werden können. (siehe “Versuch am aufwendigeren Beispiel”) Das oben erwähnte Beispiel zeigt, dass man strukturiert nach dem Fluss suchen muss. Damit ergibt sich die Idee, einfache Flüsse zu suchen und dann schrittweise diese zu einem Gesamtfluss zu vergrößern. In den verbleibenden Beispielen wird daher als vergrößernder Fluss ein Weg gesucht..

(25) Einleitung 1:7. Ford-Fulkerson. Einfache Beispiele. Algorithmus von Dinitz. 1/10. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Versuch am einfachen Beispiel n = |V |, m = |E |. Idee: verteile möglichst großen Fluss von der Quelle aus. c1 0 1/ 0/1 1/0 0/. 0 0/ 4/4 4/ /0 0. b1 0. s 0. 0/9/9 9 9 0/9/9. 0. 0/ 0/ 1 1/ 1/ 0 0. 0/ 0/2 2/0 2/ 0. c2 0. 0/ 1 1/ 0/1/ 0 0. a. t /0 0/ 11 0 0/1/. 0 0 4/ /0 0/4 /4 0. c3 0 1/ 0/1 1/0 0/. b2 0. 0. 0/ 0/2 2/0 2/ 0. c4 0. 0 1/ 0 0/1 1/ 0/. 0.

(26) Einleitung 1:7. Ford-Fulkerson. Einfache Beispiele. Algorithmus von Dinitz. 2/10. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Versuch am einfachen Beispiel n = |V |, m = |E |. Idee: verteile möglichst großen Fluss von der Quelle aus. c1 0 1/ 0/1 1/0 0/. 0 0/4 4/4 4/ /4 4. b1 0. s 0. 0/9/9 9 9 0/9/9. 0. 0/ 0/ 1 1/ 1/ 0 0. 0/ 0/2 2/0 2/ 0. c2 0. 0/ 1 1/ 0/1/ 0 0. a. t /0 0/ 11 0 0/1/. 0 4 4/ /4 0/4 4/4 0. c3 0 1/ 0/1 1/0 0/. b2 0. 0. 0/ 0/2 2/0 2/ 0. c4 0. 0 1/ 0 0/1 1/ 0/. 0.

(27) Einleitung 1:7. Ford-Fulkerson. Einfache Beispiele. Algorithmus von Dinitz. 3/10. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Versuch am einfachen Beispiel n = |V |, m = |E |. Idee: verteile möglichst großen Fluss von der Quelle aus. c1 0 1/ 0/1 1/0 0/. 0 0/4 4/4 4/ /4 4. b1 0. s 0. 0/9/8 9 8 0/9/8. 0. 0/ 0/ 1 1/ 1/ 0 0. 0/ 0/2 2/0 2/ 0. c2 0. 0/ 1 1/ 0/1/ 0 0. a. t /0 0/ 11 0 0/1/. 0 4 4/ /4 0/4 4/4 0. c3 0 1/ 0/1 1/0 0/. b2 0. 0. 0/ 0/2 2/0 2/ 0. c4 0. 0 1/ 0 0/1 1/ 0/. 0.

(28) Einleitung 1:7. Ford-Fulkerson. Einfache Beispiele. Algorithmus von Dinitz. 4/10. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Versuch am einfachen Beispiel n = |V |, m = |E |. Idee: verteile möglichst großen Fluss von der Quelle aus. c1 1 1/ 0/1 1/1 1 0/. 0 0/4 4/4 4/ /4 4. b1 0. s 0. 0/9/8 9 8 0/9/8. 0. 0/ 0/ 1 1/ 1/ 0 0. 0/ 22 0/ 22 /2 /2. c2 0. 0/ 1 1/ 0/1/ 0 0. a. t /0 0/ 11 0 0/1/. 0 4 4/ /4 0/4 4/4 0. c3 0 1/ 0/1 1/0 0/. b2 0. 0. 0/ 0/2 2/0 2/ 0. c4 0. 0 1/ 0 0/1 1/ 0/. 0.

(29) Einleitung 1:7. Ford-Fulkerson. Einfache Beispiele. Algorithmus von Dinitz. 5/10. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Versuch am einfachen Beispiel n = |V |, m = |E |. Idee: verteile möglichst großen Fluss von der Quelle aus. c1 1 1/ 0/1 1/1 1 0/. 0 0/3 4/4 4/ /3 3. b1 0. s 0. 0/9/7 9 7 0/9/7. 0. 0/ 0/ 1 1/ 1/ 0 0. 0/ 22 0/ 22 /2 /2. c2 0. 0/ 1 1/ 0/1/ 0 0. a. t /0 0/ 11 0 0/1/. 0 4 4/ /4 0/4 4/4 0. c3 0 1/ 0/1 1/0 0/. b2 0. 0. 0/ 0/2 2/0 2/ 0. c4 0. 0 1/ 0 0/1 1/ 0/. 0.

(30) Einleitung 1:7. Ford-Fulkerson. Einfache Beispiele. Algorithmus von Dinitz. 6/10. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Versuch am einfachen Beispiel n = |V |, m = |E |. Idee: verteile möglichst großen Fluss von der Quelle aus. c1 1 1/ 0/1 1/1 1 0/. 0 0/3 4/4 4/ /3 3. b1 0. s 0. 0/9/7 9 7 0/9/7. 0. 0/ 0/ 1 1/ 1/ 0 0. 0/ 22 0/ 22 /2 /2. c2 0. 0/ 1 1/ 0/1/ 0 0. a. t /0 0/ 11 0 0/1/. 0 4 4/ /4 0/4 4/4 0. c3 1 1/ 0/1 1/1 1 0/. b2 0. 0. 0/ 22 0/ 22 /2 /2. c4 0. 0 1/ 0 0/1 1/ 0/. 0.

(31) Einleitung 1:7. Ford-Fulkerson. Einfache Beispiele. Algorithmus von Dinitz. 7/10. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Versuch am einfachen Beispiel n = |V |, m = |E |. Idee: verteile möglichst großen Fluss von der Quelle aus. c1 1 1/ 0/1 1/1 1 0/. 0 0/3 4/4 4/ /3 3. b1 0. s 0. 0/9/6 9 6 0/9/6. 0. 0/ 0/ 1 1/ 1/ 0 0. 0/ 22 0/ 22 /2 /2. c2 0. 0/ 1 1/ 0/1/ 0 0. a. t /0 0/ 11 0 0/1/. 0 3 4/ /3 0/4 3/4 0. c3 1 1/ 0/1 1/1 1 0/. b2 0. 0. 0/ 22 0/ 22 /2 /2. c4 0. 0 1/ 0 0/1 1/ 0/. 0.

(32) Einleitung 1:7. Ford-Fulkerson. Einfache Beispiele. Algorithmus von Dinitz. 8/10. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Versuch am einfachen Beispiel n = |V |, m = |E |. Idee: verteile möglichst großen Fluss von der Quelle aus. c1 1 1/ 0/1 1/1 1 0/. 0 0/3 4/4 4/ /3 3. b1 0. s 0. 0/9/6 9 6 0/9/6. 0. 0/ 0/11 1/ 1/ 1 1. 0/ 22 0/ 22 /2 /2. c2 0. 0/ 1 1/1 0/ 11/ 1. a. t /1 0/ 11 1 11/ 0/. 0 3 4/ /3 0/4 3/4 0. c3 1 1/ 0/1 1/1 1 0/. b2 0. 0. 0/ 22 0/ 22 /2 /2. c4 0. 1 1/ 1 0/11 1/ 0/. 0.

(33) Einleitung 1:7. Ford-Fulkerson. Einfache Beispiele. Algorithmus von Dinitz. 9/10. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Versuch am einfachen Beispiel n = |V |, m = |E |. Idee: verteile möglichst großen Fluss von der Quelle aus. c1 1 1/ 0/1 1/1 1 0/. 0 0/2 4/4 4/ /2 2. b1 0. s 0. 0/9/4 9 4 0/9/4. 0. 0/ 0/11 1/ 1/ 1 1. 0/ 22 0/ 12 /1 /1. c2 0. 0/ 1 1/1 0/ 11/ 1. a. t /1 0/ 11 1 11/ 0/. 0 2 4/ /2 0/4 2/4 0. c3 1 1/ 0/1 1/1 1 0/. b2 0. 0. 0/ 22 0/ 12 /1 /1. c4 0. 1 1/ 1 0/11 1/ 0/. 0.

(34) Einleitung 1:7. Ford-Fulkerson. Einfache Beispiele. Algorithmus von Dinitz. 10/10. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Versuch am einfachen Beispiel n = |V |, m = |E |. Idee: verteile möglichst großen Fluss von der Quelle aus. Geht relativ gut für dieses Beispiel c1 1 1/ 0/1 1/1 1 0/. 0 0/2 4/4 4/ /2 2. b1 0. s 0. 0/9/4 9 4 0/9/4. 0. 0/ 0/11 1/ 1/ 1 1. 0/ 22 0/ 12 /1 /1. c2 0. 0/ 1 1/1 0/ 11/ 1. a. t /1 0/ 11 1 11/ 0/. 0 2 4/ /2 0/4 2/4 0. c3 1 1/ 0/1 1/1 1 0/. b2 0. 0. 0/ 22 0/ 12 /1 /1. c4 0. 1 1/ 1 0/11 1/ 0/. 0.

(35) Einleitung 1:8. Ford-Fulkerson. Einfache Beispiele. Algorithmus von Dinitz. 1/10. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Versuch am aufwendigeren Beispiel n = |V |, m = |E |. Idee: verteile möglichst großen Fluss von der Quelle aus. c1 0 6/ 0/6 6/0 0/. 0 0/ 6/6 6/ /0 0. b1 0. s 0. 0/6/6 6 6 0/6/6. 0. 0/ 0/ 1 1/ 1/ 0 0. 0/ 0/6 6/0 6/ 0. c2 0. 0/ 2 2/ 0/2/ 0 0. a. t /0 0/ 22 0 0/2/. 0 0 6/ /0 0/6 /6 0. c3 0 6/ 0/6 6/0 0/. b2 0. 0. 0/ 0/6 6/0 6/ 0. c4 0. 0 1/ 0 0/1 1/ 0/. 0.

(36) Einleitung 1:8. Ford-Fulkerson. Einfache Beispiele. Algorithmus von Dinitz. 2/10. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Versuch am aufwendigeren Beispiel n = |V |, m = |E |. Idee: verteile möglichst großen Fluss von der Quelle aus. c1 0 6/ 0/6 6/0 0/. 0 0/5 6/6 6/ /5 5. b1 0. s 0. 0/6/6 6 6 0/6/6. 0. 0/ 0/ 1 1/ 1/ 0 0. 0/ 0/6 6/0 6/ 0. c2 0. 0/ 2 2/ 0/2/ 0 0. a. t /0 0/ 22 0 0/2/. 0 1 6/ /1 0/6 1/6 0. c3 0 6/ 0/6 6/0 0/. b2 0. 0. 0/ 0/6 6/0 6/ 0. c4 0. 0 1/ 0 0/1 1/ 0/. 0.

(37) Einleitung 1:8. Ford-Fulkerson. Einfache Beispiele. Algorithmus von Dinitz. 3/10. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Versuch am aufwendigeren Beispiel n = |V |, m = |E |. Idee: verteile möglichst großen Fluss von der Quelle aus. c1 4 6/ 0/6 6/4 4 0/. 0 0/5 6/6 6/ /5 5. b1 0. s 0. 0/6/6 6 6 0/6/6. 0. 0/ 0/ 1 1/ 1/ 0 0. 0/ 66 0/ 16 /1 /1. c2 0. 0/ 2 2/ 0/2/ 0 0. a. t /0 0/ 22 0 0/2/. 0 1 6/ /1 0/6 1/6 0. c3 0 6/ 0/6 6/0 0/. b2 0. 0. 0/ 0/6 6/0 6/ 0. c4 0. 0 1/ 0 0/1 1/ 0/. 0.

(38) Einleitung 1:8. Ford-Fulkerson. Einfache Beispiele. Algorithmus von Dinitz. 4/10. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Versuch am aufwendigeren Beispiel n = |V |, m = |E |. Idee: verteile möglichst großen Fluss von der Quelle aus. c1 4 6/ 0/6 6/4 4 0/. 0 0/5 6/6 6/ /5 5. b1 0. s 0. 0/6/6 6 6 0/6/6. 0. 0/ 0/11 1/ 1/ 1 1. 0/ 66 0/ 16 /1 /1. c2 0. 0/ 2 2/2 0/ 22/ 2. a. t /0 0/ 22 0 0/2/. 0 1 6/ /1 0/6 1/6 0. c3 0 6/ 0/6 6/0 0/. b2 0. 0. 0/ 0/6 6/0 6/ 0. c4 0. 0 1/ 0 0/1 1/ 0/. 0.

(39) Einleitung 1:8. Ford-Fulkerson. Einfache Beispiele. Algorithmus von Dinitz. 5/10. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Versuch am aufwendigeren Beispiel n = |V |, m = |E |. Idee: verteile möglichst großen Fluss von der Quelle aus. c1 1 6/ 0/6 6/1 1 0/. 0 0/3 6/6 6/ /3 3. b1 0. s 0. 0/6/6 6 6 0/6/6. 0. 0/ 0/11 1/ 1/ 1 1. 0/ 66 0/ 26 /2 /2. c2 0. 0/ 2 2/2 0/ 22/ 2. a. t /0 0/ 22 0 0/2/. 0 3 6/ /3 0/6 3/6 0. c3 0 6/ 0/6 6/0 0/. b2 0. 0. 0/ 0/6 6/0 6/ 0. c4 0. 0 1/ 0 0/1 1/ 0/. 0.

(40) Einleitung 1:8. Ford-Fulkerson. Einfache Beispiele. Algorithmus von Dinitz. 6/10. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Versuch am aufwendigeren Beispiel n = |V |, m = |E |. Idee: verteile möglichst großen Fluss von der Quelle aus. c1 1 6/ 0/6 6/1 1 0/. 0 0/3 6/6 6/ /3 3. b1 0. s 0. 0/6/6 6 6 0/6/6. 0. 0/ 0/11 1/ 1/ 1 1. 0/ 66 0/ 26 /2 /2. c2 0. 0/ 2 2/2 0/ 22/ 2. a. t /0 0/ 22 0 0/2/. 0 3 6/ /3 0/6 3/6 0. c3 1 6/ 0/6 6/1 1 0/. b2 0. 0. 0/ 66 0/ 26 /2 /2. c4 0. 0 1/ 0 0/1 1/ 0/. 0.

(41) Einleitung 1:8. Ford-Fulkerson. Einfache Beispiele. Algorithmus von Dinitz. 7/10. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Versuch am aufwendigeren Beispiel n = |V |, m = |E |. Idee: verteile möglichst großen Fluss von der Quelle aus. c1 1 6/ 0/6 6/1 1 0/. 0 0/3 6/6 6/ /3 3. b1 0. s 0. 0/6/6 6 6 0/6/6. 0. 0/ 0/11 1/ 1/ 1 1. 0/ 66 0/ 26 /2 /2. c2 0. 0/ 2 2/2 0/ 22/ 2. a. t /2 0/ 22 2 22/ 0/. 0 3 6/ /3 0/6 3/6 0. c3 1 6/ 0/6 6/1 1 0/. b2 0. 0. 0/ 66 0/ 26 /2 /2. c4 0. 1 1/ 1 0/11 1/ 0/. 0.

(42) Einleitung 1:8. Ford-Fulkerson. Einfache Beispiele. Algorithmus von Dinitz. 8/10. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Versuch am aufwendigeren Beispiel n = |V |, m = |E |. Idee: verteile möglichst großen Fluss von der Quelle aus. Geht nicht so gut für dieses Beispiel c1 1 6/ 0/6 6/1 1 0/. 0 0/3 6/6 6/ /3 3. b1 0. s 0. 0/6/6 6 6 0/6/6. 0. 0/ 0/11 1/ 1/ 1 1. 0/ 66 0/ 26 /2 /2. c2 0. 0/ 2 2/2 0/ 22/ 2. a. t /2 0/ 22 2 22/ 0/. 0 3 6/ /3 0/6 3/6 0. c3 2 6/ 0/6 6/2 2 0/. b2 0. 0. 0/ 66 0/ 16 /1 /1. c4 0. 1 1/ 1 0/11 1/ 0/. 0.

(43) Einleitung 1:8. Ford-Fulkerson. Einfache Beispiele. Algorithmus von Dinitz. 9/10. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Versuch am aufwendigeren Beispiel n = |V |, m = |E |. Idee: verteile möglichst großen Fluss von der Quelle aus. Geht nicht so gut für dieses Beispiel c1 1 6/ 0/6 6/1 1 0/. 0 0/3 6/6 6/ /3 3. b1 0. s 0. 0/6/6 6 6 0/6/6. 0. 0/ 0/11 1/ 1/ 1 1. 0/ 66 0/ 26 /2 /2. c2 0. 0/ 2 2/2 0/ 22/ 2. a. t /2 0/ 22 2 22/ 0/. 0 3 6/ /3 0/6 3/6 0. c3 2 6/ 0/6 6/2 2 0/. b2 0. 0. 0/ 66 0/ 16 /1 /1. c4 0. 1 1/ 1 0/11 1/ 0/. 0.

(44) Einleitung 1:8. Ford-Fulkerson. Einfache Beispiele. Algorithmus von Dinitz. 10/10. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Versuch am aufwendigeren Beispiel n = |V |, m = |E |. Idee: verteile möglichst großen Fluss von der Quelle aus. Geht nicht so gut für dieses Beispiel c1 1 6/ 0/6 6/1 1 0/. 0 0/3 6/6 6/ /3 3. b1 0. s 0. 0/6/6 6 6 0/6/6. 0. 0/ 0/11 1/ 1/ 1 1. 0/ 66 0/ 26 /2 /2. c2 0. 0/ 2 2/2 0/ 22/ 2. a. t /2 0/ 22 2 22/ 0/. 0 3 6/ /3 0/6 3/6 0. c3 2 6/ 0/6 6/2 2 0/. b2 0. 0. 0/ 66 0/ 16 /1 /1. c4 0. 1 1/ 1 0/11 1/ 0/. 0.

(45) Einleitung 1:9. Ford-Fulkerson. Einfache Beispiele. Algorithmus von Dinitz. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Situation n = |V |, m = |E |. Ein “direktes” Bestimmen des Flusses von der Quelle aus scheitert. Es muss eine einfachere Struktur für einen Fluss gesucht werden. Die Lösung ergibt sich dann aus mehreren dieser einfachen Strukturen. Idee: Wähle als einfache Struktur den Pfad (Weg). Algorithmus: 1 2 3 4 5. Starte mit dem leeren Fluss. Bestimme einen Pfad P, auf dem der Fluss von s nach t vergrößerbar ist. Bestimme den maximalen vergrößernden Fluss p auf P. Erweitere die Lösung um p auf dem Pfad P. Wiederhole so oft, wie es einen passenden Pfad P gibt..

(46) Einleitung 1:10. Ford-Fulkerson. Einfache Beispiele (zweiter Versuch). Algorithmus von Dinitz. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Neue Situation Das Verteilen eines möglichst grossen Startflusses führt zu komplexen algorithmischen Problemen, falls der Fluss blockiert wird. Dies war in den Beispielen gut zu sehen. Damit ergibt sich die Idee, dafür zu sorgen, daß eine solche Blockade nicht geschieht. Daher wird im Folgenden nur nach Wegen, die noch Fluss führen können, gesucht. Das Verteilen eines möglichst grossen Flusses wird aber nicht vollständig ignoriert. Am Ende dieses Kapitels wird genau das ausgenutzt, um die Laufzeit des Algorithmus von Dinitz zu verbessern. Dabei wird der schwächste Knoten eines Teilnetzwerks (siehe Niveaunetzwerk) gesucht und der Fluss, der über ihn gehen kann durch das Netzwerke gedrückt. In dem Teilnetzwerk sind die Wege eindeutig und damit kann der Fluss des schwächsten Knoten nicht blockiert werden. Hier betrachten wir aber erst mal nur Flusserweiterungen durch Pfade. Der aktuelle Fluss wird dann mit dem möglichen Fluss über den Pfad erweitert..

(47) Einleitung 1:11. Ford-Fulkerson. Einfache Beispiele (zweiter Versuch). Algorithmus von Dinitz. 1/13. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Zweiter Versuch am einfachen Beispiel n = |V |, m = |E |. Idee: finde in jedem Schritt einen erweiternden Pfad von s nach t.. 0 0/ 6/6/ 6/ 0 0. b1 0. s 0. 06/6/0 0/ 6/ 0. /0 0/666/0 0/ 06/ 0/66/0 /0. c1 0. c2 0. a 0 0 6/ 0 0/6 /6/ 0. b2 0. /0 0/666/0 / 0 06/6 0/ 6 / 0 /0. c3 0. c4 0. 0/ 0/ 1 1/ 0 1/ 0. 02/2/0 0/ 2/ 0 0 / 2/ 02 0/ 2/ 0 0 1/ 0/1 1/0 / 0. t 0.

(48) Einleitung 1:11. Ford-Fulkerson. Einfache Beispiele (zweiter Versuch). Algorithmus von Dinitz. 2/13. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Zweiter Versuch am einfachen Beispiel n = |V |, m = |E |. Idee: finde in jedem Schritt einen erweiternden Pfad von s nach t.. 0 0/ 6/6/ 6/ 0 0. b1 0. s 0. 06/6/0 0/ 6/ 0. /0 0/666/0 0/ 06/ 0/66/0 /0. c1 0. c2 0. a 0 0 6/ 0 0/6 /6/ 0. b2 0. /0 0/666/0 / 0 06/6 0/ 6 / 0 /0. c3 0. c4 0. 0/ 0/ 1 1/ 0 1/ 0. 02/2/0 0/ 2/ 0 0 / 2/ 02 0/ 2/ 0 0 1/ 0/1 1/0 / 0. t 0.

(49) Einleitung 1:11. Ford-Fulkerson. Einfache Beispiele (zweiter Versuch). Algorithmus von Dinitz. 3/13. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Zweiter Versuch am einfachen Beispiel n = |V |, m = |E |. Idee: finde in jedem Schritt einen erweiternden Pfad von s nach t.. 0 01/ 6/6/ 6/ 1 1. b1 0. s 0. 06/6/1 01/6/1. /1 0/666/1 01/ 06/ 0/66/0 /0. c1 0. c2 0. a 0 0 6/ 0 0/6 /6/ 0. b2 0. /0 0/666/0 / 0 06/6 0/ 6 / 0 /0. c3 0. c4 0. 0/ 01/ 1 1/1 1/ 1. 02/2/0 0/ 2/ 0 0 / 2/ 02 0/ 2/ 0 0 1/ 0/1 1/0 / 0. t 0.

(50) Einleitung 1:11. Ford-Fulkerson. Einfache Beispiele (zweiter Versuch). Algorithmus von Dinitz. 4/13. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Zweiter Versuch am einfachen Beispiel n = |V |, m = |E |. Idee: finde in jedem Schritt einen erweiternden Pfad von s nach t.. 1 11/ /6/ 6/ 1 1. b1 0. s 0. 1/ 6 / 1 11/6/1. /1 1/ 6 6/ 1 11/ 06/ 0/66/0 /0. c1 0. c2 0. a 0 0 6/ 0 0/6 /6/ 0. b2 0. /0 0/666/0 / 0 06/6 0/ 6 / 0 /0. c3 0. c4 0. 1/ 11/ 1/1 1/ 1. 02/2/0 0/ 2/ 0 0 / 2/ 02 0/ 2/ 0 0 1/ 0/1 1/0 / 0. t 0.

(51) Einleitung 1:11. Ford-Fulkerson. Einfache Beispiele (zweiter Versuch). Algorithmus von Dinitz. 5/13. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Zweiter Versuch am einfachen Beispiel n = |V |, m = |E |. Idee: finde in jedem Schritt einen erweiternden Pfad von s nach t.. 1 1 / /6 / 6/ 0 0. b1 0. s 0. 1/ 6 / 0 1/ 6/ 0. /0 1/ 6 6/ 0 1/ 06/ 0/66/0 /0. c1 0. c2 0. a 0 0 6/ 0 0/6 /6/ 0. b2 0. /0 0/666/0 / 0 06/6 0/ 6 / 0 /0. c3 0. c4 0. 1/ 1/ 1 / 0 1/ 0. 02/2/0 0/ 2/ 0 0 / 2/ 02 0/ 2/ 0 0 1/ 0/1 1/0 / 0. t 0.

(52) Einleitung 1:11. Ford-Fulkerson. Einfache Beispiele (zweiter Versuch). Algorithmus von Dinitz. 6/13. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Zweiter Versuch am einfachen Beispiel n = |V |, m = |E |. Idee: finde in jedem Schritt einen erweiternden Pfad von s nach t.. 1 12/ /6/ 6/ 2 2. b1 0. s 0. 1/ 6 / 2 12/6/2. /0 1/ 6 6/ 0 1/ 06/ 02/66/2 /2. c1 0. c2 0. a 0 0 6/ 0 0/6 /6/ 0. b2 0. /0 0/666/0 / 0 06/6 0/ 6 / 0 /0. c3 0. c4 0. 1/ 1/ 1 / 0 1/ 0. 02/2/2 02/2/2 0 / 2/ 02 0/ 2/ 0 0 1/ 0/1 1/0 / 0. t 0.

(53) Einleitung 1:11. Ford-Fulkerson. Einfache Beispiele (zweiter Versuch). Algorithmus von Dinitz. 7/13. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Zweiter Versuch am einfachen Beispiel n = |V |, m = |E |. Idee: finde in jedem Schritt einen erweiternden Pfad von s nach t.. 3 32/ /6/ 6/ 2 2. b1 0. s 0. 3/ 6 / 2 32/6/2. /0 1/ 6 6/ 0 1/ 2/ 6 22/6 /2 /2. c1 0. c2 0. a 0 0 6/ 0 0/6 /6/ 0. b2 0. /0 0/666/0 / 0 06/6 0/ 6 / 0 /0. c3 0. c4 0. 1/ 1/ 1 / 0 1/ 0. 2/ 2 / 2 22/2/2 0 / 2/ 02 0/ 2/ 0 0 1/ 0/1 1/0 / 0. t 0.

(54) Einleitung 1:11. Ford-Fulkerson. Einfache Beispiele (zweiter Versuch). Algorithmus von Dinitz. 8/13. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Zweiter Versuch am einfachen Beispiel n = |V |, m = |E |. Idee: finde in jedem Schritt einen erweiternden Pfad von s nach t.. 3 3 / /6 / 6/ 0 0. b1 0. s 0. 3/ 6 / 0 3/ 6/ 0. /0 1/ 6 6/ 0 1/ 2/ 6 2/ 6 / 0 /0. c1 0. c2 0. a 0 0 6/ 0 0/6 /6/ 0. b2 0. /0 0/666/0 / 0 06/6 0/ 6 / 0 /0. c3 0. c4 0. 1/ 1/ 1 / 0 1/ 0. 2/ 2 / 0 2/ 2/ 0 0 / 2/ 02 0/ 2/ 0 0 1/ 0/1 1/0 / 0. t 0.

(55) Einleitung 1:11. Ford-Fulkerson. Einfache Beispiele (zweiter Versuch). Algorithmus von Dinitz. 9/13. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Zweiter Versuch am einfachen Beispiel n = |V |, m = |E |. Idee: finde in jedem Schritt einen erweiternden Pfad von s nach t.. 3 3 / /6 / 6/ 0 0. b1 0. s 0. 3/ 6 / 2 32/6/2. /0 1/ 6 6/ 0 1/ 2/ 6 2/ 6 / 0 /0. c1 0. c2 0. a 0 2 6/ 2 0/6 2/6/ 0. b2 0. /2 0/666/2 / 2 0 06/6 0/ 6 / 0 /0. c3 0. c4 0. 1/ 1/ 1 / 0 1/ 0. 2/ 2 / 0 2/ 2/ 0 2 / 2/ 02 02/2/2 0 1/ 0/1 1/0 / 0. t 0.

(56) Einleitung 1:11. Ford-Fulkerson. Einfache Beispiele (zweiter Versuch). Algorithmus von Dinitz. 10/13. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Zweiter Versuch am einfachen Beispiel n = |V |, m = |E |. Idee: finde in jedem Schritt einen erweiternden Pfad von s nach t.. 3 3 / /6 / 6/ 0 0. b1 0. s 0. 5/ 6 / 2 52/6/2. /0 1/ 6 6/ 0 1/ 2/ 6 2/ 6 / 0 /0. c1 0. c2 0. a 0 2 6/ 2 2/ 2/6/ 2. b2 0. /2 2/ 6 6/ 2 / 2 2 06/6 0/ 6 / 0 /0. c3 0. c4 0. 1/ 1/ 1 / 0 1/ 0. 2/ 2 / 0 2/ 2/ 0 2/ 2 / 2 22/2/2 0 1/ 0/1 1/0 / 0. t 0.

(57) Einleitung 1:11. Ford-Fulkerson. Einfache Beispiele (zweiter Versuch). Algorithmus von Dinitz. 11/13. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Zweiter Versuch am einfachen Beispiel n = |V |, m = |E |. Idee: finde in jedem Schritt einen erweiternden Pfad von s nach t.. 3 3 / /6 / 6/ 0 0. b1 0. s 0. 5/ 6 / 0 5/ 6/ 0. /0 1/ 6 6/ 0 1/ 2/ 6 2/ 6 / 0 /0. c1 0. c2 0. a 0 0 6/ 0 2/ / 6/ 2. b2 0. /0 2/ 6 6/ 0 / 2 06/6 0/ 6 / 0 /0. c3 0. c4 0. 1/ 1/ 1 / 0 1/ 0. 2/ 2 / 0 2/ 2/ 0 2/ 2 / 0 2/ 2/ 0 0 1/ 0/1 1/0 / 0. t 0.

(58) Einleitung 1:11. Ford-Fulkerson. Einfache Beispiele (zweiter Versuch). Algorithmus von Dinitz. 12/13. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Zweiter Versuch am einfachen Beispiel n = |V |, m = |E |. Idee: finde in jedem Schritt einen erweiternden Pfad von s nach t.. 3 3 / /6 / 6/ 0 0. b1 0. s 0. 5/ 6 / 1 51/6/1. /0 1/ 6 6/ 0 1/ 2/ 6 2/ 6 / 0 /0. c1 0. c2 0. a 0 1 6/ 1 2/ 1/6/ 2. b2 0. /0 2/ 6 6/ 0 / 2 06/6 01/6 /1 /1. c3 0. c4 0. 1/ 1/ 1 / 0 1/ 0. 2/ 2 / 0 2/ 2/ 0 2/ 2 / 0 2/ 2/ 0 1 1/ 0/1 1/1 / 01. t 0.

(59) Einleitung 1:11. Ford-Fulkerson. Einfache Beispiele (zweiter Versuch). Algorithmus von Dinitz. 13/13. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Zweiter Versuch am einfachen Beispiel n = |V |, m = |E |. Idee: finde in jedem Schritt einen erweiternden Pfad von s nach t.. 3 3 / /6 / 6/ 0 0. b1 0. s 0. 6/ 6 / 1 61/6/1. /0 1/ 6 6/ 0 1/ 2/ 6 2/ 6 / 0 /0. c1 0. c2 0. a 0 1 6/ 1 3/ 1/6/ 3. b2 0. /0 2/ 6 6/ 0 / 2 1/ 6 11/6 /1 /1. c3 0. c4 0. 1/ 1/ 1 / 0 1/ 0. 2/ 2 / 0 2/ 2/ 0 2/ 2 / 0 2/ 2/ 0 1 1/ 1/ 1/ 1 / 11. t 0.

(60) Einleitung 1:12. Ford-Fulkerson. Einfache Beispiele (zweiter Versuch). Algorithmus von Dinitz. 1/16. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Kleines Beispiel n = |V |, m = |E |. Idee: finde in jedem Schritt einen flussvergrößernden Pfad von s nach t.. 05 /5/0 0/5/0. 0 0/ 1/1 1/ /0 0. h 0. 05 /5/0 0/5/0. f 0 02 /2/0 0/2/0. 03 /3/0 0/3/0. 0 1/ /0 0/1 /1 0. 03 /3/0 0/3/0. 0 5/ /0 0/5 /5 0. g 0. e 0. i 0. 05 /5/0 0/5/0. t 0. 0 0/ 5/5 5/ /0 0. 0 0/ 1/1 1/ /0 0. 04 /4/0 0/4/0. 0 0 5/ /0 0/5 /5 0. d 0. c. 02 /2/0 0/2/0. 05 /5/0 0/5/0. 04 /4/0 0/4/0. 0 1/ /0 0/1 /1 0. s 0. 03 /3/0 0/3/0. 0 0/ 5/5 5/ /0 0. 0. b 0 03 /3/0 0/3/0. 05 /5/0 0/5/0. 03 /3/0 0/3/0. a.

(61) Einleitung 1:12. Ford-Fulkerson. Einfache Beispiele (zweiter Versuch). Algorithmus von Dinitz. 2/16. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Kleines Beispiel n = |V |, m = |E |. Idee: finde in jedem Schritt einen flussvergrößernden Pfad von s nach t.. 05 /5/0 0/5/0. 0 0/ 1/1 1/ /0 0. h 0. 05 /5/0 0/5/0. f 0 02 /2/0 0/2/0. 03 /3/0 0/3/0. 0 1/ /0 0/1 /1 0. 03 /3/0 0/3/0. 0 5/ /0 0/5 /5 0. g 0. e 0. i 0. 05 /5/0 0/5/0. t 0. 0 0/ 5/5 5/ /0 0. 0 0/ 1/1 1/ /0 0. 04 /4/0 0/4/0. 0 0 5/ /0 0/5 /5 0. d 0. c. 02 /2/0 0/2/0. 05 /5/0 0/5/0. 04 /4/0 0/4/0. 0 1/ /0 0/1 /1 0. s 0. 03 /3/0 0/3/0. 0 0/ 5/5 5/ /0 0. 0. b 0 03 /3/0 0/3/0. 05 /5/0 0/5/0. 03 /3/0 0/3/0. a.

(62) Einleitung 1:12. Ford-Fulkerson. Einfache Beispiele (zweiter Versuch). Algorithmus von Dinitz. 3/16. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Kleines Beispiel n = |V |, m = |E |. Idee: finde in jedem Schritt einen flussvergrößernden Pfad von s nach t.. 05 /5/0 0/5/0. 0 0/ 1/1 1/ /0 0. h 0. 05 /5/0 0/5/0. f 0 02 /2/0 0/2/0. 03 /3/0 0/3/0. 0 1/ /0 0/1 /1 0. 03 /3/0 0/3/0. 0 5/ /0 0/5 /5 0. g 0. e 0. i 0. 05 /5/0 0/5/0. t 0. 0 0/ 5/5 5/ /0 0. 0 0/ 1/1 1/ /0 0. 04 /4/0 0/4/0. 0 4 5/ /4 0/5 4/5 0. d 0. c. 02 /2/0 0/2/0. 05 /5/0 0/5/0. 04 /4/4 04 /4/4. 0 1/ /0 0/1 /1 0. s 0. 03 /3/0 0/3/0. 0 04/ 5/5 5/ /4 4. 0. b 0 03 /3/0 0/3/0. 05 /5/4 04 /5/4. 03 /3/0 0/3/0. a.

(63) Einleitung 1:12. Ford-Fulkerson. Einfache Beispiele (zweiter Versuch). Algorithmus von Dinitz. 4/16. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Kleines Beispiel n = |V |, m = |E |. Idee: finde in jedem Schritt einen flussvergrößernden Pfad von s nach t.. 05 /5/0 0/5/0. 0 0/ 1/1 1/ /0 0. h 0. 05 /5/0 0/5/0. f 0 02 /2/0 0/2/0. 03 /3/0 0/3/0. 0 1/ /0 0/1 /1 0. 03 /3/0 0/3/0. 0 5/ /0 0/5 /5 0. g 0. e 0. i 0. 05 /5/0 0/5/0. t 0. 0 0/ 5/5 5/ /0 0. 0 0/ 1/1 1/ /0 0. 04 /4/0 0/4/0. 0 4 5 / /4 4/ 4/5 4. d 0. c. 02 /2/0 0/2/0. 05 /5/0 0/5/0. 4/4/4 44 /4/4. 0 1/ /0 0/1 /1 0. s 0. 03 /3/0 0/3/0. 4 44/ /5 5/ /4 4. 0. b 0 03 /3/0 0/3/0. 4/5/4 44 /5/4. 03 /3/0 0/3/0. a.

(64) Einleitung 1:12. Ford-Fulkerson. Einfache Beispiele (zweiter Versuch). Algorithmus von Dinitz. 5/16. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Kleines Beispiel n = |V |, m = |E |. Idee: finde in jedem Schritt einen flussvergrößernden Pfad von s nach t.. 05 /5/0 0/5/0. 0 0/ 1/1 1/ /0 0. h 0. 05 /5/0 0/5/0. f 0 02 /2/0 0/2/0. 03 /3/0 0/3/0. 0 1/ /0 0/1 /1 0. 03 /3/0 0/3/0. 0 5/ /0 0/5 /5 0. g 0. e 0. i 0. 05 /5/0 0/5/0. t 0. 0 0/ 5/5 5/ /0 0. 0 0/ 1/1 1/ /0 0. 04 /4/0 0/4/0. 0 0 5 / /0 4/ /5 4. d 0. c. 02 /2/0 0/2/0. 05 /5/0 0/5/0. 4/4/0 4/4/0. 0 1/ /0 0/1 /1 0. s 0. 03 /3/0 0/3/0. 4 4/ /5 5/ /0 0. 0. b 0 03 /3/0 0/3/0. 4/5/0 4/5/0. 03 /3/0 0/3/0. a.

(65) Einleitung 1:12. Ford-Fulkerson. Einfache Beispiele (zweiter Versuch). Algorithmus von Dinitz. 6/16. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Kleines Beispiel n = |V |, m = |E |. Idee: finde in jedem Schritt einen flussvergrößernden Pfad von s nach t.. 05 /5/4 04 /5/4. 0 0/ 1/1 1/ /0 0. h 0. 05 /5/0 0/5/0. f 0 02 /2/0 0/2/0. 03 /3/0 0/3/0. 0 1/ /0 0/1 /1 0. 03 /3/0 0/3/0. 0 5/ /0 0/5 /5 0. g 0. e 0. i 0. 05 /5/4 04 /5/4. t 0. 0 0/ 5/5 5/ /0 0. 0 0/ 1/1 1/ /0 0. 04 /4/4 04 /4/4. 0 0 5 / /0 4/ /5 4. d 0. c. 02 /2/0 0/2/0. 05 /5/4 04 /5/4. 4/4/0 4/4/0. 0 1/ /0 0/1 /1 0. s 0. 03 /3/0 0/3/0. 4 4/ /5 5/ /0 0. 0. b 0 03 /3/0 0/3/0. 4/5/0 4/5/0. 03 /3/0 0/3/0. a.

(66) Einleitung 1:12. Ford-Fulkerson. Einfache Beispiele (zweiter Versuch). Algorithmus von Dinitz. 7/16. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Kleines Beispiel n = |V |, m = |E |. Idee: finde in jedem Schritt einen flussvergrößernden Pfad von s nach t.. 4/5/4 44 /5/4. 0 0/ 1/1 1/ /0 0. h 0. 05 /5/0 0/5/0. f 0 02 /2/0 0/2/0. 03 /3/0 0/3/0. 0 1/ /0 0/1 /1 0. 03 /3/0 0/3/0. 0 5/ /0 0/5 /5 0. g 0. e 0. i 0. 4/5/4 44 /5/4. t 0. 0 0/ 5/5 5/ /0 0. 0 0/ 1/1 1/ /0 0. 4/4/4 44 /4/4. 0 0 5 / /0 4/ /5 4. d 0. c. 02 /2/0 0/2/0. 4/5/4 44 /5/4. 4/4/0 4/4/0. 0 1/ /0 0/1 /1 0. s 0. 03 /3/0 0/3/0. 4 4/ /5 5/ /0 0. 0. b 0 03 /3/0 0/3/0. 4/5/0 4/5/0. 03 /3/0 0/3/0. a.

(67) Einleitung 1:12. Ford-Fulkerson. Einfache Beispiele (zweiter Versuch). Algorithmus von Dinitz. 8/16. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Kleines Beispiel n = |V |, m = |E |. Idee: finde in jedem Schritt einen flussvergrößernden Pfad von s nach t.. 4/5/0 4/5/0. 0 0/ 1/1 1/ /0 0. h 0. 05 /5/0 0/5/0. f 0 02 /2/0 0/2/0. 03 /3/0 0/3/0. 0 1/ /0 0/1 /1 0. 03 /3/0 0/3/0. 0 5/ /0 0/5 /5 0. g 0. e 0. i 0. 4/5/0 4/5/0. t 0. 0 0/ 5/5 5/ /0 0. 0 0/ 1/1 1/ /0 0. 4/4/0 4/4/0. 0 0 5 / /0 4/ /5 4. d 0. c. 02 /2/0 0/2/0. 4/5/0 4/5/0. 4/4/0 4/4/0. 0 1/ /0 0/1 /1 0. s 0. 03 /3/0 0/3/0. 4 4/ /5 5/ /0 0. 0. b 0 03 /3/0 0/3/0. 4/5/0 4/5/0. 03 /3/0 0/3/0. a.

(68) Einleitung 1:12. Ford-Fulkerson. Einfache Beispiele (zweiter Versuch). Algorithmus von Dinitz. 9/16. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Kleines Beispiel n = |V |, m = |E |. Idee: finde in jedem Schritt einen flussvergrößernden Pfad von s nach t.. 4/5/0 4/5/0. 0 0/ 1/1 1/ /0 0. h 0. 05 /5/3 03 /5/3. f 0 02 /2/0 0/2/0. 03 /3/3 03 /3/3. 0 1/ /0 0/1 /1 0. 03 /3/0 0/3/0. 3 5/ /3 0/5 3/5 0. g 0. e 0. i 0. 4/5/0 4/5/0. t 0. 0 03/ 5/5 5/ /3 3. 0 0/ 1/1 1/ /0 0. 4/4/0 4/4/0. 0 0 5 / /0 4/ /5 4. d 0. c. 02 /2/0 0/2/0. 4/5/0 4/5/0. 4/4/0 4/4/0. 0 1/ /0 0/1 /1 0. s 0. 03 /3/0 0/3/0. 4 4/ /5 5/ /0 0. 0. b 0 03 /3/0 0/3/0. 4/5/0 4/5/0. 03 /3/0 0/3/0. a.

(69) Einleitung 1:12. Ford-Fulkerson. Einfache Beispiele (zweiter Versuch). Algorithmus von Dinitz. 10/16. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Kleines Beispiel n = |V |, m = |E |. Idee: finde in jedem Schritt einen flussvergrößernden Pfad von s nach t.. 4/5/0 4/5/0. 0 0/ 1/1 1/ /0 0. h 0. 3/5/3 33 /5/3. f 0 02 /2/0 0/2/0. 3/3/3 33 /3/3. 0 1/ /0 0/1 /1 0. 03 /3/0 0/3/0. 3 5 / /3 3/ 3/5 3. g 0. e 0. i 0. 4/5/0 4/5/0. t 0. 3 33/ /5 5/ /3 3. 0 0/ 1/1 1/ /0 0. 4/4/0 4/4/0. 0 0 5 / /0 4/ /5 4. d 0. c. 02 /2/0 0/2/0. 4/5/0 4/5/0. 4/4/0 4/4/0. 0 1/ /0 0/1 /1 0. s 0. 03 /3/0 0/3/0. 4 4/ /5 5/ /0 0. 0. b 0 03 /3/0 0/3/0. 4/5/0 4/5/0. 03 /3/0 0/3/0. a.

(70) Einleitung 1:12. Ford-Fulkerson. Einfache Beispiele (zweiter Versuch). Algorithmus von Dinitz. 11/16. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Kleines Beispiel n = |V |, m = |E |. Idee: finde in jedem Schritt einen flussvergrößernden Pfad von s nach t.. 4/5/0 4/5/0. 0 0/ 1/1 1/ /0 0. h 0. 3/5/0 3/5/0. f 0 02 /2/0 0/2/0. 3/3/0 3/3/0. 0 1/ /0 0/1 /1 0. 03 /3/0 0/3/0. 0 5 / /0 3/ /5 3. g 0. e 0. i 0. 4/5/0 4/5/0. t 0. 3 3/ /5 5/ /0 0. 0 0/ 1/1 1/ /0 0. 4/4/0 4/4/0. 0 0 5 / /0 4/ /5 4. d 0. c. 02 /2/0 0/2/0. 4/5/0 4/5/0. 4/4/0 4/4/0. 0 1/ /0 0/1 /1 0. s 0. 03 /3/0 0/3/0. 4 4/ /5 5/ /0 0. 0. b 0 03 /3/0 0/3/0. 4/5/0 4/5/0. 03 /3/0 0/3/0. a.

(71) Einleitung 1:12. Ford-Fulkerson. Einfache Beispiele (zweiter Versuch). Algorithmus von Dinitz. 12/16. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Kleines Beispiel n = |V |, m = |E |. Idee: finde in jedem Schritt einen flussvergrößernden Pfad von s nach t. Geht hier auch gut.. 4/5/0 4/5/0. 0 0/ 1/1 1/ /0 0. h 0. 3/5/0 3/5/0. f 0 02 /2/0 0/2/0. 3/3/0 3/3/0. 0 1/ /0 0/1 /1 0. 03 /3/0 0/3/0. 0 5 / /0 3/ /5 3. g 0. e 0. i 0. 4/5/1 41 /5/1. t 0. 3 3/ /5 5/ /0 0. 0 01/ 1/1 1/ /1 1. 4/4/0 4/4/0. 0 0 5 / /0 4/ /5 4. d 0. c. 02 /2/0 0/2/0. 4/5/1 41 /5/1. 4/4/0 4/4/0. 1 1/ /1 0/1 1/1 0. s 0. 03 /3/0 0/3/0. 4 4/ /5 5/ /0 0. 0. b 0 03 /3/0 0/3/0. 4/5/0 4/5/0. 03 /3/0 0/3/0. a.

(72) Einleitung 1:12. Ford-Fulkerson. Einfache Beispiele (zweiter Versuch). Algorithmus von Dinitz. 13/16. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Kleines Beispiel n = |V |, m = |E |. Idee: finde in jedem Schritt einen flussvergrößernden Pfad von s nach t.. 4/5/0 4/5/0. 0 0/ 1/1 1/ /0 0. h 0. 3/5/0 3/5/0. f 0 02 /2/0 0/2/0. 3/3/0 3/3/0. 0 1/ /0 0/1 /1 0. 03 /3/0 0/3/0. 0 5 / /0 3/ /5 3. g 0. e 0. i 0. 5/5/1 51 /5/1. t 0. 3 3/ /5 5/ /0 0. 1 11/ /1 1/ /1 1. 4/4/0 4/4/0. 0 0 5 / /0 4/ /5 4. d 0. c. 02 /2/0 0/2/0. 5/5/1 51 /5/1. 4/4/0 4/4/0. 1 1 / /1 1/ 1/1 1. s 0. 03 /3/0 0/3/0. 4 4/ /5 5/ /0 0. 0. b 0 03 /3/0 0/3/0. 4/5/0 4/5/0. 03 /3/0 0/3/0. a.

(73) Einleitung 1:12. Ford-Fulkerson. Einfache Beispiele (zweiter Versuch). Algorithmus von Dinitz. 14/16. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Kleines Beispiel n = |V |, m = |E |. Idee: finde in jedem Schritt einen flussvergrößernden Pfad von s nach t.. 4/5/0 4/5/0. 0 0/ 1/1 1/ /0 0. h 0. 3/5/0 3/5/0. f 0 02 /2/0 0/2/0. 3/3/0 3/3/0. 0 1/ /0 0/1 /1 0. 03 /3/0 0/3/0. 0 5 / /0 3/ /5 3. g 0. e 0. i 0. 5/5/0 5/5/0. t 0. 3 3/ /5 5/ /0 0. 1 1/ /1 1/ /0 0. 4/4/0 4/4/0. 0 0 5 / /0 4/ /5 4. d 0. c. 02 /2/0 0/2/0. 5/5/0 5/5/0. 4/4/0 4/4/0. 0 1 / /0 1/ /1 1. s 0. 03 /3/0 0/3/0. 4 4/ /5 5/ /0 0. 0. b 0 03 /3/0 0/3/0. 4/5/0 4/5/0. 03 /3/0 0/3/0. a.

(74) Einleitung 1:12. Ford-Fulkerson. Einfache Beispiele (zweiter Versuch). Algorithmus von Dinitz. 15/16. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Kleines Beispiel n = |V |, m = |E |. Idee: finde in jedem Schritt einen flussvergrößernden Pfad von s nach t.. 4/5/0 4/5/0. 0 01/ 1/1 1/ /1 1. h 0. 3/5/0 3/5/0. f 0 02 /2/0 0/2/0. 3/3/0 3/3/0. 1 1/ /1 0/1 1/1 0. 03 /3/0 0/3/0. 1 5 / /1 3/ 1/5 3. g 0. e 0. i 0. 5/5/0 5/5/0. t 0. 3 31/ /5 5/ /1 1. 1 1/ /1 1/ /0 0. 4/4/0 4/4/0. 0 0 5 / /0 4/ /5 4. d 0. c. 02 /2/0 0/2/0. 5/5/0 5/5/0. 4/4/0 4/4/0. 0 1 / /0 1/ /1 1. s 0. 03 /3/0 0/3/0. 4 4/ /5 5/ /0 0. 0. b 0 03 /3/0 0/3/0. 4/5/0 4/5/0. 03 /3/0 0/3/0. a.

(75) Einleitung 1:12. Ford-Fulkerson. Einfache Beispiele (zweiter Versuch). Algorithmus von Dinitz. 16/16. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Kleines Beispiel n = |V |, m = |E |. Idee: finde in jedem Schritt einen flussvergrößernden Pfad von s nach t.. 4/5/0 4/5/0. 1 11/ /1 1/ /1 1. h 0. 3/5/0 3/5/0. f 0 02 /2/0 0/2/0. 3/3/0 3/3/0. 1 1 / /1 1/ 1/1 1. 03 /3/0 0/3/0. 1 5 / /1 4/ 1/5 4. g 0. e 0. i 0. 5/5/0 5/5/0. t 0. 4 41/ /5 5/ /1 1. 1 1/ /1 1/ /0 0. 4/4/0 4/4/0. 0 0 5 / /0 4/ /5 4. d 0. c. 02 /2/0 0/2/0. 5/5/0 5/5/0. 4/4/0 4/4/0. 0 1 / /0 1/ /1 1. s 0. 03 /3/0 0/3/0. 4 4/ /5 5/ /0 0. 0. b 0 03 /3/0 0/3/0. 4/5/0 4/5/0. 03 /3/0 0/3/0. a.

(76) Einleitung 1:13. Ford-Fulkerson. Einfache Beispiele (zweiter Versuch). Algorithmus von Dinitz. 1/22. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. schönes Beispiel n = |V |, m = |E |. Idee: finde in jedem Schritt einen erweiternden Pfad von s nach t.. 0 0/ 8/8 8 / /0 0. 0/6/0 6 0/6/0 0/ 0/2 2/ 2/ 0 0. f 0. 0/4/ 40 0/4/ 0. /0 33 /0 0/ 0/3. g /0 44 /0 0/ 0/4. 0/ 0/ 5 5/ 5/ 0 0. 0/4/0 4 0/4/0. h 0. i 0. 0/ 55 0/5 /0 /0 0 0/ 44/ 0 0/4/. 0/ 0/ 44/0 4/ 0. 0/8/0 8 0/8/0. l 0. 0/ 44 0/4 /0 /0. t /0 44 /0 0/ 0/4. m 0 0/3/0 3 0/3/0. 0 7/ /0 0/7/7 0. 0/4/ 40 0/4/ 0. 0. k 0. 0/1/0 1 0/1/0. 0/ 66 0/6 /0 /0. 0. d 0. e 0. 0 1/ /0 0/1/1 0. 0 0/ 44/ 0 0/4/. 0/4/0 4 0/4/0. c. 0/ 0/ 44/0 4/ 0. 0/3/0 3 0/3/0. 0/ 11 0/1 /0 /0. 0/7/0 7 0/7/0. s 0. 0/6/0 6 0/6/0. /0 55 /0 0/ 0/5. b 0. 0/4/0 4 0/4/0. n 0. 0 0/ 6/6 6/ /0 0. a 0. 0.

(77) Einleitung 1:13. Ford-Fulkerson. Einfache Beispiele (zweiter Versuch). Algorithmus von Dinitz. 2/22. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. schönes Beispiel n = |V |, m = |E |. Idee: finde in jedem Schritt einen erweiternden Pfad von s nach t.. 0 0/ 8/8 8 / /0 0. 0/6/0 6 0/6/0 0/ 0/2 2/ 2/ 0 0. f 0. 0/4/ 40 0/4/ 0. /0 33 /0 0/ 0/3. g /0 44 /0 0/ 0/4. 0/ 0/ 5 5/ 5/ 0 0. 0/4/0 4 0/4/0. h 0. i 0. 0/ 55 0/5 /0 /0 0 0/ 44/ 0 0/4/. 0/ 0/ 44/0 4/ 0. 0/8/0 8 0/8/0. l 0. 0/ 44 0/4 /0 /0. t /0 44 /0 0/ 0/4. m 0 0/3/0 3 0/3/0. 0 7/ /0 0/7/7 0. 0/4/ 40 0/4/ 0. 0. k 0. 0/1/0 1 0/1/0. 0/ 66 0/6 /0 /0. 0. d 0. e 0. 0 1/ /0 0/1/1 0. 0 0/ 44/ 0 0/4/. 0/4/0 4 0/4/0. c. 0/ 0/ 44/0 4/ 0. 0/3/0 3 0/3/0. 0/ 11 0/1 /0 /0. 0/7/0 7 0/7/0. s 0. 0/6/0 6 0/6/0. /0 55 /0 0/ 0/5. b 0. 0/4/0 4 0/4/0. n 0. 0 0/ 6/6 6/ /0 0. a 0. 0.

(78) Einleitung 1:13. Ford-Fulkerson. Einfache Beispiele (zweiter Versuch). Algorithmus von Dinitz. 3/22. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. schönes Beispiel n = |V |, m = |E |. Idee: finde in jedem Schritt einen erweiternden Pfad von s nach t.. 0 0/28/8 8 / /2 2. 0/6/0 6 0/6/0 0/ 0/22 2/ 2/ 2 2. f 0. 0/4/ 40 0/4/ 0. /0 33 /0 0/ 0/3. g /0 44 /0 0/ 0/4. 0/ 0/ 5 5/ 5/ 0 0. 0/4/0 4 0/4/0. h 0. i 0. 0/ 55 0/5 /0 /0 0 0/ 44/ 0 0/4/. 0/ 0/ 44/0 4/ 0. 0/8/0 8 0/8/0. l 0. 0/ 44 0/ 24 /2 /2. t /0 44 /0 0/ 0/4. m 0 0/3/0 3 0/3/0. 0 7/ /0 0/7/7 0. 0/4/ 40 0/4/ 0. 0. k 0. 0/1/0 1 0/1/0. 0/ 66 0/6 /0 /0. 0. d 0. e 0. 0 1/ /0 0/1/1 0. 0 0/ 44/ 0 0/4/. 0/4/0 4 0/4/0. c. 0/ 0/ 44/0 4/ 0. 0/3/0 3 0/3/0. 0/ 11 0/1 /0 /0. 0/7/0 7 0/7/0. s 0. 0/6/0 6 0/6/0. /0 55 /0 0/ 0/5. b 0. 0/4/2 4 2 0/4/2. n 0. 0 0/ 6/6 6/ /0 0. a 0. 0.

(79) Einleitung 1:13. Ford-Fulkerson. Einfache Beispiele (zweiter Versuch). Algorithmus von Dinitz. 4/22. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. schönes Beispiel n = |V |, m = |E |. Idee: finde in jedem Schritt einen erweiternden Pfad von s nach t.. 2 2/2 /8 8 / /2 2. 0/6/0 6 0/6/0 2/ 2/2 2/ 2/ 2 2. f 0. 0/4/ 40 0/4/ 0. /0 33 /0 0/ 0/3. g /0 44 /0 0/ 0/4. 0/ 0/5 5/ 5/ 0 0. 0/4/0 4 0/4/0. h 0. i 0. 0/ 55 0/5 /0 /0 0 0/ 44/ 0 0/4/. 0/ 0/ 44/0 4/ 0. 0/8/0 8 0/8/0. l 0. 2/4 2/ 24 /2 /2. t /0 44 /0 0/ 0/4. m 0 0/3/0 3 0/3/0. 0 7/ /0 0/7/7 0. 0/4/ 40 0/4/ 0. 0. k 0. 0/1/0 1 0/1/0. 0/ 66 0/6 /0 /0. 0. d 0. e 0. 0 1/ /0 0/1/1 0. 0 0/ 44/ 0 0/4/. 0/4/0 4 0/4/0. c. 0/ 0/ 44/0 4/ 0. 0/3/0 3 0/3/0. 0/ 11 0/1 /0 /0. 0/7/0 7 0/7/0. s 0. 0/6/0 6 0/6/0. /0 55 /0 0/ 0/5. b 0. 2/4/2 2/4 2 2/4/2. n 0. 0 0/ 6/6 6/ /0 0. a 0. 0.

(80) Einleitung 1:13. Ford-Fulkerson. Einfache Beispiele (zweiter Versuch). Algorithmus von Dinitz. 5/22. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. schönes Beispiel n = |V |, m = |E |. Idee: finde in jedem Schritt einen erweiternden Pfad von s nach t.. 2 2 / /8 8 / /0 0. 0/6/0 6 0/6/0 2/ 2/ 2/ 2/ 0 0. f 0. 0/4/ 40 0/4/ 0. /0 33 /0 0/ 0/3. g /0 44 /0 0/ 0/4. 0/ 0/5 5/ 5/ 0 0. 0/4/0 4 0/4/0. h 0. i 0. 0/ 55 0/5 /0 /0 0 0/ 44/ 0 0/4/. 0/ 0/ 44/0 4/ 0. 0/8/0 8 0/8/0. l 0. 2/4 2/4 /0 /0. t /0 44 /0 0/ 0/4. m 0 0/3/0 3 0/3/0. 0 7/ /0 0/7/7 0. 0/4/ 40 0/4/ 0. 0. k 0. 0/1/0 1 0/1/0. 0/ 66 0/6 /0 /0. 0. d 0. e 0. 0 1/ /0 0/1/1 0. 0 0/ 44/ 0 0/4/. 0/4/0 4 0/4/0. c. 0/ 0/ 44/0 4/ 0. 0/3/0 3 0/3/0. 0/ 11 0/1 /0 /0. 0/7/0 7 0/7/0. s 0. 0/6/0 6 0/6/0. /0 55 /0 0/ 0/5. b 0. 2/4/0 2/4 2/4/0. n 0. 0 0/ 6/6 6/ /0 0. a 0. 0.

(81) Einleitung 1:13. Ford-Fulkerson. Einfache Beispiele (zweiter Versuch). Algorithmus von Dinitz. 6/22. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. schönes Beispiel n = |V |, m = |E |. Idee: finde in jedem Schritt einen erweiternden Pfad von s nach t.. 2 2 / /8 8 / /0 0. 0/6/0 6 0/6/0 2/ 2/ 2/ 2/ 0 0. f 0. 0/4/ 40 0/4/ 0. /2 33 /2 0/ 23 0/. g /0 44 /0 0/ 0/4. 0/ 0/5 5/ 5/ 0 0. 0/4/0 4 0/4/0. h 0. i 0. 0/ 55 0/5 /0 /0 0 0/ 44/ 0 0/4/. 0/ 0/ 44/0 4/ 0. 0/8/0 8 0/8/0. l 0. 2/4 2/ 24 /2 /2. t /0 44 /0 0/ 0/4. m 0 0/3/0 3 0/3/0. 0 7/ /0 0/7/7 0. 0/4/ 40 0/4/ 0. 0. k 0. 0/1/0 1 0/1/0. 0/ 66 0/ 26 /2 /2. 0. d 0. e 0. 0 1/ /0 0/1/1 0. 0 0/ 44/ 0 0/4/. 0/4/0 4 0/4/0. c. 0/ 0/ 44/0 4/ 0. 0/3/0 3 0/3/0. 0/ 11 0/1 /0 /0. 0/7/0 7 0/7/0. s 0. 0/6/0 6 0/6/0. /2 55 /2 0/ 25 0/. b 0. 2/4/0 2/4 2/4/0. n 0. 0 0/ 6/6 6/ /0 0. a 0. 0.

(82) Einleitung 1:13. Ford-Fulkerson. Einfache Beispiele (zweiter Versuch). Algorithmus von Dinitz. 7/22. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. schönes Beispiel n = |V |, m = |E |. Idee: finde in jedem Schritt einen erweiternden Pfad von s nach t.. 2 2 / /8 8 / /0 0. 0/6/0 6 0/6/0 2/ 2/ 2/ 2/ 0 0. f 0. 0/4/ 40 0/4/ 0. /2 2/3 /2 23 2/. g /0 44 /0 0/ 0/4. 0/ 0/5 5/ 5/ 0 0. 0/4/0 4 0/4/0. h 0. i 0. 0/ 55 0/5 /0 /0 0 0/ 44/ 0 0/4/. 0/ 0/ 44/0 4/ 0. 0/8/0 8 0/8/0. l 0. 4/4 4/ 24 /2 /2. t /0 44 /0 0/ 0/4. m 0 0/3/0 3 0/3/0. 0 7/ /0 0/7/7 0. 0/4/ 40 0/4/ 0. 0. k 0. 0/1/0 1 0/1/0. 2/6 2/ 26 /2 /2. 0. d 0. e 0. 0 1/ /0 0/1/1 0. 0 0/ 44/ 0 0/4/. 0/4/0 4 0/4/0. c. 0/ 0/ 44/0 4/ 0. 0/3/0 3 0/3/0. 0/ 11 0/1 /0 /0. 0/7/0 7 0/7/0. s 0. 0/6/0 6 0/6/0. /2 2/5 /2 25 2/. b 0. 2/4/0 2/4 2/4/0. n 0. 0 0/ 6/6 6/ /0 0. a 0. 0.

(83) Einleitung 1:13. Ford-Fulkerson. Einfache Beispiele (zweiter Versuch). Algorithmus von Dinitz. 8/22. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. schönes Beispiel n = |V |, m = |E |. Idee: finde in jedem Schritt einen erweiternden Pfad von s nach t.. 2 2 / /8 8 / /0 0. 0/6/0 6 0/6/0 2/ 2/ 2/ 2/ 0 0. f 0. 0/4/ 40 0/4/ 0. /0 2/3 /0 2/3. g /0 44 /0 0/ 0/4. 0/ 0/5 5/ 5/ 0 0. 0/4/0 4 0/4/0. h 0. i 0. 0/ 55 0/5 /0 /0 0 0/ 44/ 0 0/4/. 0/ 0/ 44/0 4/ 0. 0/8/0 8 0/8/0. l 0. 4/4 4/4 /0 /0. t /0 44 /0 0/ 0/4. m 0 0/3/0 3 0/3/0. 0 7/ /0 0/7/7 0. 0/4/ 40 0/4/ 0. 0. k 0. 0/1/0 1 0/1/0. 2/6 2/6 /0 /0. 0. d 0. e 0. 0 1/ /0 0/1/1 0. 0 0/ 44/ 0 0/4/. 0/4/0 4 0/4/0. c. 0/ 0/ 44/0 4/ 0. 0/3/0 3 0/3/0. 0/ 11 0/1 /0 /0. 0/7/0 7 0/7/0. s 0. 0/6/0 6 0/6/0. /0 2/5 /0 2/5. b 0. 2/4/0 2/4 2/4/0. n 0. 0 0/ 6/6 6/ /0 0. a 0. 0.

(84) Einleitung 1:13. Ford-Fulkerson. Einfache Beispiele (zweiter Versuch). Algorithmus von Dinitz. 9/22. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. schönes Beispiel n = |V |, m = |E |. Idee: finde in jedem Schritt einen erweiternden Pfad von s nach t.. 2 2 / /8 8 / /0 0. 0/6/0 6 0/6/0 2/ 2/ 2/ 2/ 0 0. f 0. 0/4/ 40 0/4/ 0. /0 2/3 /0 2/3. g /0 44 /0 0/ 0/4. 0/ 0/5 5/ 5/ 0 0. 0/4/0 4 0/4/0. h 0. i 0. 0/ 55 0/ 35 /3 /3 0 0/ 44/ 0 0/4/. 0/ 0/ 44/0 4/ 0. 0/8/0 8 0/8/0. l 0. 4/4 4/4 /0 /0. t /3 44 /3 0/ 34 0/. m 0 0/3/0 3 0/3/0. 0 7/ /0 0/7/7 0. 0/4/ 40 0/4/ 0. 0. k 0. 0/1/0 1 0/1/0. 2/6 2/ 36 /3 /3. 0. d 0. e 0. 0 1/ /0 0/1/1 0. 0 0/ 44/ 0 0/4/. 0/4/0 4 0/4/0. c. 0/ 0/ 44/0 4/ 0. 0/3/0 3 0/3/0. 0/ 11 0/1 /0 /0. 0/7/0 7 0/7/0. s 0. 0/6/0 6 0/6/0. /3 2/5 /3 35 2/. b 0. 2/4/0 2/4 2/4/0. n 0. 0 0/ 6/6 6/ /0 0. a 0. 0.

(85) Einleitung 1:13. Ford-Fulkerson. Einfache Beispiele (zweiter Versuch). Algorithmus von Dinitz. 10/22. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. schönes Beispiel n = |V |, m = |E |. Idee: finde in jedem Schritt einen erweiternden Pfad von s nach t.. 2 2 / /8 8 / /0 0. 0/6/0 6 0/6/0 2/ 2/ 2/ 2/ 0 0. f 0. 0/4/ 40 0/4/ 0. /0 2/3 /0 2/3. g /0 44 /0 0/ 0/4. 0/ 0/5 5/ 5/ 0 0. 0/4/0 4 0/4/0. h 0. i 0. 3/5 3/ 35 /3 /3 0 0/ 44/ 0 0/4/. 0/ 0/ 44/0 4/ 0. 0/8/0 8 0/8/0. l 0. 4/4 4/4 /0 /0. t /3 3/4 /3 34 3/. m 0 0/3/0 3 0/3/0. 0 7/ /0 0/7/7 0. 0/4/ 40 0/4/ 0. 0. k 0. 0/1/0 1 0/1/0. 5/6 5/ 36 /3 /3. 0. d 0. e 0. 0 1/ /0 0/1/1 0. 0 0/ 44/ 0 0/4/. 0/4/0 4 0/4/0. c. 0/ 0/ 44/0 4/ 0. 0/3/0 3 0/3/0. 0/ 11 0/1 /0 /0. 0/7/0 7 0/7/0. s 0. 0/6/0 6 0/6/0. /3 5/5 /3 35 5/. b 0. 2/4/0 2/4 2/4/0. n 0. 0 0/ 6/6 6/ /0 0. a 0. 0.

(86) Einleitung 1:13. Ford-Fulkerson. Einfache Beispiele (zweiter Versuch). Algorithmus von Dinitz. 11/22. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. schönes Beispiel n = |V |, m = |E |. Idee: finde in jedem Schritt einen erweiternden Pfad von s nach t.. 2 2 / /8 8 / /0 0. 0/6/0 6 0/6/0 2/ 2/ 2/ 2/ 0 0. f 0. 0/4/ 40 0/4/ 0. /0 2/3 /0 2/3. g /0 44 /0 0/ 0/4. 0/ 0/5 5/ 5/ 0 0. 0/4/0 4 0/4/0. h 0. i 0. 3/5 3/5 /0 /0 0 0/ 44/ 0 0/4/. 0/ 0/ 44/0 4/ 0. 0/8/0 8 0/8/0. l 0. 4/4 4/4 /0 /0. t /0 3/4 /0 3/4. m 0 0/3/0 3 0/3/0. 0 7/ /0 0/7/7 0. 0/4/ 40 0/4/ 0. 0. k 0. 0/1/0 1 0/1/0. 5/6 5/6 /0 /0. 0. d 0. e 0. 0 1/ /0 0/1/1 0. 0 0/ 44/ 0 0/4/. 0/4/0 4 0/4/0. c. 0/ 0/ 44/0 4/ 0. 0/3/0 3 0/3/0. 0/ 11 0/1 /0 /0. 0/7/0 7 0/7/0. s 0. 0/6/0 6 0/6/0. /0 5/5 /0 5/5. b 0. 2/4/0 2/4 2/4/0. n 0. 0 0/ 6/6 6/ /0 0. a 0. 0.

(87) Einleitung 1:13. Ford-Fulkerson. Einfache Beispiele (zweiter Versuch). Algorithmus von Dinitz. 12/22. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. schönes Beispiel n = |V |, m = |E |. Idee: finde in jedem Schritt einen erweiternden Pfad von s nach t.. 2 2/1 /8 8 / /1 1. 0/6/0 6 0/6/0 2/ 2/ 2/ 2/ 0 0. f 0. 0/4/ 40 0/4/ 0. /0 2/3 /0 2/3. g /0 44 /0 0/ 0/4. 0/ 0/5 5/ 5/ 0 0. 0/4/0 4 0/4/0. h 0. i 0. 3/5 3/ 15 /1 /1 0 0/ 44/ 0 0/4/. 0/ 0/ 44/0 4/ 0. 0/8/0 8 0/8/0. l 0. 4/4 4/4 /0 /0. t /1 3/4 /1 14 3/. m 0 0/3/0 3 0/3/0. 0 7/ /0 0/7/7 0. 0/4/ 40 0/4/ 0. 0. k 0. 0/1/0 1 0/1/0. 5/6 5/ 16 /1 /1. 0. d 0. e 0. 0 1/ /0 0/1/1 0. 0 0/ 44/ 0 0/4/. 0/4/0 4 0/4/0. c. 0/ 0/ 44/0 4/ 0. 0/3/0 3 0/3/0. 0/ 11 0/1 /0 /0. 0/7/0 7 0/7/0. s 0. 0/6/1 6 1 0/6/1. /0 5/5 /0 5/5. b 0. 2/4/0 2/4 2/4/0. n 0. 0 0/ 6/6 6/ /0 0. a 0. 0.

(88) Einleitung 1:13. Ford-Fulkerson. Einfache Beispiele (zweiter Versuch). Algorithmus von Dinitz. 13/22. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. schönes Beispiel n = |V |, m = |E |. Idee: finde in jedem Schritt einen erweiternden Pfad von s nach t.. 3 3/1 /8 8 / /1 1. 0/6/0 6 0/6/0 2/ 2/ 2/ 2/ 0 0. f 0. 0/4/ 40 0/4/ 0. /0 2/3 /0 2/3. g /0 44 /0 0/ 0/4. 0/ 0/5 5/ 5/ 0 0. 0/4/0 4 0/4/0. h 0. i 0. 4/5 4/ 15 /1 /1 0 0/ 44/ 0 0/4/. 0/ 0/ 44/0 4/ 0. 0/8/0 8 0/8/0. l 0. 4/4 4/4 /0 /0. t /1 4/4 /1 14 4/. m 0 0/3/0 3 0/3/0. 0 7/ /0 0/7/7 0. 0/4/ 40 0/4/ 0. 0. k 0. 0/1/0 1 0/1/0. 6/6 6/ 16 /1 /1. 0. d 0. e 0. 0 1/ /0 0/1/1 0. 0 0/ 44/ 0 0/4/. 0/4/0 4 0/4/0. c. 0/ 0/ 44/0 4/ 0. 0/3/0 3 0/3/0. 0/ 11 0/1 /0 /0. 0/7/0 7 0/7/0. s 0. 1/6/1 1/6 1 1/6/1. /0 5/5 /0 5/5. b 0. 2/4/0 2/4 2/4/0. n 0. 0 0/ 6/6 6/ /0 0. a 0. 0.

(89) Einleitung 1:13. Ford-Fulkerson. Einfache Beispiele (zweiter Versuch). Algorithmus von Dinitz. 14/22. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. schönes Beispiel n = |V |, m = |E |. Idee: finde in jedem Schritt einen erweiternden Pfad von s nach t.. 3 3 / /8 8 / /0 0. 0/6/0 6 0/6/0 2/ 2/ 2/ 2/ 0 0. f 0. 0/4/ 40 0/4/ 0. /0 2/3 /0 2/3. g /0 44 /0 0/ 0/4. 0/ 0/5 5/ 5/ 0 0. 0/4/0 4 0/4/0. h 0. i 0. 4/5 4/5 /0 /0 0 0/ 44/ 0 0/4/. 0/ 0/ 44/0 4/ 0. 0/8/0 8 0/8/0. l 0. 4/4 4/4 /0 /0. t /0 4/4 /0 4/4. m 0 0/3/0 3 0/3/0. 0 7/ /0 0/7/7 0. 0/4/ 40 0/4/ 0. 0. k 0. 0/1/0 1 0/1/0. 6/6 6/6 /0 /0. 0. d 0. e 0. 0 1/ /0 0/1/1 0. 0 0/ 44/ 0 0/4/. 0/4/0 4 0/4/0. c. 0/ 0/ 44/0 4/ 0. 0/3/0 3 0/3/0. 0/ 11 0/1 /0 /0. 0/7/0 7 0/7/0. s 0. 1/6/0 1/6 1/6/0. /0 5/5 /0 5/5. b 0. 2/4/0 2/4 2/4/0. n 0. 0 0/ 6/6 6/ /0 0. a 0. 0.

(90) Einleitung 1:13. Ford-Fulkerson. Einfache Beispiele (zweiter Versuch). Algorithmus von Dinitz. 15/22. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. schönes Beispiel n = |V |, m = |E |. Idee: finde in jedem Schritt einen erweiternden Pfad von s nach t.. 3 3 / /8 8 / /0 0. 0/6/0 6 0/6/0 2/ 2/ 2/ 2/ 0 0. f 0. 0/4/ 40 0/4/ 0. /0 2/3 /0 2/3. g /1 44 /1 0/ 14 0/. 0/ 0/5 5/ 5/ 0 0. 0/4/0 4 0/4/0. h 0. i 0. 4/5 4/ 15 /1 /1 0 0/ 44/ 0 0/4/. 0/ 0/ 44/0 4/ 0. 0/8/0 8 0/8/0. l 0. 4/4 4/4 /0 /0. t /0 4/4 /0 4/4. m 0 0/3/1 3 1 0/3/1. 0 7/ /0 0/7/7 0. 0/4/ 40 0/4/ 0. 0. k 0. 0/1/0 1 0/1/0. 6/6 6/6 /0 /0. 0. d 0. e 0. 0 1/ /0 0/1/1 0. 0 0/ 44/ 0 0/4/. 0/4/0 4 0/4/0. c. 0/ 0/ 44/0 4/ 0. 0/3/0 3 0/3/0. 0/ 11 0/ 11 /1 /1. 0/7/0 7 0/7/0. s 0. 1/6/0 1/6 1/6/0. /0 5/5 /0 5/5. b 0. 2/4/0 2/4 2/4/0. n 0. 0 0/16/6 6/ /1 1. a 0. 0.

(91) Einleitung 1:13. Ford-Fulkerson. Einfache Beispiele (zweiter Versuch). Algorithmus von Dinitz. 16/22. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. schönes Beispiel n = |V |, m = |E |. Idee: finde in jedem Schritt einen erweiternden Pfad von s nach t.. 3 3 / /8 8 / /0 0. 0/6/0 6 0/6/0 2/ 2/ 2/ 2/ 0 0. f 0. 0/4/ 40 0/4/ 0. /0 2/3 /0 2/3. g /1 1/4 /1 14 1/. 0/ 0/5 5/ 5/ 0 0. 0/4/0 4 0/4/0. h 0. i 0. 5/5 5/ 15 /1 /1 0 0/ 44/ 0 0/4/. 0/ 0/ 44/0 4/ 0. 0/8/0 8 0/8/0. l 0. 4/4 4/4 /0 /0. t /0 4/4 /0 4/4. m 0 1/3/1 1/3 1 1/3/1. 0 7/ /0 0/7/7 0. 0/4/ 40 0/4/ 0. 0. k 0. 0/1/0 1 0/1/0. 6/6 6/6 /0 /0. 0. d 0. e 0. 0 1/ /0 0/1/1 0. 0 0/ 44/ 0 0/4/. 0/4/0 4 0/4/0. c. 0/ 0/ 44/0 4/ 0. 0/3/0 3 0/3/0. 1/1 1/ 11 /1 /1. 0/7/0 7 0/7/0. s 0. 1/6/0 1/6 1/6/0. /0 5/5 /0 5/5. b 0. 2/4/0 2/4 2/4/0. n 0. 1 1/1 /6 6/ /1 1. a 0. 0.

(92) Einleitung 1:13. Ford-Fulkerson. Einfache Beispiele (zweiter Versuch). Algorithmus von Dinitz. 17/22. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. schönes Beispiel n = |V |, m = |E |. Idee: finde in jedem Schritt einen erweiternden Pfad von s nach t.. 3 3 / /8 8 / /0 0. 0/6/0 6 0/6/0 2/ 2/ 2/ 2/ 0 0. f 0. 0/4/ 40 0/4/ 0. /0 2/3 /0 2/3. g /0 1/4 /0 1/4. 0/ 0/5 5/ 5/ 0 0. 0/4/0 4 0/4/0. h 0. i 0. 5/5 5/5 /0 /0 0 0/ 44/ 0 0/4/. 0/ 0/ 44/0 4/ 0. 0/8/0 8 0/8/0. l 0. 4/4 4/4 /0 /0. t /0 4/4 /0 4/4. m 0 1/3/0 1/3 1/3/0. 0 7/ /0 0/7/7 0. 0/4/ 40 0/4/ 0. 0. k 0. 0/1/0 1 0/1/0. 6/6 6/6 /0 /0. 0. d 0. e 0. 0 1/ /0 0/1/1 0. 0 0/ 44/ 0 0/4/. 0/4/0 4 0/4/0. c. 0/ 0/ 44/0 4/ 0. 0/3/0 3 0/3/0. 1/1 1/1 /0 /0. 0/7/0 7 0/7/0. s 0. 1/6/0 1/6 1/6/0. /0 5/5 /0 5/5. b 0. 2/4/0 2/4 2/4/0. n 0. 1 1/ /6 6/ /0 0. a 0. 0.

(93) Einleitung 1:13. Ford-Fulkerson. Einfache Beispiele (zweiter Versuch). Algorithmus von Dinitz. 18/22. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. schönes Beispiel n = |V |, m = |E |. Idee: finde in jedem Schritt einen erweiternden Pfad von s nach t.. 3 3/5 /8 8 / /5 5. 0/6/0 6 0/6/0 2/ 2/ 2/ 2/ 0 0. f 0. 0/4/ 40 0/4/ 0. /0 2/3 /0 2/3. g /0 1/4 /0 1/4. 0/ 0/55 5/ 5/ 5 5. 0/4/0 4 0/4/0. h 0. i 0. 5/5 5/5 /0 /0 0 0/ 44/ 0 0/4/. 0/ 0/ 44/0 4/ 0. 0/8/5 8 5 0/8/5. l 0. 4/4 4/4 /0 /0. t /0 4/4 /0 4/4. m 0 1/3/0 1/3 1/3/0. 0 7/ /0 0/7/7 0. 0/4/ 40 0/4/ 0. 0. k 0. 0/1/0 1 0/1/0. 6/6 6/6 /0 /0. 0. d 0. e 0. 0 1/ /0 0/1/1 0. 0 0/ 44/ 0 0/4/. 0/4/0 4 0/4/0. c. 0/ 0/ 44/0 4/ 0. 0/3/0 3 0/3/0. 1/1 1/1 /0 /0. 0/7/5 7 5 0/7/5. s 0. 1/6/5 1/6 5 1/6/5. /0 5/5 /0 5/5. b 0. 2/4/0 2/4 2/4/0. n 0. 1 1/5 /6 6/ /5 5. a 0. 0.

(94) Einleitung 1:13. Ford-Fulkerson. Einfache Beispiele (zweiter Versuch). Algorithmus von Dinitz. 19/22. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. schönes Beispiel n = |V |, m = |E |. Idee: finde in jedem Schritt einen erweiternden Pfad von s nach t.. 8 8/5 /8 8 / /5 5. 0/6/0 6 0/6/0 2/ 2/ 2/ 2/ 0 0. f 0. 0/4/ 40 0/4/ 0. /0 2/3 /0 2/3. g /0 1/4 /0 1/4. 5/ 5/5 5/ 5/ 5 5. 0/4/0 4 0/4/0. h 0. i 0. 5/5 5/5 /0 /0 0 0/ 44/ 0 0/4/. 0/ 0/ 44/0 4/ 0. 5/8/5 5/8 5 5/8/5. l 0. 4/4 4/4 /0 /0. t /0 4/4 /0 4/4. m 0 1/3/0 1/3 1/3/0. 0 7/ /0 0/7/7 0. 0/4/ 40 0/4/ 0. 0. k 0. 0/1/0 1 0/1/0. 6/6 6/6 /0 /0. 0. d 0. e 0. 0 1/ /0 0/1/1 0. 0 0/ 44/ 0 0/4/. 0/4/0 4 0/4/0. c. 0/ 0/ 44/0 4/ 0. 0/3/0 3 0/3/0. 1/1 1/1 /0 /0. 5/7/5 5/7 5 5/7/5. s 0. 6/6/5 6/6 5 6/6/5. /0 5/5 /0 5/5. b 0. 2/4/0 2/4 2/4/0. n 0. 6 6/5 /6 6/ /5 5. a 0. 0.

(95) Einleitung 1:13. Ford-Fulkerson. Einfache Beispiele (zweiter Versuch). Algorithmus von Dinitz. 20/22. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. schönes Beispiel n = |V |, m = |E |. Idee: finde in jedem Schritt einen erweiternden Pfad von s nach t.. 8 8 / /8 8 / /0 0. 0/6/0 6 0/6/0 2/ 2/ 2/ 2/ 0 0. f 0. 0/4/ 40 0/4/ 0. /0 2/3 /0 2/3. g /0 1/4 /0 1/4. 5/ 5/ 5/ 5/ 0 0. 0/4/0 4 0/4/0. h 0. i 0. 5/5 5/5 /0 /0 0 0/ 44/ 0 0/4/. 0/ 0/ 44/0 4/ 0. 5/8/0 5/8 5/8/0. l 0. 4/4 4/4 /0 /0. t /0 4/4 /0 4/4. m 0 1/3/0 1/3 1/3/0. 0 7/ /0 0/7/7 0. 0/4/ 40 0/4/ 0. 0. k 0. 0/1/0 1 0/1/0. 6/6 6/6 /0 /0. 0. d 0. e 0. 0 1/ /0 0/1/1 0. 0 0/ 44/ 0 0/4/. 0/4/0 4 0/4/0. c. 0/ 0/ 44/0 4/ 0. 0/3/0 3 0/3/0. 1/1 1/1 /0 /0. 5/7/0 5/7 5/7/0. s 0. 6/6/0 6/6 6/6/0. /0 5/5 /0 5/5. b 0. 2/4/0 2/4 2/4/0. n 0. 6 6/ /6 6/ /0 0. a 0. 0.

(96) Einleitung 1:13. Ford-Fulkerson. Einfache Beispiele (zweiter Versuch). Algorithmus von Dinitz. 21/22. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. schönes Beispiel n = |V |, m = |E |. Idee: finde in jedem Schritt einen erweiternden Pfad von s nach t.. 8 8 / /8 8 / /0 0. 0/6/1 6 1 0/6/1 2/ 2/ 2/ 2/ 0 0. f 0. 0/4/ 41 0/4/ 11. /1 2/3 /1 13 2/. g /1 1/4 /1 14 1/. 5/ 5/ 5/ 5/ 0 0. 0/4/1 4 1 0/4/1. h 0. i 0. 5/5 5/5 /0 /0 0 0/ 44/ 0 0/4/. 0/ 0/ 44/1 4/ 11. 5/8/1 5/8 1 5/8/1. l 0. 4/4 4/4 /0 /0. t /0 4/4 /0 4/4. m 0 1/3/0 1/3 1/3/0. 1 7/ /1 0/71/7 0. 0/4/ 41 0/4/ 11. 0. k 0. 0/1/0 1 0/1/0. 6/6 6/6 /0 /0. 0. d 0. e 0. 1 1/ /1 0/11/1 0. 0 0/ 44/ 0 0/4/. 0/4/0 4 0/4/0. c. 0/ 0/ 44/1 4/ 11. 0/3/0 3 0/3/0. 1/1 1/1 /0 /0. 5/7/0 5/7 5/7/0. s 0. 6/6/0 6/6 6/6/0. /0 5/5 /0 5/5. b 0. 2/4/1 2/4 1 2/4/1. n 0. 6 6/ /6 6/ /0 0. a 0. 0.

(97) Einleitung 1:13. Ford-Fulkerson. Einfache Beispiele (zweiter Versuch). Algorithmus von Dinitz. 22/22. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. schönes Beispiel n = |V |, m = |E |. Idee: finde in jedem Schritt einen erweiternden Pfad von s nach t.. 8 8 / /8 8 / /0 0. 1/6/1 1/6 1 1/6/1 2/ 2/ 2/ 2/ 0 0. f 0. 1/1 4/4 1 1/4/ 11. /1 3/3 /1 13 3/. g /1 2/4 /1 14 2/. 5/ 5/ 5/ 5/ 0 0. 1/4/1 1/4 1 1/4/1. h 0. i 0. 5/5 5/5 /0 /0 0 0/ 44/ 0 0/4/. 1/ 4/ 1/ 1 4 4/ 111. 6/8/1 6/8 1 6/8/1. l 0. 4/4 4/4 /0 /0. t /0 4/4 /0 4/4. m 0 1/3/0 1/3 1/3/0. 1 7/ /1 1/ 1/7 1. 1/1 4/4 1 1/4/ 11. 0. k 0. 0/1/0 1 0/1/0. 6/6 6/6 /0 /0. 0. d 0. e 0. 1 1/ /1 1/ 1/1 1. 0 0/ 44/ 0 0/4/. 0/4/0 4 0/4/0. c. 1/ 4/ 1/ 1 4 4/ 111. 0/3/0 3 0/3/0. 1/1 1/1 /0 /0. 5/7/0 5/7 5/7/0. s 0. 6/6/0 6/6 6/6/0. /0 5/5 /0 5/5. b 0. 3/4/1 3/4 1 3/4/1. n 0. 6 6/ /6 6/ /0 0. a 0. 0.

(98) Einleitung 1:14. Ford-Fulkerson. Algorithmus von Dinitz. Einfache Beispiele (zweiter Versuch). Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Situation n = |V |, m = |E |. Algorithmus findet in den Beispielen einen maximalen Fluss. Algorithmus “findet” eine Barriere, die die Optimalität anzeigt. Ziel: Nutze diese Barriere, um Optimalität zu zeigen. Definiere diese Barriere (Cut oder Schnitt). Und zeige dann: Größe des Schnittes und maximaler Fluss sind gleich..

(99) Einleitung 1:15. Ford-Fulkerson. Minimaler Schnitt. Algorithmus von Dinitz. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Idee zum minimalen Schnitt Wir haben nun einen Ansatz, um einen maximalen Fluss zu bestimmen. Die Idee ist, suche Flusswege, die einen bisher bestimmten Fluss erweitern. Falls ein solcher Weg nicht mehr existiert, so hoffen wir, daß der nun akkumulierte Fluss eine maximaler ist. Um dies zu beweisen, wird der Schnitt eines Graphen definiert. Ein Schnitt besteht informell aus den Kanten, die von einer Knotenmenge, die die Quelle aber nicht die Senke enthält, herauszeigt. Die Kapazität dieser Kanten eines jeden Schnitts beschränkt den Fluss. Daher ist der minimale Schnitt eine obere Schranke für den maximalen Fluss. Wir hoffen nun, daß unser bisheriges Verfahren einen Fluss bestimmt, der vom Wert her, den Wert eines minimalen Schnitts erreicht. Bemerkung: Bei diesem Versuch werden wir sehen, es ist noch eine Anpassung an den Algorithmus notwendig, damit diese Behauptung gilt. Dazu wird im Folgenden das Restnetzwerk eingeführt. Dieses Restnetzwerk wird dem Algorithmus erlauben, Fehlentscheidungen zurückzunehmen..

(100) Einleitung 1:16. Ford-Fulkerson. Algorithmus von Dinitz. Minimaler Schnitt. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Minimaler Cut n = |V |, m = |E |. Definition (Cut und Fluss über Cut) Sei G = (V , E , s, t, c) gegeben. Ein Cut (Schnitt) ist ein Paar (S, T ) mit: ˙ und s ∈ S und t ∈ T . V = S ∪T Die Kapazität des Schnittes ist: X. c(S, T ) =. c(v , w ).. (v ,w )∈E ,v ∈S,w ∈T. Für eine Flussfunktion f ist der Fluss über den Schnitt (S, T ): X X f (S, T ) = f (v , w ) − f (w , v ). (v ,w )∈E ,v ∈S,w ∈T. (w ,v )∈E ,v ∈S,w ∈T. Zeige nun: Maximaler Fluss 6 Minimaler Cut. Zeige weiter: Maximaler Fluss > Minimaler Cut..

(101) Einleitung 1:17. Ford-Fulkerson. Minimaler Schnitt. Algorithmus von Dinitz. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Fluss und Schnitt n = |V |, m = |E |. Lemma (Max-Flow 6 Min-Cut) Für jeden Fluss f und jeden Schnitt (S, T ) gilt: w (f ) = f (S, T ) 6 c(S, T ). Beweis: Zeige: w (f ) = f (S, T ): P P f (S, T ) = (v ,w )∈E ,v ∈S,w ∈T f (v , w ) − (w ,v )∈E ,v ∈S,w ∈T f (w , v ) P P (v ,w )∈E ,v ∈S,w ∈S f (v , w ) − (v ,w )∈E ,v ∈S,w ∈S f (v , w ) = 0 P P (w ,v )∈E ,v ∈S,w ∈S f (w , v ) − (w ,v )∈E ,v ∈S,w ∈S f (w , v ) = 0 Zusammengefasst ergibt sich: P P f (S, T ) = (v ,w )∈E ,v ∈S,w ∈T f (v , w ) − P (w ,v )∈E ,v ∈S,w ∈T f (w , v ) P + (v ,w )∈E ,v ∈S,w ∈S f (v , w ) − (w ,v )∈E ,v ∈S,w ∈S f (w , v ) P P + (w ,v )∈E ,v ∈S,w ∈S f (w , v ) − (v ,w )∈E ,v ∈S,w ∈S f (v , w ) Weiter ergibt sich: P P f (S, T ) = (v ,w )∈E ,v ∈S,w ∈V f (v , w ) − (w ,v )∈E ,v ∈S,w ∈V f (w , v ) = w (f ) wegen Flusserhaltung.

(102) Einleitung 1:18. Ford-Fulkerson. Algorithmus von Dinitz. Minimaler Schnitt. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Situation n = |V |, m = |E |. Es gilt: w (f ) = f (S, T ) 6 c(S, T ) X f (v , w ) − (v ,w )∈E ,v ∈S,w ∈T. X. f (w , v ). (w ,v )∈E ,v ∈S,w ∈T. X 6. c(v , w ). (v ,w )∈E ,v ∈S,w ∈T. Wir hoffen auf Gleichheit, d.h. hoffen auf: X f (w , v ) = 0 (w ,v )∈E ,v ∈S,w ∈T. D.h. die “Rückwärtskanten” sollen keinen Fluss führen. War das in den bisherigen Beispielen schon mal der Fall? Betrachte dazu das folgende Beispiel..

(103) Einleitung 1:19. Ford-Fulkerson. Beispiele. 1/9. Algorithmus von Dinitz. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Beispiele n = |V |, m = |E |. s 0. 0/ 0/ 1 1/ 0 1/ 0. b 0 01/1/0 0/ 1/ 0. 0 1 0/1 1/0 0/ /. a 0. 0/ 0/ 1 1/ 0 1/ 0 0 1/ 0/1 1/0 / 0. t 0.

(104) Einleitung 1:19. Ford-Fulkerson. Beispiele. 2/9. Algorithmus von Dinitz. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Beispiele n = |V |, m = |E |. s 0. 0/ 01/ 1 1/1 1/ 1. b 0 01/1/0 0/ 1/ 0. 0 1 0/1 1/0 0/ /. a 0. 0/ 0/ 1 1/ 0 1/ 0 1 1/ 0/1 1/1 / 1 0. t 0.

(105) Einleitung 1:19. Ford-Fulkerson. Beispiele. 3/9. Algorithmus von Dinitz. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Beispiele n = |V |, m = |E |. s 0. 1/ 11/ 1/1 1/ 1. b 0 01/1/0 0/ 1/ 0. 0 1 0/1 1/0 0/ /. a 0. 0/ 0/ 1 1/ 0 1/ 0 1 1/ 1/ 1/ 1 / 1 1. t 0.

(106) Einleitung 1:19. Ford-Fulkerson. Beispiele. 4/9. Algorithmus von Dinitz. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Beispiele n = |V |, m = |E |. s 0. 1/ 1/ 1 / 0 1/ 0. b 0 01/1/0 0/ 1/ 0. 1 1 0/1 1/1 01/ /. a 0. 0/ 01/ 1 1/1 1/ 1 0 1/ 1/ 1/ 0 / 1. t 0.

(107) Einleitung 1:19. Ford-Fulkerson. Beispiele. 5/9. Algorithmus von Dinitz. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Beispiele n = |V |, m = |E |. s 0. 1/ 1/ 1 / 0 1/ 0. b 0 01/1/0 0/ 1/ 0. 1 1 1/ 1/ 1 11/ /. a 0. 1/ 11/ 1/1 1/ 1 0 1/ 1/ 1/ 0 / 1. t 0.

(108) Einleitung 1:19. Ford-Fulkerson. Beispiele. Algorithmus von Dinitz. 6/9. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Beispiele n = |V |, m = |E |. 1/ 1/ 1 / 0 1/ 0. 1/ 1/ 1 / 0 1/ 0 0 1 1/ 1/ 0 / 1 /. a 0. 0 1 0/1 1/0 0/ /. t 0. s 0. 0/ 0/ 1 1/ 0 1/ 0. b 0 01/1/0 0/ 1/ 0. s 0. b 0 01/1/0 0/ 1/ 0. 0 1 1/ 1/ 0 1/ /. a 0. 0/ 0/ 1 1/ 0 1/ 0 0 1/ 0/1 1/0 / 0. t 0.

(109) Einleitung 1:19. Ford-Fulkerson. Beispiele. Algorithmus von Dinitz. 7/9. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Beispiele n = |V |, m = |E |. 1/ 1/ 1 / 0 1/ 0. 1/ 1/ 1 / 0 1/ 0 0 1 1/ 1/ 0 / 1 /. a 0. 0 1 0/1 1/0 0/ /. t 0. s 0. 0/ 01/ 1 1/1 1/ 1. b 0 01/1/1 01/1/1. s 0. b 0 01/1/0 0/ 1/ 0. 0 1 1/ 1/ 0 1/ /. a 0. 0/ 01/ 1 1/1 1/ 1 0 1/ 0/1 1/0 / 0. t 0.

(110) Einleitung 1:19. Ford-Fulkerson. Beispiele. Algorithmus von Dinitz. 8/9. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Beispiele n = |V |, m = |E |. 1/ 1/ 1 / 0 1/ 0. 1/ 1/ 1 / 0 1/ 0 0 1 1/ 1/ 0 / 1 /. a 0. 0 1 0/1 1/0 0/ /. t 0. s 0. 1/ 11/ 1/1 1/ 1. b 0 1/ 1 / 1 11/1/1. s 0. b 0 01/1/0 0/ 1/ 0. 0 1 1/ 1/ 0 1/ /. a 0. 1/ 11/ 1/1 1/ 1 0 1/ 0/1 1/0 / 0. t 0.

(111) Einleitung 1:19. Ford-Fulkerson. Beispiele. Algorithmus von Dinitz. 9/9. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Beispiele n = |V |, m = |E |. 1/ 1/ 1 / 0 1/ 0. 1/ 1/ 1 / 0 1/ 0 0 1 1/ 1/ 0 / 1 /. 0 1 0/1 1/0 0/ /. t 0. s 0. 1/ 1/ 1 / 0 1/ 0. b 0 1/ 1 / 0 1/ 1/ 0. s 0. b 0 01/1/0 0/ 1/ 0. 0 1 1/ 1/ 0 1/ /. a 0. a 0. Da ist nicht immer ein Cut zu sehen!. 1/ 1/ 1 / 0 1/ 0 0 1/ 0/1 1/0 / 0. t 0.

(112) Einleitung 1:20. Ford-Fulkerson. Beispiele. Algorithmus von Dinitz. 1/6. Dinitz mit Propagation. Walter Unger 7.11.2019 12:16. WS2019/20. Neue Situation n = |V |, m = |E |. Beim bisherigen Verfahren können Rückwärtskanten mit einem nichtleeren Fluss auftreten. Der bisherige Algorithmus liefert nicht immer den maximalen Fluss. Fehlentscheidungen müssen behoben werden. Der Fluss über die Rückwärtskante muss zurückgenommen werden!. s 0. 0/ 0/ 1 1/ 0 1/ 0. b 0 01/1/0 0/ 1/ 0. 0 1/ 0/1 1/0 / 0. 0/ 0/ 1 1/ 0 1/ 0 0 1 0/1 1/0 0/ /. a 0. t 0.

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

Falls es einen polynomiellen Algorithmus gibt, der entscheidet, ob ein Ungleichungssystem eine Lösung hat, so gibt es einen polynomiellen Algorithmus, der das LP

Daher wird beim Algorithmus von Seidel eine kleine Menge von Nebenbedingungen zufällig aus- gewählt und für dieses vereinfachte System dann eine Lösung bestimmt.. Danach werden

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

Beim bisherigen Verfahren können Rückwärtskanten mit einem nichtleeren Fluss auftreten.... Algorithmus