finale Version des Vorlesungsskripts - ZIB
finale Version des Vorlesungsskripts - ZIB finale Version des Vorlesungsskripts - ZIB
s 6/6 6/7 4/7 4/4 1 3 6 0/2 2/3 0/3 4 0/2 4/4 2 5 8 6/6 2/2 2/2 6.3 Einige Anwendungen 8/9 7 t Abbildung 6.3: Maximaler Fluss für den Beispiel-Digraph aus Abbildung 6.2. 8. Es gilt 1/1 1/1 VOR(t) = +7 VOR(7) = +6 VOR(6) = +3 VOR(3) = −4 VOR(4) = −2 VOR(2) = +s also ist der augmentierende Weg mit EPS(t) = 2 der folgende (s, 2), (4, 2), (3, 4), (3, 6), (6, 7), (7, t). Der neue Fluss ist in Abbildung 6.3 dargestellt. Dieser (s, t)-Fluss ist maximal, ein (s, t)-Schnitt minimaler Kapazität ist δ + ({s, 2}), ein anderer δ + ({s, 1, 2, 3, 4, 5}). △ 6.3 Einige Anwendungen In diesem Abschnitt geht es nicht um praktische Anwendungen, sondern um Anwendungen der im Vorhergehenden angegebenen Sätze und Algorithmen zur Lösung anderer mathematischer (Optimierungs-)Probleme. Matchings maximaler Kardinalität in bipartiten Graphen In (3.9) haben wir das bipartite Matchingproblem kennengelernt. Wir wollen nun zeigen, wie man die Kardinalitätsversion dieses Problems, d. h. alle Kantengewichte sind 1, mit Hilfe eines Maximalflussverfahrens lösen kann. Ist also G = (V, E) ein bipartiter Graph mit Bipartition V1, V2, so definieren wir einen Digraphen D = (W, A) wie folgt. Wir wählen zwei neue Knoten, sagen wir s und t, und setzen W := V ∪ {s, t}. Die Bögen von D seien die folgenden. Ist e = uv ∈ E eine Kante von G, so geben wir dieser die Richtung von V1 nach V2. Ist also u ∈ V1 und v ∈ V2, so wird aus uv ∈ E der Bogen (u, v) andernfalls der Bogen (v, u). Ferner enthält D die Bögen (s, u) für alle u ∈ V1 und die Bögen (v, t) für alle v ∈ V2. Alle Bögen von D erhalten die Kapazität 1. Die Konstruktion von D aus G ist in Abbildung 6.4 an einem Beispiel dargestellt. 1/5 3/3 1/1 125
6 Maximale Flüsse in Netzwerken s t G D Abbildung 6.4: Transformation eines bipartiten Matchingproblems in ein Maximalflussproblem. (6.16) Satz. Ist G ein bipartiter Graph und D der wie oben angegeben aus G konstruierte Digraph, dann ist der Wert eines maximalen zulässigen (s, t)-Flusses x in D gleich dem Wert eines kardinalitätsmaximalen Matchings in D. Ferner kann ein kardinalitätsmaximales Matching M direkt aus x konstruiert werden. △ Beweis. Hausaufgabe. ✷ Zusammenhangsprobleme in Graphen und Digraphen Mit Hilfe von Maximalflussalgorithmen können ferner für einen Digraphen die starke Zusammenhangszahl und die starke Bogenzusammenhangszahl in polynomialer Zeit bestimmt werden. Analog können in einem ungerichteten Graphen die Zusammenhangszahl und die Kantenzusammenhangszahl in polynomialer Zeit ermittelt werden. Mehrere Quellen und Senken Die Festlegung, dass wir in einem Digraphen einen Fluss von nur einer Quelle zu nur einer Senke schicken wollen, scheint auf den ersten Blick eine starke Einschränkung zu sein. Jedoch können Maximalflussprobleme mit mehreren Quellen und Senken sehr einfach auf das von uns behandelte Problem zurückgeführt werden. Gegeben sei ein Digraph D = (V, A) mit Bogenkapazitäten c(a) ≥ 0 für alle a ∈ A. Ferner seien S = {s1, . . . , sp} ⊆ V Quellen und T = {t1, . . . , tq} ⊆ V Senken. Es gelte S ∩ T = ∅. Ein zulässiger (S, T )-Fluss in D ist ein Vektor x ∈ R A mit folgenden Eigenschaften 0 ≤ xa ≤ ca für alle a ∈ A x(δ − (v)) = x(δ + (v)) für alle v ∈ V \ (S ∪ T ). Der Wert eines zulässigen (S, T )-Flusses x ist definiert als val(x) := s∈S (x(δ + (s)) − x(δ − (s))). Die Bestimmung eines maximalen (S, T )-Flusses in D kann wie folgt auf ein Maximalflussproblem in einem Digraphen D ′ = (V ′ , A ′ ) mit einer Quelle und einer Senke zurückgeführt werden. Wir wählen zwei neue Knoten s, t und setzen 126 V ′ := V ∪ {s, t}.
- Seite 80: R. E. Tarjan. Data structures and n
- Seite 83 und 84: 5 Bäume und Wege Der Beweis ist et
- Seite 85 und 86: 5 Bäume und Wege (2) =⇒ (3) Ist
- Seite 87 und 88: 5 Bäume und Wege Haben wir einen A
- Seite 89 und 90: 5 Bäume und Wege Falls T \ {ei} zu
- Seite 91 und 92: 5 Bäume und Wege /****************
- Seite 93 und 94: 5 Bäume und Wege THEN w[dope[i]+j]
- Seite 95 und 96: 5 Bäume und Wege Wie Beispiel (5.1
- Seite 97 und 98: 5 Bäume und Wege (a) F. Schiller.
- Seite 99 und 100: 5 Bäume und Wege DISTk(u) die Län
- Seite 101 und 102: 5 Bäume und Wege VOR(3) = 2. Wir s
- Seite 103 und 104: 5 Bäume und Wege 4. DO u = 1 TO v
- Seite 105 und 106: 5 Bäume und Wege Sei nun P ein kü
- Seite 107 und 108: 5 Bäume und Wege (b) D enthält ge
- Seite 109 und 110: 5 Bäume und Wege C2 C1 s 4 C3 C4 2
- Seite 111 und 112: 5 Bäume und Wege ders vorgehen: z.
- Seite 113 und 114: 5 Bäume und Wege ist ein System vo
- Seite 115 und 116: 5 Bäume und Wege heißt (allgemein
- Seite 117 und 118: 5 Bäume und Wege Um lästige Trivi
- Seite 119 und 120: Literaturverzeichnis A. Goldberg. P
- Seite 121 und 122: 6 Maximale Flüsse in Netzwerken Al
- Seite 123 und 124: 6 Maximale Flüsse in Netzwerken de
- Seite 125 und 126: 6 Maximale Flüsse in Netzwerken s
- Seite 127 und 128: 6 Maximale Flüsse in Netzwerken W
- Seite 129: 6 Maximale Flüsse in Netzwerken Da
- Seite 133 und 134: Literaturverzeichnis L. R. Ford, Jr
- Seite 135 und 136: 7 Flüsse mit minimalen Kosten Ein
- Seite 137 und 138: 7 Flüsse mit minimalen Kosten Dami
- Seite 139 und 140: 7 Flüsse mit minimalen Kosten Dami
- Seite 141 und 142: 7 Flüsse mit minimalen Kosten 2. K
- Seite 143 und 144: 7 Flüsse mit minimalen Kosten schr
- Seite 145 und 146: 7 Flüsse mit minimalen Kosten Erf
- Seite 147 und 148: 7 Flüsse mit minimalen Kosten Die
- Seite 149 und 150: 7 Flüsse mit minimalen Kosten (7.2
- Seite 151 und 152: 7 Flüsse mit minimalen Kosten W f
- Seite 153 und 154: 7 Flüsse mit minimalen Kosten r s
- Seite 156 und 157: 8 Grundlagen der Polyedertheorie In
- Seite 158 und 159: (c) Ist F = {x ∈ P | c T x = γ}
- Seite 160 und 161: (a) =⇒ (d): Nach Definition ist {
- Seite 162 und 163: (8.12) Folgerung. Sei P = P = (A, b
- Seite 164 und 165: 9 Die Grundversion des Simplex-Algo
- Seite 166 und 167: 9.1 Basen, Basislösungen, Entartun
- Seite 168 und 169: 9.1 Basen, Basislösungen, Entartun
- Seite 170 und 171: 9.2 Basisaustausch (Pivoting), Simp
- Seite 172 und 173: gilt daher ⎛ ⎜ F · E = ⎜ ⎝
- Seite 174 und 175: 9.2 Basisaustausch (Pivoting), Simp
- Seite 176 und 177: 9.3 Das Simplexverfahren (c) Ist x
- Seite 178 und 179: Setze (II.6) Updating B ′ := (p1,
s<br />
6/6<br />
6/7<br />
4/7 4/4<br />
1 3 6<br />
0/2<br />
2/3<br />
0/3<br />
4<br />
0/2<br />
4/4<br />
2 5 8<br />
6/6 2/2<br />
2/2<br />
6.3 Einige Anwendungen<br />
8/9<br />
7 t<br />
Abbildung 6.3: Maximaler Fluss für den Beispiel-Digraph aus Abbildung 6.2.<br />
8. Es gilt<br />
1/1<br />
1/1<br />
VOR(t) = +7<br />
VOR(7) = +6<br />
VOR(6) = +3<br />
VOR(3) = −4<br />
VOR(4) = −2<br />
VOR(2) = +s<br />
also ist der augmentierende Weg mit EPS(t) = 2 der folgende (s, 2), (4, 2), (3, 4),<br />
(3, 6), (6, 7), (7, t). Der neue Fluss ist in Abbildung 6.3 dargestellt. Dieser<br />
(s, t)-Fluss ist maximal, ein (s, t)-Schnitt minimaler Kapazität ist δ + ({s, 2}), ein<br />
anderer δ + ({s, 1, 2, 3, 4, 5}). △<br />
6.3 Einige Anwendungen<br />
In diesem Abschnitt geht es nicht um praktische Anwendungen, sondern um Anwendungen<br />
der im Vorhergehenden angegebenen Sätze und Algorithmen zur Lösung anderer<br />
mathematischer (Optimierungs-)Probleme.<br />
Matchings maximaler Kardinalität in bipartiten Graphen In (3.9) haben wir das bipartite<br />
Matchingproblem kennengelernt. Wir wollen nun zeigen, wie man die Kardinalitätsversion<br />
dieses Problems, d. h. alle Kantengewichte sind 1, mit Hilfe eines Maximalflussverfahrens<br />
lösen kann.<br />
Ist also G = (V, E) ein bipartiter Graph mit Bipartition V1, V2, so definieren wir einen<br />
Digraphen D = (W, A) wie folgt. Wir wählen zwei neue Knoten, sagen wir s und t, und<br />
setzen W := V ∪ {s, t}. Die Bögen von D seien die folgenden. Ist e = uv ∈ E eine Kante<br />
von G, so geben wir dieser die Richtung von V1 nach V2. Ist also u ∈ V1 und v ∈ V2,<br />
so wird aus uv ∈ E der Bogen (u, v) andernfalls der Bogen (v, u). Ferner enthält D die<br />
Bögen (s, u) für alle u ∈ V1 und die Bögen (v, t) für alle v ∈ V2. Alle Bögen von D<br />
erhalten die Kapazität 1. Die Konstruktion von D aus G ist in Abbildung 6.4 an einem<br />
Beispiel dargestellt.<br />
1/5<br />
3/3<br />
1/1<br />
125