Graphen und Algorithmen
Vorlesung #4: Maximale Flüsse
WS 2007/2008
Dr. Armin Fügenschuh
Technische Universität Darmstadt
Übersicht
2
Übersicht
Definition des Maximalfluss- und des Minimalschnitt-Problems
2
Übersicht
Definition des Maximalfluss- und des Minimalschnitt-Problems Anwendungen
2
Übersicht
Definition des Maximalfluss- und des Minimalschnitt-Problems Anwendungen
Residualgraphen und augmentierende Wege
2
Übersicht
Definition des Maximalfluss- und des Minimalschnitt-Problems Anwendungen
Residualgraphen und augmentierende Wege Der Maximalfluss-Minimalschnitt-Satz
2
Übersicht
Definition des Maximalfluss- und des Minimalschnitt-Problems Anwendungen
Residualgraphen und augmentierende Wege Der Maximalfluss-Minimalschnitt-Satz
Algorithmus von Ford und Fulkerson
2
Übersicht
Definition des Maximalfluss- und des Minimalschnitt-Problems Anwendungen
Residualgraphen und augmentierende Wege Der Maximalfluss-Minimalschnitt-Satz
Algorithmus von Ford und Fulkerson Eine Variante von Edmonds und Karp
2
Übersicht
Definition des Maximalfluss- und des Minimalschnitt-Problems Anwendungen
Residualgraphen und augmentierende Wege Der Maximalfluss-Minimalschnitt-Satz
Algorithmus von Ford und Fulkerson Eine Variante von Edmonds und Karp Eine weitere Variante von Dinits
2
Übersicht
Definition des Maximalfluss- und des Minimalschnitt-Problems Anwendungen
Residualgraphen und augmentierende Wege Der Maximalfluss-Minimalschnitt-Satz
Algorithmus von Ford und Fulkerson Eine Variante von Edmonds und Karp Eine weitere Variante von Dinits
Algorithmus von Goldberg und Tarjan
2
Das Problem des maximalen Fluss
3
Das Problem des maximalen Fluss
Definition 1:
Sei ein zusammenhängender Digraph mit Kapazitäten und zwei
ausgezeichneten Knoten , Quelle und Senke genannt. Das Quadrupel wird als Flussnetz bezeichnet.
3
D = (V, A) u : A → R+
s, t ∈ V, s "= t (D, u, s, t)
Das Problem des maximalen Fluss
Definition 1:
Sei ein zusammenhängender Digraph mit Kapazitäten und zwei
ausgezeichneten Knoten , Quelle und Senke genannt. Das Quadrupel wird als Flussnetz bezeichnet.
Definition 2:
Sei ein Flussnetz. Ein Fluss ist eine Abbildung mit .
3
D = (V, A) u : A → R+
s, t ∈ V, s "= t (D, u, s, t)
(D, u, s, t) f : A → R+ f(a) ≤ u(a) ∀ a ∈ A
Das Problem des maximalen Fluss
Definition 1:
Sei ein zusammenhängender Digraph mit Kapazitäten und zwei
ausgezeichneten Knoten , Quelle und Senke genannt. Das Quadrupel wird als Flussnetz bezeichnet.
Definition 2:
Sei ein Flussnetz. Ein Fluss ist eine Abbildung mit . erfüllt die Flusserhaltung am Knoten , wenn .
3
D = (V, A) u : A → R+
s, t ∈ V, s "= t (D, u, s, t)
(D, u, s, t) ! f : A → R+ f(a) ≤ u(a) ∀ a ∈ A
w:(w,v)∈A f(w, v) = !
w:(v,w)∈A f(v, w)
f v ∈ V
Das Problem des maximalen Fluss
Definition 1:
Sei ein zusammenhängender Digraph mit Kapazitäten und zwei
ausgezeichneten Knoten , Quelle und Senke genannt. Das Quadrupel wird als Flussnetz bezeichnet.
Definition 2:
Sei ein Flussnetz. Ein Fluss ist eine Abbildung mit . erfüllt die Flusserhaltung am Knoten , wenn . Eine Zirkulation ist ein Fluss, der an jedem Knoten die Flusserhaltung erfüllt.
3
D = (V, A) u : A → R+
s, t ∈ V, s "= t (D, u, s, t)
(D, u, s, t) f : A → R+ f(a) ≤ u(a) ∀ a ∈ A
v ∈ V
!
w:(w,v)∈A f(w, v) = !
w:(v,w)∈A f(v, w)
f v ∈ V
Das Problem des maximalen Fluss
Definition 1:
Sei ein zusammenhängender Digraph mit Kapazitäten und zwei
ausgezeichneten Knoten , Quelle und Senke genannt. Das Quadrupel wird als Flussnetz bezeichnet.
Definition 2:
Sei ein Flussnetz. Ein Fluss ist eine Abbildung mit . erfüllt die Flusserhaltung am Knoten , wenn . Eine Zirkulation ist ein Fluss, der an jedem Knoten die Flusserhaltung erfüllt.
Ein - -Fluss erfüllt die Flusserhaltung an jedem Knoten .
3
D = (V, A) u : A → R+
s, t ∈ V, s "= t (D, u, s, t)
(D, u, s, t) f : A → R+ f(a) ≤ u(a) ∀ a ∈ A
v ∈ V
v ∈ V \{s, t} s t
!
w:(w,v)∈A f(w, v) = !
w:(v,w)∈A f(v, w)
f v ∈ V
Das Problem des maximalen Fluss
Definition 1:
Sei ein zusammenhängender Digraph mit Kapazitäten und zwei
ausgezeichneten Knoten , Quelle und Senke genannt. Das Quadrupel wird als Flussnetz bezeichnet.
Definition 2:
Sei ein Flussnetz. Ein Fluss ist eine Abbildung mit . erfüllt die Flusserhaltung am Knoten , wenn . Eine Zirkulation ist ein Fluss, der an jedem Knoten die Flusserhaltung erfüllt.
Ein - -Fluss erfüllt die Flusserhaltung an jedem Knoten .
Der Wert eines - -Flusses ist definiert als .
3
D = (V, A) u : A → R+
s, t ∈ V, s "= t (D, u, s, t)
(D, u, s, t) f : A → R+ f(a) ≤ u(a) ∀ a ∈ A
v ∈ V
v ∈ V \{s, t} s t
s t val(f) := !
v:(s,v)∈A f(s, v) −
!
v:(v,s)∈A f(v, s)
!
w:(w,v)∈A f(w, v) = !
w:(v,w)∈A f(v, w)
f v ∈ V
Das Problem des maximalen Fluss
Definition 1:
Sei ein zusammenhängender Digraph mit Kapazitäten und zwei
ausgezeichneten Knoten , Quelle und Senke genannt. Das Quadrupel wird als Flussnetz bezeichnet.
Definition 2:
Sei ein Flussnetz. Ein Fluss ist eine Abbildung mit . erfüllt die Flusserhaltung am Knoten , wenn . Eine Zirkulation ist ein Fluss, der an jedem Knoten die Flusserhaltung erfüllt.
Ein - -Fluss erfüllt die Flusserhaltung an jedem Knoten .
Der Wert eines - -Flusses ist definiert als . Beispiel:
3
D = (V, A) u : A → R+
s, t ∈ V, s "= t (D, u, s, t)
(D, u, s, t) f : A → R+ f(a) ≤ u(a) ∀ a ∈ A
v ∈ V
v ∈ V \{s, t} s t
s t val(f) := !
v:(s,v)∈A f(s, v) −
!
v:(v,s)∈A f(v, s)
!
w:(w,v)∈A f(w, v) = !
w:(v,w)∈A f(v, w)
f v ∈ V
Das Problem des maximalen Fluss
Definition 1:
Sei ein zusammenhängender Digraph mit Kapazitäten und zwei
ausgezeichneten Knoten , Quelle und Senke genannt. Das Quadrupel wird als Flussnetz bezeichnet.
Definition 2:
Sei ein Flussnetz. Ein Fluss ist eine Abbildung mit . erfüllt die Flusserhaltung am Knoten , wenn . Eine Zirkulation ist ein Fluss, der an jedem Knoten die Flusserhaltung erfüllt.
Ein - -Fluss erfüllt die Flusserhaltung an jedem Knoten .
Der Wert eines - -Flusses ist definiert als . Beispiel:
3
D = (V, A) u : A → R+
s, t ∈ V, s "= t (D, u, s, t)
(D, u, s, t) f : A → R+ f(a) ≤ u(a) ∀ a ∈ A
v ∈ V
v ∈ V \{s, t} s t
s t val(f) := !
v:(s,v)∈A f(s, v) −
!
v:(v,s)∈A f(v, s)
s t
!
w:(w,v)∈A f(w, v) = !
w:(v,w)∈A f(v, w)
f v ∈ V
Das Problem des maximalen Fluss
Definition 1:
Sei ein zusammenhängender Digraph mit Kapazitäten und zwei
ausgezeichneten Knoten , Quelle und Senke genannt. Das Quadrupel wird als Flussnetz bezeichnet.
Definition 2:
Sei ein Flussnetz. Ein Fluss ist eine Abbildung mit . erfüllt die Flusserhaltung am Knoten , wenn . Eine Zirkulation ist ein Fluss, der an jedem Knoten die Flusserhaltung erfüllt.
Ein - -Fluss erfüllt die Flusserhaltung an jedem Knoten .
Der Wert eines - -Flusses ist definiert als . Beispiel:
3
D = (V, A) u : A → R+
s, t ∈ V, s "= t (D, u, s, t)
(D, u, s, t) f : A → R+ f(a) ≤ u(a) ∀ a ∈ A
v ∈ V
v ∈ V \{s, t} s t
s t val(f) := !
v:(s,v)∈A f(s, v) −
!
v:(v,s)∈A f(v, s)
s t
7
4
3
2 1
6
9
!
w:(w,v)∈A f(w, v) = !
w:(v,w)∈A f(v, w)
f v ∈ V
Das Problem des maximalen Fluss
Definition 1:
Sei ein zusammenhängender Digraph mit Kapazitäten und zwei
ausgezeichneten Knoten , Quelle und Senke genannt. Das Quadrupel wird als Flussnetz bezeichnet.
Definition 2:
Sei ein Flussnetz. Ein Fluss ist eine Abbildung mit . erfüllt die Flusserhaltung am Knoten , wenn . Eine Zirkulation ist ein Fluss, der an jedem Knoten die Flusserhaltung erfüllt.
Ein - -Fluss erfüllt die Flusserhaltung an jedem Knoten .
Der Wert eines - -Flusses ist definiert als . Beispiel:
3
D = (V, A) u : A → R+
s, t ∈ V, s "= t (D, u, s, t)
(D, u, s, t) f : A → R+ f(a) ≤ u(a) ∀ a ∈ A
v ∈ V
v ∈ V \{s, t} s t
s t val(f) := !
v:(s,v)∈A f(s, v) −
!
v:(v,s)∈A f(v, s)
s t s t
7
4
3
2 1
6
9
!
w:(w,v)∈A f(w, v) = !
w:(v,w)∈A f(v, w)
f v ∈ V
Das Problem des maximalen Fluss
Definition 1:
Sei ein zusammenhängender Digraph mit Kapazitäten und zwei
ausgezeichneten Knoten , Quelle und Senke genannt. Das Quadrupel wird als Flussnetz bezeichnet.
Definition 2:
Sei ein Flussnetz. Ein Fluss ist eine Abbildung mit . erfüllt die Flusserhaltung am Knoten , wenn . Eine Zirkulation ist ein Fluss, der an jedem Knoten die Flusserhaltung erfüllt.
Ein - -Fluss erfüllt die Flusserhaltung an jedem Knoten .
Der Wert eines - -Flusses ist definiert als . Beispiel:
3
D = (V, A) u : A → R+
s, t ∈ V, s "= t (D, u, s, t)
(D, u, s, t) f : A → R+ f(a) ≤ u(a) ∀ a ∈ A
v ∈ V
v ∈ V \{s, t} s t
s t val(f) := !
v:(s,v)∈A f(s, v) −
!
v:(v,s)∈A f(v, s)
s t s t
(3,7) 7
4
3
2 1
6
9
!
w:(w,v)∈A f(w, v) = !
w:(v,w)∈A f(v, w)
f v ∈ V
Das Problem des maximalen Fluss
Definition 1:
Sei ein zusammenhängender Digraph mit Kapazitäten und zwei
ausgezeichneten Knoten , Quelle und Senke genannt. Das Quadrupel wird als Flussnetz bezeichnet.
Definition 2:
Sei ein Flussnetz. Ein Fluss ist eine Abbildung mit . erfüllt die Flusserhaltung am Knoten , wenn . Eine Zirkulation ist ein Fluss, der an jedem Knoten die Flusserhaltung erfüllt.
Ein - -Fluss erfüllt die Flusserhaltung an jedem Knoten .
Der Wert eines - -Flusses ist definiert als . Beispiel:
3
D = (V, A) u : A → R+
s, t ∈ V, s "= t (D, u, s, t)
(D, u, s, t) f : A → R+ f(a) ≤ u(a) ∀ a ∈ A
v ∈ V
v ∈ V \{s, t} s t
s t val(f) := !
v:(s,v)∈A f(s, v) −
!
v:(v,s)∈A f(v, s)
s t s t
(3,7)
(2,4)
(1,3) 7
4
3
2 1
6
9
!
w:(w,v)∈A f(w, v) = !
w:(v,w)∈A f(v, w)
f v ∈ V
Das Problem des maximalen Fluss
Definition 1:
Sei ein zusammenhängender Digraph mit Kapazitäten und zwei
ausgezeichneten Knoten , Quelle und Senke genannt. Das Quadrupel wird als Flussnetz bezeichnet.
Definition 2:
Sei ein Flussnetz. Ein Fluss ist eine Abbildung mit . erfüllt die Flusserhaltung am Knoten , wenn . Eine Zirkulation ist ein Fluss, der an jedem Knoten die Flusserhaltung erfüllt.
Ein - -Fluss erfüllt die Flusserhaltung an jedem Knoten .
Der Wert eines - -Flusses ist definiert als . Beispiel:
3
D = (V, A) u : A → R+
s, t ∈ V, s "= t (D, u, s, t)
(D, u, s, t) f : A → R+ f(a) ≤ u(a) ∀ a ∈ A
v ∈ V
v ∈ V \{s, t} s t
s t val(f) := !
v:(s,v)∈A f(s, v) −
!
v:(v,s)∈A f(v, s)
s t s t
(3,7)
(2,4)
(1,3) 7
4
3
2 1
6
9 (1,1)
(1,2)
!
w:(w,v)∈A f(w, v) = !
w:(v,w)∈A f(v, w)
f v ∈ V
Das Problem des maximalen Fluss
Definition 1:
Sei ein zusammenhängender Digraph mit Kapazitäten und zwei
ausgezeichneten Knoten , Quelle und Senke genannt. Das Quadrupel wird als Flussnetz bezeichnet.
Definition 2:
Sei ein Flussnetz. Ein Fluss ist eine Abbildung mit . erfüllt die Flusserhaltung am Knoten , wenn . Eine Zirkulation ist ein Fluss, der an jedem Knoten die Flusserhaltung erfüllt.
Ein - -Fluss erfüllt die Flusserhaltung an jedem Knoten .
Der Wert eines - -Flusses ist definiert als . Beispiel:
3
D = (V, A) u : A → R+
s, t ∈ V, s "= t (D, u, s, t)
(D, u, s, t) f : A → R+ f(a) ≤ u(a) ∀ a ∈ A
v ∈ V
v ∈ V \{s, t} s t
s t val(f) := !
v:(s,v)∈A f(s, v) −
!
v:(v,s)∈A f(v, s)
s t s t
(3,7)
(2,4)
(1,3) 7
4
3
2 1
6
9 (1,1)
(2,6) (1,2)
!
w:(w,v)∈A f(w, v) = !
w:(v,w)∈A f(v, w)
f v ∈ V
Das Problem des maximalen Fluss
Definition 1:
Sei ein zusammenhängender Digraph mit Kapazitäten und zwei
ausgezeichneten Knoten , Quelle und Senke genannt. Das Quadrupel wird als Flussnetz bezeichnet.
Definition 2:
Sei ein Flussnetz. Ein Fluss ist eine Abbildung mit . erfüllt die Flusserhaltung am Knoten , wenn . Eine Zirkulation ist ein Fluss, der an jedem Knoten die Flusserhaltung erfüllt.
Ein - -Fluss erfüllt die Flusserhaltung an jedem Knoten .
Der Wert eines - -Flusses ist definiert als . Beispiel:
3
D = (V, A) u : A → R+
s, t ∈ V, s "= t (D, u, s, t)
(D, u, s, t) f : A → R+ f(a) ≤ u(a) ∀ a ∈ A
v ∈ V
v ∈ V \{s, t} s t
s t val(f) := !
v:(s,v)∈A f(s, v) −
!
v:(v,s)∈A f(v, s)
s t s t
(3,7)
(2,4)
(1,3) 7
4
3
2 1
6
9 (1,1)
(2,6) (1,2)
(3,9)
!
w:(w,v)∈A f(w, v) = !
w:(v,w)∈A f(v, w)
f v ∈ V
Das Problem des maximalen Fluss
Definition 1:
Sei ein zusammenhängender Digraph mit Kapazitäten und zwei
ausgezeichneten Knoten , Quelle und Senke genannt. Das Quadrupel wird als Flussnetz bezeichnet.
Definition 2:
Sei ein Flussnetz. Ein Fluss ist eine Abbildung mit . erfüllt die Flusserhaltung am Knoten , wenn . Eine Zirkulation ist ein Fluss, der an jedem Knoten die Flusserhaltung erfüllt.
Ein - -Fluss erfüllt die Flusserhaltung an jedem Knoten .
Der Wert eines - -Flusses ist definiert als . Beispiel:
3
D = (V, A) u : A → R+
s, t ∈ V, s "= t (D, u, s, t)
(D, u, s, t) f : A → R+ f(a) ≤ u(a) ∀ a ∈ A
v ∈ V
v ∈ V \{s, t} s t
s t val(f) := !
v:(s,v)∈A f(s, v) −
!
v:(v,s)∈A f(v, s)
s t s t
(3,7)
(2,4)
(1,3)
val(f) = 3 7
4
3
2 1
6
9 (1,1)
(2,6) (1,2)
(3,9)
!
w:(w,v)∈A f(w, v) = !
w:(v,w)∈A f(v, w)
f v ∈ V
Das Problem des maximalen Fluss
Definition 1:
Sei ein zusammenhängender Digraph mit Kapazitäten und zwei
ausgezeichneten Knoten , Quelle und Senke genannt. Das Quadrupel wird als Flussnetz bezeichnet.
Definition 2:
Sei ein Flussnetz. Ein Fluss ist eine Abbildung mit . erfüllt die Flusserhaltung am Knoten , wenn . Eine Zirkulation ist ein Fluss, der an jedem Knoten die Flusserhaltung erfüllt.
Ein - -Fluss erfüllt die Flusserhaltung an jedem Knoten .
Der Wert eines - -Flusses ist definiert als . Beispiel:
3
D = (V, A) u : A → R+
s, t ∈ V, s "= t (D, u, s, t)
(D, u, s, t) f : A → R+ f(a) ≤ u(a) ∀ a ∈ A
v ∈ V
v ∈ V \{s, t} s t
s t val(f) := !
v:(s,v)∈A f(s, v) −
!
v:(v,s)∈A f(v, s)
s t s t s t
(3,7)
(2,4)
(1,3)
val(f) = 3 7
4
3
2 1
6
9 (1,1)
(2,6) (1,2)
(3,9)
!
w:(w,v)∈A f(w, v) = !
w:(v,w)∈A f(v, w)
f v ∈ V
Das Problem des maximalen Fluss
Definition 1:
Sei ein zusammenhängender Digraph mit Kapazitäten und zwei
ausgezeichneten Knoten , Quelle und Senke genannt. Das Quadrupel wird als Flussnetz bezeichnet.
Definition 2:
Sei ein Flussnetz. Ein Fluss ist eine Abbildung mit . erfüllt die Flusserhaltung am Knoten , wenn . Eine Zirkulation ist ein Fluss, der an jedem Knoten die Flusserhaltung erfüllt.
Ein - -Fluss erfüllt die Flusserhaltung an jedem Knoten .
Der Wert eines - -Flusses ist definiert als . Beispiel:
3
D = (V, A) u : A → R+
s, t ∈ V, s "= t (D, u, s, t)
(D, u, s, t) f : A → R+ f(a) ≤ u(a) ∀ a ∈ A
v ∈ V
v ∈ V \{s, t} s t
s t val(f) := !
v:(s,v)∈A f(s, v) −
!
v:(v,s)∈A f(v, s)
s t s t s t
(3,7)
(2,4)
(1,3)
val(f) = 3
(6,7) 7
4
3
2 1
6
9 (1,1)
(2,6) (1,2)
(3,9)
!
w:(w,v)∈A f(w, v) = !
w:(v,w)∈A f(v, w)
f v ∈ V
Das Problem des maximalen Fluss
Definition 1:
Sei ein zusammenhängender Digraph mit Kapazitäten und zwei
ausgezeichneten Knoten , Quelle und Senke genannt. Das Quadrupel wird als Flussnetz bezeichnet.
Definition 2:
Sei ein Flussnetz. Ein Fluss ist eine Abbildung mit . erfüllt die Flusserhaltung am Knoten , wenn . Eine Zirkulation ist ein Fluss, der an jedem Knoten die Flusserhaltung erfüllt.
Ein - -Fluss erfüllt die Flusserhaltung an jedem Knoten .
Der Wert eines - -Flusses ist definiert als . Beispiel:
3
D = (V, A) u : A → R+
s, t ∈ V, s "= t (D, u, s, t)
(D, u, s, t) f : A → R+ f(a) ≤ u(a) ∀ a ∈ A
v ∈ V
v ∈ V \{s, t} s t
s t val(f) := !
v:(s,v)∈A f(s, v) −
!
v:(v,s)∈A f(v, s)
s t s t s t
(3,7)
(2,4)
(1,3)
val(f) = 3
(6,7) 7
4
3
2 1
6
9 (1,1)
(2,6) (1,2)
(3,9)
(3,3) (3,4)
!
w:(w,v)∈A f(w, v) = !
w:(v,w)∈A f(v, w)
f v ∈ V
Das Problem des maximalen Fluss
Definition 1:
Sei ein zusammenhängender Digraph mit Kapazitäten und zwei
ausgezeichneten Knoten , Quelle und Senke genannt. Das Quadrupel wird als Flussnetz bezeichnet.
Definition 2:
Sei ein Flussnetz. Ein Fluss ist eine Abbildung mit . erfüllt die Flusserhaltung am Knoten , wenn . Eine Zirkulation ist ein Fluss, der an jedem Knoten die Flusserhaltung erfüllt.
Ein - -Fluss erfüllt die Flusserhaltung an jedem Knoten .
Der Wert eines - -Flusses ist definiert als . Beispiel:
3
D = (V, A) u : A → R+
s, t ∈ V, s "= t (D, u, s, t)
(D, u, s, t) f : A → R+ f(a) ≤ u(a) ∀ a ∈ A
v ∈ V
v ∈ V \{s, t} s t
s t val(f) := !
v:(s,v)∈A f(s, v) −
!
v:(v,s)∈A f(v, s)
s t s t s t
(3,7)
(2,4)
(1,3)
val(f) = 3
(6,7) 7
4
3
2 1
6
9 (1,1)
(2,6) (1,2)
(3,9)
(1,1) (2,2)
(3,3) (3,4)
!
w:(w,v)∈A f(w, v) = !
w:(v,w)∈A f(v, w)
f v ∈ V
Das Problem des maximalen Fluss
Definition 1:
Sei ein zusammenhängender Digraph mit Kapazitäten und zwei
ausgezeichneten Knoten , Quelle und Senke genannt. Das Quadrupel wird als Flussnetz bezeichnet.
Definition 2:
Sei ein Flussnetz. Ein Fluss ist eine Abbildung mit . erfüllt die Flusserhaltung am Knoten , wenn . Eine Zirkulation ist ein Fluss, der an jedem Knoten die Flusserhaltung erfüllt.
Ein - -Fluss erfüllt die Flusserhaltung an jedem Knoten .
Der Wert eines - -Flusses ist definiert als . Beispiel:
3
D = (V, A) u : A → R+
s, t ∈ V, s "= t (D, u, s, t)
(D, u, s, t) f : A → R+ f(a) ≤ u(a) ∀ a ∈ A
v ∈ V
v ∈ V \{s, t} s t
s t val(f) := !
v:(s,v)∈A f(s, v) −
!
v:(v,s)∈A f(v, s)
s t s t s t
(3,7)
(2,4)
(1,3)
val(f) = 3
(6,7) 7
4
3
2 1
6
9 (1,1)
(2,6) (1,2)
(3,9)
(1,1) (2,2)
(3,3) (3,4)
(4,6)
!
w:(w,v)∈A f(w, v) = !
w:(v,w)∈A f(v, w)
f v ∈ V
Das Problem des maximalen Fluss
Definition 1:
Sei ein zusammenhängender Digraph mit Kapazitäten und zwei
ausgezeichneten Knoten , Quelle und Senke genannt. Das Quadrupel wird als Flussnetz bezeichnet.
Definition 2:
Sei ein Flussnetz. Ein Fluss ist eine Abbildung mit . erfüllt die Flusserhaltung am Knoten , wenn . Eine Zirkulation ist ein Fluss, der an jedem Knoten die Flusserhaltung erfüllt.
Ein - -Fluss erfüllt die Flusserhaltung an jedem Knoten .
Der Wert eines - -Flusses ist definiert als . Beispiel:
3
D = (V, A) u : A → R+
s, t ∈ V, s "= t (D, u, s, t)
(D, u, s, t) f : A → R+ f(a) ≤ u(a) ∀ a ∈ A
v ∈ V
v ∈ V \{s, t} s t
s t val(f) := !
v:(s,v)∈A f(s, v) −
!
v:(v,s)∈A f(v, s)
s t s t s t
(3,7)
(2,4)
(1,3)
val(f) = 3
(6,7) 7
4
3
2 1
6
9 (1,1)
(2,6) (1,2)
(3,9)
(1,1) (2,2)
(3,3) (3,4)
(4,6)
(6,9)
!
w:(w,v)∈A f(w, v) = !
w:(v,w)∈A f(v, w)
f v ∈ V
Das Problem des maximalen Fluss
Definition 1:
Sei ein zusammenhängender Digraph mit Kapazitäten und zwei
ausgezeichneten Knoten , Quelle und Senke genannt. Das Quadrupel wird als Flussnetz bezeichnet.
Definition 2:
Sei ein Flussnetz. Ein Fluss ist eine Abbildung mit . erfüllt die Flusserhaltung am Knoten , wenn . Eine Zirkulation ist ein Fluss, der an jedem Knoten die Flusserhaltung erfüllt.
Ein - -Fluss erfüllt die Flusserhaltung an jedem Knoten .
Der Wert eines - -Flusses ist definiert als . Beispiel:
3
D = (V, A) u : A → R+
s, t ∈ V, s "= t (D, u, s, t)
(D, u, s, t) f : A → R+ f(a) ≤ u(a) ∀ a ∈ A
v ∈ V
v ∈ V \{s, t} s t
s t val(f) := !
v:(s,v)∈A f(s, v) −
!
v:(v,s)∈A f(v, s)
s t s t s t
(3,7)
(2,4)
(1,3)
val(f) = 3 val(f) = 6
(6,7) 7
4
3
2 1
6
9 (1,1)
(2,6) (1,2)
(3,9)
(1,1) (2,2)
(3,3) (3,4)
(4,6)
(6,9)
!
w:(w,v)∈A f(w, v) = !
w:(v,w)∈A f(v, w)
f v ∈ V
Das Problem des maximalen Fluss
Definition 1:
Sei ein zusammenhängender Digraph mit Kapazitäten und zwei
ausgezeichneten Knoten , Quelle und Senke genannt. Das Quadrupel wird als Flussnetz bezeichnet.
Definition 2:
Sei ein Flussnetz. Ein Fluss ist eine Abbildung mit . erfüllt die Flusserhaltung am Knoten , wenn . Eine Zirkulation ist ein Fluss, der an jedem Knoten die Flusserhaltung erfüllt.
Ein - -Fluss erfüllt die Flusserhaltung an jedem Knoten .
Der Wert eines - -Flusses ist definiert als . Beispiel:
Definition 3:
Gegeben sei ein Flussnetz . Die Aufgabe, einen - -Fluss mit maximalem Wert zu finden, wird als Maximalfluss-Problem (engl. max-flow problem) bezeichnet.
3
D = (V, A) u : A → R+
s, t ∈ V, s "= t (D, u, s, t)
(D, u, s, t) f : A → R+ f(a) ≤ u(a) ∀ a ∈ A
v ∈ V
v ∈ V \{s, t} s t
s t val(f) := !
v:(s,v)∈A f(s, v) −
!
v:(v,s)∈A f(v, s)
(D, u, s, t) s t
s t s t s t
(3,7)
(2,4)
(1,3)
val(f) = 3 val(f) = 6
(6,7) 7
4
3
2 1
6
9 (1,1)
(2,6) (1,2)
(3,9)
(1,1) (2,2)
(3,3) (3,4)
(4,6)
(6,9)
!
w:(w,v)∈A f(w, v) = !
w:(v,w)∈A f(v, w)
f v ∈ V
Existenz von Optimallösungen des Maximalfluss-Problems
4
Existenz von Optimallösungen des Maximalfluss-Problems
Satz 4:
Sei ein Flussnetz. Dann hat das Maximalfluss-Problem eine optimale Lösung.
4 (D, u, s, t)
Existenz von Optimallösungen des Maximalfluss-Problems
Satz 4:
Sei ein Flussnetz. Dann hat das Maximalfluss-Problem eine optimale Lösung.
Beweis:
4 (D, u, s, t)
Existenz von Optimallösungen des Maximalfluss-Problems
Satz 4:
Sei ein Flussnetz. Dann hat das Maximalfluss-Problem eine optimale Lösung.
Beweis:
Jeder Fluss kann als Vektor gesehen werden.
4 (D, u, s, t)
f f = (fij) ∈ RA+(D)
Existenz von Optimallösungen des Maximalfluss-Problems
Satz 4:
Sei ein Flussnetz. Dann hat das Maximalfluss-Problem eine optimale Lösung.
Beweis:
Jeder Fluss kann als Vektor gesehen werden.
Sei die Menge der zulässigen Flussvektoren. Diese ist beschrieben durch
4 (D, u, s, t)
f f = (fij) ∈ RA+(D) F
Existenz von Optimallösungen des Maximalfluss-Problems
Satz 4:
Sei ein Flussnetz. Dann hat das Maximalfluss-Problem eine optimale Lösung.
Beweis:
Jeder Fluss kann als Vektor gesehen werden.
Sei die Menge der zulässigen Flussvektoren. Diese ist beschrieben durch
4 (D, u, s, t)
f f = (fij) ∈ RA+(D) F
0 ≤ fi,j ≤ ui,j ∀ (i, j) ∈ A(D)
Existenz von Optimallösungen des Maximalfluss-Problems
Satz 4:
Sei ein Flussnetz. Dann hat das Maximalfluss-Problem eine optimale Lösung.
Beweis:
Jeder Fluss kann als Vektor gesehen werden.
Sei die Menge der zulässigen Flussvektoren. Diese ist beschrieben durch
4 (D, u, s, t)
f f = (fij) ∈ RA+(D) F
0 ≤ fi,j ≤ ui,j ∀ (i, j) ∈ A(D)
∀v ∈ V (D)\{s, t}
!
w:(v,w)∈A(D) fv,w =
!
w:(w,v)∈A(D) fw,v
Existenz von Optimallösungen des Maximalfluss-Problems
Satz 4:
Sei ein Flussnetz. Dann hat das Maximalfluss-Problem eine optimale Lösung.
Beweis:
Jeder Fluss kann als Vektor gesehen werden.
Sei die Menge der zulässigen Flussvektoren. Diese ist beschrieben durch
ist eine beschränkte, abgeschlossene Teilmenge des .
4 (D, u, s, t)
f f = (fij) ∈ RA+(D) F
0 ≤ fi,j ≤ ui,j ∀ (i, j) ∈ A(D)
∀v ∈ V (D)\{s, t}
!
w:(v,w)∈A(D) fv,w =
!
w:(w,v)∈A(D) fw,v
F RA(D)
Existenz von Optimallösungen des Maximalfluss-Problems
Satz 4:
Sei ein Flussnetz. Dann hat das Maximalfluss-Problem eine optimale Lösung.
Beweis:
Jeder Fluss kann als Vektor gesehen werden.
Sei die Menge der zulässigen Flussvektoren. Diese ist beschrieben durch
ist eine beschränkte, abgeschlossene Teilmenge des . Also ist kompakt (Satz von Weierstraß).
4 (D, u, s, t)
f f = (fij) ∈ RA+(D) F
0 ≤ fi,j ≤ ui,j ∀ (i, j) ∈ A(D)
∀v ∈ V (D)\{s, t}
!
w:(v,w)∈A(D) fv,w =
!
w:(w,v)∈A(D) fw,v
F RA(D)
F
Existenz von Optimallösungen des Maximalfluss-Problems
Satz 4:
Sei ein Flussnetz. Dann hat das Maximalfluss-Problem eine optimale Lösung.
Beweis:
Jeder Fluss kann als Vektor gesehen werden.
Sei die Menge der zulässigen Flussvektoren. Diese ist beschrieben durch
ist eine beschränkte, abgeschlossene Teilmenge des . Also ist kompakt (Satz von Weierstraß).
Ferner ist , da zumindest .
4 (D, u, s, t)
f f = (fij) ∈ RA+(D) F
0 ≤ fi,j ≤ ui,j ∀ (i, j) ∈ A(D)
∀v ∈ V (D)\{s, t}
!
w:(v,w)∈A(D) fv,w =
!
w:(w,v)∈A(D) fw,v
F RA(D)
F
F != ∅ 0 ∈ F
Existenz von Optimallösungen des Maximalfluss-Problems
Satz 4:
Sei ein Flussnetz. Dann hat das Maximalfluss-Problem eine optimale Lösung.
Beweis:
Jeder Fluss kann als Vektor gesehen werden.
Sei die Menge der zulässigen Flussvektoren. Diese ist beschrieben durch
ist eine beschränkte, abgeschlossene Teilmenge des . Also ist kompakt (Satz von Weierstraß).
Ferner ist , da zumindest . Die Funktion ist stetig.
4 (D, u, s, t)
f f = (fij) ∈ RA+(D) F
0 ≤ fi,j ≤ ui,j ∀ (i, j) ∈ A(D)
∀v ∈ V (D)\{s, t}
!
w:(v,w)∈A(D) fv,w =
!
w:(w,v)∈A(D) fw,v
F RA(D)
F
F != ∅ 0 ∈ F
val : RA(D) → R
Existenz von Optimallösungen des Maximalfluss-Problems
Satz 4:
Sei ein Flussnetz. Dann hat das Maximalfluss-Problem eine optimale Lösung.
Beweis:
Jeder Fluss kann als Vektor gesehen werden.
Sei die Menge der zulässigen Flussvektoren. Diese ist beschrieben durch
ist eine beschränkte, abgeschlossene Teilmenge des . Also ist kompakt (Satz von Weierstraß).
Ferner ist , da zumindest . Die Funktion ist stetig.
Es folgt, dass auf ihr Maximum annimmt, was gleichbedeutend mit der Existenz einer optimal Lösung ist.
4 (D, u, s, t)
f f = (fij) ∈ RA+(D) F
0 ≤ fi,j ≤ ui,j ∀ (i, j) ∈ A(D)
∀v ∈ V (D)\{s, t}
!
w:(v,w)∈A(D) fv,w =
!
w:(w,v)∈A(D) fw,v
F RA(D)
F
F != ∅ 0 ∈ F
val : RA(D) → R val F
Das Problem des minimalen Schnitts
5
Das Problem des minimalen Schnitts
Definition 5:
Sei ein Flussnetz und eine Teilmenge der Knoten mit . Dann wird die Teilmenge der Bögen als - -Schnitt bezeichnet.
5
(D, u, s, t) X ⊂ V
{(i, j) ∈ A : i ∈ X, j /∈ X} s t
s ∈ X, t ∈ V (D)\X
Das Problem des minimalen Schnitts
Definition 5:
Sei ein Flussnetz und eine Teilmenge der Knoten mit . Dann wird die Teilmenge der Bögen als - -Schnitt bezeichnet.
Die Schnittkapazität ist die Summe der Bogenkapazitäten des - -Schnitts.
5
(D, u, s, t) X ⊂ V
{(i, j) ∈ A : i ∈ X, j /∈ X} s t s t u(X)
s ∈ X, t ∈ V (D)\X
Das Problem des minimalen Schnitts
Definition 5:
Sei ein Flussnetz und eine Teilmenge der Knoten mit . Dann wird die Teilmenge der Bögen als - -Schnitt bezeichnet.
Die Schnittkapazität ist die Summe der Bogenkapazitäten des - -Schnitts.
Definition 6:
Sei ein Flussnetz. Die Aufgabe, einen - -Schnitt mit minimalem Gewicht zu finden, wird als Minimalschnitt-Problem (engl. min-cut problem) bezeichnet.
5
(D, u, s, t) X ⊂ V
{(i, j) ∈ A : i ∈ X, j /∈ X} s t s t
(D, u, s, t) s t
u(X)
s ∈ X, t ∈ V (D)\X
Das Problem des minimalen Schnitts
Definition 5:
Sei ein Flussnetz und eine Teilmenge der Knoten mit . Dann wird die Teilmenge der Bögen als - -Schnitt bezeichnet.
Die Schnittkapazität ist die Summe der Bogenkapazitäten des - -Schnitts.
Definition 6:
Sei ein Flussnetz. Die Aufgabe, einen - -Schnitt mit minimalem Gewicht zu finden, wird als Minimalschnitt-Problem (engl. min-cut problem) bezeichnet.
Beispiel:
5
(D, u, s, t) X ⊂ V
{(i, j) ∈ A : i ∈ X, j /∈ X} s t s t
(D, u, s, t) s t
u(X)
s ∈ X, t ∈ V (D)\X
Das Problem des minimalen Schnitts
Definition 5:
Sei ein Flussnetz und eine Teilmenge der Knoten mit . Dann wird die Teilmenge der Bögen als - -Schnitt bezeichnet.
Die Schnittkapazität ist die Summe der Bogenkapazitäten des - -Schnitts.
Definition 6:
Sei ein Flussnetz. Die Aufgabe, einen - -Schnitt mit minimalem Gewicht zu finden, wird als Minimalschnitt-Problem (engl. min-cut problem) bezeichnet.
Beispiel:
5
(D, u, s, t) X ⊂ V
{(i, j) ∈ A : i ∈ X, j /∈ X} s t s t
(D, u, s, t) s t
u(X)
s t
7
4
3
2 1
6
9
s ∈ X, t ∈ V (D)\X
Das Problem des minimalen Schnitts
Definition 5:
Sei ein Flussnetz und eine Teilmenge der Knoten mit . Dann wird die Teilmenge der Bögen als - -Schnitt bezeichnet.
Die Schnittkapazität ist die Summe der Bogenkapazitäten des - -Schnitts.
Definition 6:
Sei ein Flussnetz. Die Aufgabe, einen - -Schnitt mit minimalem Gewicht zu finden, wird als Minimalschnitt-Problem (engl. min-cut problem) bezeichnet.
Beispiel:
5
(D, u, s, t) X ⊂ V
{(i, j) ∈ A : i ∈ X, j /∈ X} s t s t
(D, u, s, t) s t
u(X)
s t
7
4
3
2 1
6
9
s ∈ X, t ∈ V (D)\X
Das Problem des minimalen Schnitts
Definition 5:
Sei ein Flussnetz und eine Teilmenge der Knoten mit . Dann wird die Teilmenge der Bögen als - -Schnitt bezeichnet.
Die Schnittkapazität ist die Summe der Bogenkapazitäten des - -Schnitts.
Definition 6:
Sei ein Flussnetz. Die Aufgabe, einen - -Schnitt mit minimalem Gewicht zu finden, wird als Minimalschnitt-Problem (engl. min-cut problem) bezeichnet.
Beispiel:
5
(D, u, s, t) X ⊂ V
{(i, j) ∈ A : i ∈ X, j /∈ X} s t s t
(D, u, s, t) s t
u(X)
s t
7
4
3
2 1
6
9
s ∈ X, t ∈ V (D)\X
Das Problem des minimalen Schnitts
Definition 5:
Sei ein Flussnetz und eine Teilmenge der Knoten mit . Dann wird die Teilmenge der Bögen als - -Schnitt bezeichnet.
Die Schnittkapazität ist die Summe der Bogenkapazitäten des - -Schnitts.
Definition 6:
Sei ein Flussnetz. Die Aufgabe, einen - -Schnitt mit minimalem Gewicht zu finden, wird als Minimalschnitt-Problem (engl. min-cut problem) bezeichnet.
Beispiel:
5
(D, u, s, t) X ⊂ V
{(i, j) ∈ A : i ∈ X, j /∈ X} s t s t
(D, u, s, t) s t
u(X)
s t
7
4
3
2 1
6
9
s ∈ X, t ∈ V (D)\X
Das Problem des minimalen Schnitts
Definition 5:
Sei ein Flussnetz und eine Teilmenge der Knoten mit . Dann wird die Teilmenge der Bögen als - -Schnitt bezeichnet.
Die Schnittkapazität ist die Summe der Bogenkapazitäten des - -Schnitts.
Definition 6:
Sei ein Flussnetz. Die Aufgabe, einen - -Schnitt mit minimalem Gewicht zu finden, wird als Minimalschnitt-Problem (engl. min-cut problem) bezeichnet.
Beispiel:
5
(D, u, s, t) X ⊂ V
{(i, j) ∈ A : i ∈ X, j /∈ X} s t s t
(D, u, s, t) s t
u(X)
s t
7
4
3
2 1
6
9
u(X) = 10
s ∈ X, t ∈ V (D)\X
Das Problem des minimalen Schnitts
Definition 5:
Sei ein Flussnetz und eine Teilmenge der Knoten mit . Dann wird die Teilmenge der Bögen als - -Schnitt bezeichnet.
Die Schnittkapazität ist die Summe der Bogenkapazitäten des - -Schnitts.
Definition 6:
Sei ein Flussnetz. Die Aufgabe, einen - -Schnitt mit minimalem Gewicht zu finden, wird als Minimalschnitt-Problem (engl. min-cut problem) bezeichnet.
Beispiel:
5
(D, u, s, t) X ⊂ V
{(i, j) ∈ A : i ∈ X, j /∈ X} s t s t
(D, u, s, t) s t
u(X)
s t
7
4
3
2 1
6
9
s t
7
4
3
2 1
6
9
u(X) = 10
s ∈ X, t ∈ V (D)\X
Das Problem des minimalen Schnitts
Definition 5:
Sei ein Flussnetz und eine Teilmenge der Knoten mit . Dann wird die Teilmenge der Bögen als - -Schnitt bezeichnet.
Die Schnittkapazität ist die Summe der Bogenkapazitäten des - -Schnitts.
Definition 6:
Sei ein Flussnetz. Die Aufgabe, einen - -Schnitt mit minimalem Gewicht zu finden, wird als Minimalschnitt-Problem (engl. min-cut problem) bezeichnet.
Beispiel:
5
(D, u, s, t) X ⊂ V
{(i, j) ∈ A : i ∈ X, j /∈ X} s t s t
(D, u, s, t) s t
u(X)
s t
7
4
3
2 1
6
9
s t
7
4
3
2 1
6
9
u(X) = 10
s ∈ X, t ∈ V (D)\X
Das Problem des minimalen Schnitts
Definition 5:
Sei ein Flussnetz und eine Teilmenge der Knoten mit . Dann wird die Teilmenge der Bögen als - -Schnitt bezeichnet.
Die Schnittkapazität ist die Summe der Bogenkapazitäten des - -Schnitts.
Definition 6:
Sei ein Flussnetz. Die Aufgabe, einen - -Schnitt mit minimalem Gewicht zu finden, wird als Minimalschnitt-Problem (engl. min-cut problem) bezeichnet.
Beispiel:
5
(D, u, s, t) X ⊂ V
{(i, j) ∈ A : i ∈ X, j /∈ X} s t s t
(D, u, s, t) s t
u(X)
s t
7
4
3
2 1
6
9
s t
7
4
3
2 1
6
9
u(X) = 10
s ∈ X, t ∈ V (D)\X
Das Problem des minimalen Schnitts
Definition 5:
Sei ein Flussnetz und eine Teilmenge der Knoten mit . Dann wird die Teilmenge der Bögen als - -Schnitt bezeichnet.
Die Schnittkapazität ist die Summe der Bogenkapazitäten des - -Schnitts.
Definition 6:
Sei ein Flussnetz. Die Aufgabe, einen - -Schnitt mit minimalem Gewicht zu finden, wird als Minimalschnitt-Problem (engl. min-cut problem) bezeichnet.
Beispiel:
5
(D, u, s, t) X ⊂ V
{(i, j) ∈ A : i ∈ X, j /∈ X} s t s t
(D, u, s, t) s t
u(X)
s t
7
4
3
2 1
6
9
s t
7
4
3
2 1
6
9
u(X) = 10
s ∈ X, t ∈ V (D)\X
Das Problem des minimalen Schnitts
Definition 5:
Sei ein Flussnetz und eine Teilmenge der Knoten mit . Dann wird die Teilmenge der Bögen als - -Schnitt bezeichnet.
Die Schnittkapazität ist die Summe der Bogenkapazitäten des - -Schnitts.
Definition 6:
Sei ein Flussnetz. Die Aufgabe, einen - -Schnitt mit minimalem Gewicht zu finden, wird als Minimalschnitt-Problem (engl. min-cut problem) bezeichnet.
Beispiel:
5
(D, u, s, t) X ⊂ V
{(i, j) ∈ A : i ∈ X, j /∈ X} s t s t
(D, u, s, t) s t
u(X)
s t
7
4
3
2 1
6
9
s t
7
4
3
2 1
6
9
u(X) = 10 u(X) = 16
s ∈ X, t ∈ V (D)\X
Das Problem des minimalen Schnitts
Definition 5:
Sei ein Flussnetz und eine Teilmenge der Knoten mit . Dann wird die Teilmenge der Bögen als - -Schnitt bezeichnet.
Die Schnittkapazität ist die Summe der Bogenkapazitäten des - -Schnitts.
Definition 6:
Sei ein Flussnetz. Die Aufgabe, einen - -Schnitt mit minimalem Gewicht zu finden, wird als Minimalschnitt-Problem (engl. min-cut problem) bezeichnet.
Beispiel:
5
(D, u, s, t) X ⊂ V
{(i, j) ∈ A : i ∈ X, j /∈ X} s t s t
(D, u, s, t) s t
u(X)
s t
7
4
3
2 1
6
9
s t
7
4
3
2 1
6
9
s t
7
4
3
2 1
6
9
u(X) = 10 u(X) = 16
s ∈ X, t ∈ V (D)\X
Das Problem des minimalen Schnitts
Definition 5:
Sei ein Flussnetz und eine Teilmenge der Knoten mit . Dann wird die Teilmenge der Bögen als - -Schnitt bezeichnet.
Die Schnittkapazität ist die Summe der Bogenkapazitäten des - -Schnitts.
Definition 6:
Sei ein Flussnetz. Die Aufgabe, einen - -Schnitt mit minimalem Gewicht zu finden, wird als Minimalschnitt-Problem (engl. min-cut problem) bezeichnet.
Beispiel:
5
(D, u, s, t) X ⊂ V
{(i, j) ∈ A : i ∈ X, j /∈ X} s t s t
(D, u, s, t) s t
u(X)
s t
7
4
3
2 1
6
9
s t
7
4
3
2 1
6
9
s t
7
4
3
2 1
6
9
u(X) = 10 u(X) = 16
s ∈ X, t ∈ V (D)\X
Das Problem des minimalen Schnitts
Definition 5:
Sei ein Flussnetz und eine Teilmenge der Knoten mit . Dann wird die Teilmenge der Bögen als - -Schnitt bezeichnet.
Die Schnittkapazität ist die Summe der Bogenkapazitäten des - -Schnitts.
Definition 6:
Sei ein Flussnetz. Die Aufgabe, einen - -Schnitt mit minimalem Gewicht zu finden, wird als Minimalschnitt-Problem (engl. min-cut problem) bezeichnet.
Beispiel:
5
(D, u, s, t) X ⊂ V
{(i, j) ∈ A : i ∈ X, j /∈ X} s t s t
(D, u, s, t) s t
u(X)
s t
7
4
3
2 1
6
9
s t
7
4
3
2 1
6
9
s t
7
4
3
2 1
6
9
u(X) = 10 u(X) = 16
s ∈ X, t ∈ V (D)\X
Das Problem des minimalen Schnitts
Definition 5:
Sei ein Flussnetz und eine Teilmenge der Knoten mit . Dann wird die Teilmenge der Bögen als - -Schnitt bezeichnet.
Die Schnittkapazität ist die Summe der Bogenkapazitäten des - -Schnitts.
Definition 6:
Sei ein Flussnetz. Die Aufgabe, einen - -Schnitt mit minimalem Gewicht zu finden, wird als Minimalschnitt-Problem (engl. min-cut problem) bezeichnet.
Beispiel:
5
(D, u, s, t) X ⊂ V
{(i, j) ∈ A : i ∈ X, j /∈ X} s t s t
(D, u, s, t) s t
u(X)
s t
7
4
3
2 1
6
9
s t
7
4
3
2 1
6
9
s t
7
4
3
2 1
6
9
u(X) = 10 u(X) = 16
s ∈ X, t ∈ V (D)\X
Das Problem des minimalen Schnitts
Definition 5:
Sei ein Flussnetz und eine Teilmenge der Knoten mit . Dann wird die Teilmenge der Bögen als - -Schnitt bezeichnet.
Die Schnittkapazität ist die Summe der Bogenkapazitäten des - -Schnitts.
Definition 6:
Sei ein Flussnetz. Die Aufgabe, einen - -Schnitt mit minimalem Gewicht zu finden, wird als Minimalschnitt-Problem (engl. min-cut problem) bezeichnet.
Beispiel:
5
(D, u, s, t) X ⊂ V
{(i, j) ∈ A : i ∈ X, j /∈ X} s t s t
(D, u, s, t) s t
u(X)
s t
7
4
3
2 1
6
9
s t
7
4
3
2 1
6
9
s t
7
4
3
2 1
6
9
u(X) = 10 u(X) = 16 u(X) = 6
s ∈ X, t ∈ V (D)\X
Das Problem des minimalen Schnitts
Definition 5:
Sei ein Flussnetz und eine Teilmenge der Knoten mit . Dann wird die Teilmenge der Bögen als - -Schnitt bezeichnet.
Die Schnittkapazität ist die Summe der Bogenkapazitäten des - -Schnitts.
Definition 6:
Sei ein Flussnetz. Die Aufgabe, einen - -Schnitt mit minimalem Gewicht zu finden, wird als Minimalschnitt-Problem (engl. min-cut problem) bezeichnet.
Beispiel:
Wir haben einen Fluss mit Wert 6 und einen Schnitt mit Kapazität 6.
5
(D, u, s, t) X ⊂ V
{(i, j) ∈ A : i ∈ X, j /∈ X} s t s t
(D, u, s, t) s t
u(X)
s t
7
4
3
2 1
6
9
s t
7
4
3
2 1
6
9
s t
7
4
3
2 1
6
9
u(X) = 10 u(X) = 16 u(X) = 6
s ∈ X, t ∈ V (D)\X