Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der

Werbung
Kapitel 7: Flüsse in Netzwerken und Anwendungen
Gliederung der Vorlesung
1.
2.
3.
4.
5.
6.
7.
8.
7/3, Folie 1
Fallstudie Bipartite Graphen
Grundbegriffe
Elementare Graphalgorithmen und Anwendungen
Minimal spannende Bäume
Kürzeste Pfade
Traveling Salesman Problem
Flüsse in Netzwerken und Anwendungen
Netzplantechnik
© 2011 Prof. Steffen Lange
-
HDa/FbI
-
Graphen und Optimierung
Kapitel 7: Flüsse in Netzwerken und Anwendungen
Gliederung des Kapitels
a)
b)
c)
d)
e)
7/3, Folie 2
Einordnung / Motivation
Begriffe / Grundlagen
Anwendungen
Pfadbasierte Algorithmen
Kantenbasierte Algorithmen
© 2011 Prof. Steffen Lange
-
HDa/FbI
-
Graphen und Optimierung
Kapitel 7: Flüsse in Netzwerken und Anwendungen
Pfadbasierte Algorithmen
 Anmerkungen
•
•
die Grundidee für solche pfadbasierten Algorithmen haben wir bereits
kennen gelernt
interessanterweise kann man diese Grundidee „gut“ und „schlecht“
realisieren (/* und auf den ersten Blick unterscheiden sich diese
Realisierungen „kaum“ */)
... „gut“ bedeutet, dass der entsprechende Algorithmus ein
„effizienter“ Algorithmus ist
... „schlecht“ bedeutet, dass der entsprechende Algorithmus
nachweislich kein „effizienter Algorithmus“ ist
7/3, Folie 3
© 2011 Prof. Steffen Lange
-
HDa/FbI
-
Graphen und Optimierung
Kapitel 7: Flüsse in Netzwerken und Anwendungen
Pfadbasierte Algorithmen
 Algorithmische Fragestellung
•
gegeben:
•
•
gesucht:
•
7/3, Folie 4
ein Flussnetzwerk, d.h. ein gerichteter Graph mit zwei
ausgezeichneten Knoten s und t (/* die Quelle bzw. die
Senke */) und einer Funktion c(.), die jeder Kante eine
ganze Zahl > 0 als Kapazität zuordnet
© 2011 Prof. Steffen Lange
der maximale Wert eines Flusses in G von s nach t
-
HDa/FbI
-
Graphen und Optimierung
Kapitel 7: Flüsse in Netzwerken und Anwendungen
Pfadbasierte Algorithmen
 „generischer“ Ansatz
1)
2)
3)
4)
setze f([u,v]) = 0 für alle Kanten [u,v] in G
bestimme das zu f(.) gehörende Restflussnetzwerk Gf mit der
Kapazitätsfunktion c‘(.)
überprüfe, ob es in Gf einen Erweiterungspfad P gibt
•
falls nein, stoppe
•
falls ja, wähle das zuerst gefundene P und gehe zu 3)
bestimme c‘P, bestimme den aktualisierten Fluss f‘(.) und gehe
zu 2)
... diesen Ansatz nennt man Ford-Fulkerson-Methode
... wir wissen schon, dass diese Methode das leistet, was sie soll
7/3, Folie 5
© 2011 Prof. Steffen Lange
-
HDa/FbI
-
Graphen und Optimierung
Kapitel 7: Flüsse in Netzwerken und Anwendungen
Pfadbasierte Algorithmen
 Beispiel
1
2
s
3
2
3
1
(0,2)
t
2
s
(0,3)
(0,2)
(0,3)
(0,2)
t
3
t
2
2
1
s
2
2
2
3
2
7/3, Folie 6
© 2011 Prof. Steffen Lange
-
HDa/FbI
-
Graphen und Optimierung
Kapitel 7: Flüsse in Netzwerken und Anwendungen
Pfadbasierte Algorithmen
 Beispiel
1
s
2
3
3
2
... Erweiterungspfad:
P = (s,1,2,t) mit c‘P = 2
t
2
1
(0,2)
2
s
(0,3)
(0,2)
(0,3)
(0,2)
t
2
(2,2)
s
(0,3)
1
(2,2)
2
7/3, Folie 7
© 2011 Prof. Steffen Lange
-
HDa/FbI
-
Graphen und Optimierung
(0,3)
(2,2)
t
Kapitel 7: Flüsse in Netzwerken und Anwendungen
Pfadbasierte Algorithmen
 Beispiel
1
(2,2)
s
(0,3)
(2,2)
(0,3)
2
t
(2,2)
2
s
© 2011 Prof. Steffen Lange
3
t
3
2
7/3, Folie 8
1
2
-
HDa/FbI
-
Graphen und Optimierung
2
Kapitel 7: Flüsse in Netzwerken und Anwendungen
Pfadbasierte Algorithmen
 Beispiel
2
1
2
s
3
... Erweiterungspfad:
P = (s,2,1,t) mit c‘P = 2
t
3
2
1
(2,2)
2
s
(0,3)
(2,2)
(0,3)
(2,2)
t
2
(2,2)
s
(2,3)
1
(0,2)
2
7/3, Folie 9
© 2011 Prof. Steffen Lange
-
HDa/FbI
-
Graphen und Optimierung
(2,3)
(2,2)
t
Kapitel 7: Flüsse in Netzwerken und Anwendungen
Pfadbasierte Algorithmen
 Beispiel
1
(2,2)
s
(2,3)
(0,2)
(2,3)
2
t
(2,2)
s
1
2
2
1
2
1
2
2
t
2
... offenbar gibt es keinen Erweiterungspfad mehr
... also hat der maximale Fluss den Wert 4
7/3, Folie 10
© 2011 Prof. Steffen Lange
-
HDa/FbI
-
Graphen und Optimierung
Kapitel 7: Flüsse in Netzwerken und Anwendungen
Pfadbasierte Algorithmen
 Anmerkungen (/* Laufzeit */)
•
es sei G ein Flussnetzwerk mit n Knoten und m Kanten
•
1), 2) und 4) kann man offenbar in Zeit O(n+m) realisieren
•
da das jeweils betrachtete Restflussnetzwerk n Knoten und maximal
2m Kanten besitzt, ist es zulässig, dass die Laufzeit für 3) auch in
Abhängigkeit von n und m abgeschätzt wird
•
3) kann man mit Hilfe der Tiefen- bzw. Breitensuche in der Zeit O(n+m)
realisieren
... um die Gesamtlaufzeit abzuschätzen, muss man nur noch
wissen, wie viele Iterationen benötigt werden
7/3, Folie 11
© 2011 Prof. Steffen Lange
-
HDa/FbI
-
Graphen und Optimierung
Kapitel 7: Flüsse in Netzwerken und Anwendungen
Pfadbasierte Algorithmen
 Anmerkungen (/* Laufzeit */)
•
es sei z die Größe des maximalen Flusses f*(.), d.h. z = val(f*)
•
•
wir wissen, dass z eine ganze Zahl ist
wir wissen, dass der aktuelle Fluss in 4) jeweils um eine ganze Zahl ≥ 1
erhöht wird
... also wird der aktuelle Fluss f(.) höchstens z mal verändert und
folglich genügen z Iterationen
... demzufolge benötigt die Ford-Fulkerson-Methode insgesamt
höchstens die Zeit O(z*(n+m))
7/3, Folie 12
© 2011 Prof. Steffen Lange
-
HDa/FbI
-
Graphen und Optimierung
Kapitel 7: Flüsse in Netzwerken und Anwendungen
Pfadbasierte Algorithmen
 Anmerkungen (/* Laufzeit */)
•
falls z eine Zahl ist, die nicht viel größer als n und m ist, haben wir mit
der Ford-Fuklerson-Methode einen „effizienten“ Algorithmus, um einen
maximalen Fluss zu bestimmen
... falls z viel größer als n und m sind, ist das nicht mehr der Fall
... für n = 10, m = 90 und z = 1050, liefert unsere Abschätzung,
dass die Ford-Fulkerson-Methode 1052 viele Rechenschritte
benötigt (/* das ist garantiert nicht „effizient“ */)
... das nächste Beispiel zeigt, dass diese Bedenken nicht ganz
„unbegründet“ sind
7/3, Folie 13
© 2011 Prof. Steffen Lange
-
HDa/FbI
-
Graphen und Optimierung
Kapitel 7: Flüsse in Netzwerken und Anwendungen
Pfadbasierte Algorithmen
 Beispiel
•
•
wir gehen davon aus, dass in der Ford-Fulkerson-Methode 3) mit Hilfe
der Tiefensuche realisiert wird
wir gehen davon aus, dass die Kanten - wie üblich - in lexikographischer
Ordnung besucht werden
6
100
1
100
2
1
1
5
1
3
1
4
... offenbar hat der maximale Fluss f*(.) den Wert 100
7/3, Folie 14
© 2011 Prof. Steffen Lange
-
HDa/FbI
-
Graphen und Optimierung
Kapitel 7: Flüsse in Netzwerken und Anwendungen
Pfadbasierte Algorithmen
 Beispiel
6
6
100
1
100
99
1
2
1
5
1
1
2
1
1
3
99
1
5
1
P = (1,2,3,4,5,2,6)
4
1
1
3
4
1
P = (1,2,5,4,3,2,6)
6
6
97 3
1
97
98
2
3
5
1
1
3
1
1
P = (1,2,3,4,5,2,6)
4
© 2011 Prof. Steffen Lange
-
2
2
HDa/FbI
-
Graphen und Optimierung
1
1
5
1
3
1
7/3, Folie 15
98
2
1
4
Kapitel 7: Flüsse in Netzwerken und Anwendungen
Pfadbasierte Algorithmen
 Anmerkungen
•
wenn man die Ford-Fulkerson-Methode so implementiert, dass 3) mit
Hilfe der Tiefensuche realisiert wird, kann es passieren, dass die Anzahl
der Iterationen gleich der Größe z des maximalen Flusses f*(.) ist
... in unserem Beispiel mussten wir die Kapazität von zwei Kanten
so wählen, dass sie gleich der z sind
... dass ist nicht weiter „schlimm“, da man nur log(z) Platz benötigt
wird, um z zu speichern
... ein Algorithmus, der O(z*(n+m)) viele Rechenschritte benötigt,
ist immer noch expontentiell in der Größe der Beschreibung des
gegebenen Flussnetzwerks G (/* es gilt |G| ≤ n+m+m*log(z) */)
7/3, Folie 16
© 2011 Prof. Steffen Lange
-
HDa/FbI
-
Graphen und Optimierung
Kapitel 7: Flüsse in Netzwerken und Anwendungen
Pfadbasierte Algorithmen
 Eine einfache Verbesserungsmöglichkeit
•
wenn man die Ford-Fulkerson-Methode so implementiert, dass 3) mit
Hilfe der Breitensuche realisiert wird, kann man garantieren, dass
deutlich weniger Iterationen benötigt werden
•
man kann zeigen, dass dann O(n*m) viele Iterationen genügen
... das entsprechende Verfahren heißt Algorithmus von Edmonds
und Karp und hat eine Laufzeit in der Größe O((n*m)(n+m))
... offenbar ist der Algorithmus von Edmonds und Karp ein
„effizientes“ Verfahren zum Bestimmen von maximalen Flüssen
in Flussnetzwerken
7/3, Folie 17
© 2011 Prof. Steffen Lange
-
HDa/FbI
-
Graphen und Optimierung
Kapitel 7: Flüsse in Netzwerken und Anwendungen
Pfadbasierte Algorithmen
 Algorithmus von Edmonds und Karp
1)
2)
3)
4)
setze f([u,v]) = 0 für alle Kanten [u,v] in G
bestimme das zu f(.) gehörende Restflussnetzwerk Gf mit der
Kapazitätsfunktion c‘(.)
überprüfe mit Hilfe der Breitensuche, ob es in Gf einen
Erweiterungspfad P gibt
•
falls nein, stoppe
•
falls ja, wähle das zu erst gefundene P und gehe zu 3)
bestimme c‘P, bestimme den aktualisierten Fluss f‘(.) und gehe
zu 2)
... offenbar leistet dieser Algorithmus auch das, was er soll
7/3, Folie 18
© 2011 Prof. Steffen Lange
-
HDa/FbI
-
Graphen und Optimierung
Kapitel 7: Flüsse in Netzwerken und Anwendungen
Pfadbasierte Algorithmen
 Beispiel
6
6
100
1
100
2
(100,100)
1
1
5
1
1
3
1
P = (1,2,6)
4
(100,100)
2
(0,1)
(0,1)
(0,1)
3
(0,1)
... für dieses „kritische“ Beispiel benötigt der Algorithmus von
Edmonds und Karp genau eine Iteration
7/3, Folie 19
© 2011 Prof. Steffen Lange
-
HDa/FbI
-
Graphen und Optimierung
5
4
Kapitel 7: Flüsse in Netzwerken und Anwendungen
Pfadbasierte Algorithmen
 Eigenschaften des Algorithmus von Edmonds und Karp
•
es sei Gf das aktuelle Restflussnetzwerk und P der zu erst gefundene
Erweiterungspfad
•
Dann gilt:
•
•
•
P ist ein „kürzester“ Erweiterungspfad von der Quelle s zur Senke t
P „besucht“ jeden Knoten aus V höchstens einmal
für jeden besuchten Knoten v ist der Teilpfad von der Quelle s zum
Knoten v ein „kürzester“ Pfad von s nach v
... der Begriff „kürzester“ Pfad bezieht sich hier auf die Anzahl
der Knoten, auf dem betrachten Pfad !!!
7/3, Folie 20
© 2011 Prof. Steffen Lange
-
HDa/FbI
-
Graphen und Optimierung
Kapitel 7: Flüsse in Netzwerken und Anwendungen
Pfadbasierte Algorithmen
 Anmerkungen
•
es sei G ein Flussnetzwerk mit n Knoten und m Kanten
um zu zeigen, dass die Anzahl der Iteration des Algorithmus von
Edmonds und Karp in der Größe O(n*m) liegt benötigen wir folgenden
Hilfsbegriff
•
•
•
7/3, Folie 21
es seien f(.) zulässiger Fluss in G und Gf das zugehörige Restflussnetzwerk
es sei v ein Knoten aus V \ { s,t }
dann bezeichnet df(v) die Entfernung zwischen der Quelle s und dem
Knoten v in Gf, d.h. die Anzahl der Kanten auf einem „kürzesten“ Pfad
von s nach t in Gf (/* falls es keinen Pfad von s nach v gibt, so ist
df(v) = +∞ */)
© 2011 Prof. Steffen Lange
-
HDa/FbI
-
Graphen und Optimierung
Kapitel 7: Flüsse in Netzwerken und Anwendungen
Pfadbasierte Algorithmen
 Beobachtung 1
•
•
es sei G ein Flussnetzwerk mit n Knoten und m Kanten
es seien Gf1,..., Gfz die Restflussnetzwerke, die der Algorithmus von
Edmonds und Karp sukzessive erzeugt
•
es sei v ein Knoten V \ { s,t }
•
Dann gilt:
df1(v) ≤ df2(v) ≤ .... ≤ dfz(v)
... die Entfernungen eines Knotens v von der Quelle s werden nicht
kleiner
7/3, Folie 22
© 2011 Prof. Steffen Lange
-
HDa/FbI
-
Graphen und Optimierung
Kapitel 7: Flüsse in Netzwerken und Anwendungen
Pfadbasierte Algorithmen
 Begründung
•
es seien Gf und Gf‘ nacheinander erzeugte Restflussnetzwerke
•
Annahme: es sei v ein Knoten, für den df(v) > df‘(v) gilt
•
wir wählen v so, dass auf dem „kürzesten“ Pfad P* von s nach v in Gf‘ für
alle Zwischenknoten u‘ gilt: df(u‘) ≤ df‘(u‘)
... das geht offenbar (/* falls man einen Zwischenknoten u findet, der diese
Eigenschaft nicht hat, so setzt man u = v */)
... man kann sich leicht überlegen, dass es auf dem „kürzesten“ Pfad P*
von s nach v in Gf‘ wenigstens einen Zwischenknoten u‘ gibt
•
•
•
7/3, Folie 23
© 2011 Prof. Steffen Lange
falls nicht, so muss es in Gf‘ die Kante [s,v] geben
[s,v] darf dann nicht in Gf vorkommen
dann müsste aber die Kante [v,s] in einem „kürzesten“
Erweiterungspfad in Gf von s nach t benutzt worden sein
(/* das geht nicht, da dann s zweimal besucht würde */)
-
HDa/FbI
-
Graphen und Optimierung
Kapitel 7: Flüsse in Netzwerken und Anwendungen
Pfadbasierte Algorithmen
 Begründung
... in Gf‘
s
7/3, Folie 24
... in Gf
u
v
s
u
•
•
es gilt df(u) ≤ df‘(u) < + ∞ und df‘(v) = df‘(u) + 1
wegen df‘(v) < df(v), darf die Kante [u,v] in Gf nicht vorkommen (/* sonst
gilt sofort df(v) = df(u) + 1 ≤ df‘(u) + 1 = df‘(v) */)
•
also muss die Kante [v,u] in Gf auf dem zu erst gefundenen, kürzesten
Erweiterungspfad P von s nach t liegen
© 2011 Prof. Steffen Lange
-
HDa/FbI
-
Graphen und Optimierung
Kapitel 7: Flüsse in Netzwerken und Anwendungen
Pfadbasierte Algorithmen
 Begründung
... in Gf‘
s
... in Gf
u
s
v
u
v
t
•
da [v,u] in Gf auf dem zu erst gefundenen „kürzesten“ Erweiterungspfad P von s nach t liegt, wissen wir:
•
der Teilpfad P‘ von s über v nach u in Gf kann nicht mehr Kanten
enthalten als der Pfad P in Gf von s nach u (/* da P ein „kürzester“
Pfad von s nach t ist, muss dessen Teilpfad P‘ auch ein „kürzester“
Pfad von s nach u sein */)
also gilt: df(v) = df(u) - 1
7/3, Folie 25
© 2011 Prof. Steffen Lange
-
HDa/FbI
-
Graphen und Optimierung
Kapitel 7: Flüsse in Netzwerken und Anwendungen
Pfadbasierte Algorithmen
 Begründung
... in Gf‘
s
... in Gf
u
s
v
u
•
•
wir wissen, dass gilt: df(v) = df(u) - 1
wir wissen, dass gilt: df‘(v) = df‘(u) + 1
•
wenn df‘(v) < df(v) gilt, müsste auch df‘(u) + 1 < df(u) - 1 gelten
•
also müsste auch df‘(u) < df(u) - 2 gelten
v
t
... wir haben jedoch vorausgesetzt, dass df‘(u) ≥ df(u) gilt, und haben
damit einen Widerspruch abgeleitet
7/3, Folie 26
© 2011 Prof. Steffen Lange
-
HDa/FbI
-
Graphen und Optimierung
Kapitel 7: Flüsse in Netzwerken und Anwendungen
Pfadbasierte Algorithmen
 Beobachtung 2
•
es sei G ein Flussnetzwerk mit n Knoten und m Kanten
•
Dann gilt:
Der Algorithmus von Edmonds und Karp benötigt höchstens
O(n*m) viele Iterationen
7/3, Folie 27
© 2011 Prof. Steffen Lange
-
HDa/FbI
-
Graphen und Optimierung
Kapitel 7: Flüsse in Netzwerken und Anwendungen
Pfadbasierte Algorithmen
 Hilfsbegriff zur Begründung
•
•
es sei Gf ein Restflussnetzwerk mit der Kapazitätsfunktion
es sei [u,v] eine Kante in Gf
•
die Kante [u,v] heißt kritisch für Gf, falls gilt:
•
•
der zu erst gefundene „kürzeste“ Erweiterungspfad P in Gf, der die
Kante [u,v] benutzt
es gilt c‘([u,v]) = c‘P > 0
... c‘P ist die minimale Kapazität einer Kante auf dem Erweiterungspfad P
7/3, Folie 28
© 2011 Prof. Steffen Lange
-
HDa/FbI
-
Graphen und Optimierung
Kapitel 7: Flüsse in Netzwerken und Anwendungen
Pfadbasierte Algorithmen
 Einige hilfreiche Beobachtungen
•
•
es sei G ein Flussnetzwerk mit n Knoten und m Kanten
es seien Gf1,..., Gfz die Restflussnetzwerke, die der Algorithmus von
Edmonds und Karp sukzessive erzeugt
•
Dann gilt:
•
•
•
7/3, Folie 29
Wenn die Kante [u,v] in einem Restflusswerk Gfi kritisch ist, so
kommt die Kante [u,v] oder die Kante [v,u] in G vor.
Wenn die Kante [u,v] in einem Restflusswerk Gfi kritisch ist, so
kommt die Kante [u,v] im Restflusswerk Gfi+1 nicht vor.
In jedem Restflusswerk Gfi mit i < z kommt wenigstens eine
kritische Kante [u,v] vor.
© 2011 Prof. Steffen Lange
-
HDa/FbI
-
Graphen und Optimierung
Kapitel 7: Flüsse in Netzwerken und Anwendungen
Pfadbasierte Algorithmen
 Qualitative Idee
•
•
es sei G ein Flussnetzwerk mit n Knoten und m Kanten
es seien Gf1,..., Gfz die Restflussnetzwerke, die der Algorithmus von
Edmonds und Karp sukzessive erzeugt
•
wir werden zeigen:
... jede überhaupt als kritische Kante infrage kommende Kante [u,v]
kann nur O(n) mal benutzt werden, um ein „neues“ Restflussnetzwerk zu definieren
... da höchstens 2m viele Kanten überhaupt als kritische Kanten
infrage kommen, kann es nur O(n*m) viele Restflussnetzwerke
geben, die der Algorithmus von Edmonds und Karp sukzessive
erzeugt
7/3, Folie 30
© 2011 Prof. Steffen Lange
-
HDa/FbI
-
Graphen und Optimierung
Kapitel 7: Flüsse in Netzwerken und Anwendungen
Pfadbasierte Algorithmen
 Begründung (/* einfacher Fall */)
•
es sei die betrachtete Kante eine vom Typ [s,u] oder [u,t]
... dann kann diese Kante nur einmal kritisch sein
•
•
7/3, Folie 31
falls eine Kante vom Typ [s,u] oder [u,t] in im Restflussnetzwerk Gfi
kritisch ist, so enthält das Restflussnetzwerk Gfi+1 die Kante [s,u] oder
[u,t] nicht mehr und dafür die Kante [u,s] oder [t,u]
diese Kanten können im Restflussnetzwerk Gfi+1 nicht auf einem
„kürzesten“ Erweiterungspfad P von der Quelle s zur Senke t benutzt
werden (/* sonst würden s oder t mehr als einmal besucht werden */)
© 2011 Prof. Steffen Lange
-
HDa/FbI
-
Graphen und Optimierung
Kapitel 7: Flüsse in Netzwerken und Anwendungen
Pfadbasierte Algorithmen
 Begründung (/* der schwierigere Fall */)
•
es sei die betrachtete Kante eine vom Typ [u,v] mit u ≠ s und v ≠ t
•
es sei Gfi das Restflussnetzwerk, in dem die Kante [u,v] eine kritische
Kante ist
... in Gfi
s
u
•
7/3, Folie 32
... in Gfi+1
v
s
s
offenbar gilt dfi(v) = dfi(u) + 1
© 2011 Prof. Steffen Lange
-
HDa/FbI
-
Graphen und Optimierung
u
v
s
Kapitel 7: Flüsse in Netzwerken und Anwendungen
Pfadbasierte Algorithmen
 Begründung (/* der schwierigere Fall */)
•
damit die Kante [u,v] in einem Restflussnetzwerk Gfj mit j > i+1 wieder
eine kritische Kante werden kann, muß es ein k mit i+1 ≤ k < j geben,
so dass die umgedrehte Kante [v,u] eine kritische Kante im
Restflussnetzwerk Gfk ist
... in Gfk
s
u
•
7/3, Folie 33
... in Gfk+1
v
s
s
offenbar gilt dfk(u) = dfk(v) + 1
© 2011 Prof. Steffen Lange
-
HDa/FbI
-
Graphen und Optimierung
u
v
s
Kapitel 7: Flüsse in Netzwerken und Anwendungen
Pfadbasierte Algorithmen
 Begründung (/* der schwierigere Fall */)
•
wir wissen, dass dfi(v) = dfi(u) + 1 gilt
•
wir wissen, dass dfk(u) = dfk(v) + 1 gilt
•
wir wissen auch, dass i < k gilt, und damit gilt auch dfi(v) ≤ dfk(v)
... also gilt dfk(u) = dfk(v) + 1 ≥ dfi(u) + 1 + 1 = dfi(v) + 2
... folglich hat sich die Entfernung des Knotens u von der Quelle s im
Restflussnetwerk Gfk im Vergleich zur Entfernung des Knotens u von
der Quelle s im Restflussnetzwerk Gfj „echt“ vergrößert
7/3, Folie 34
© 2011 Prof. Steffen Lange
-
HDa/FbI
-
Graphen und Optimierung
Kapitel 7: Flüsse in Netzwerken und Anwendungen
Pfadbasierte Algorithmen
 Konsequenzen
•
•
es sei G ein Flussnetzwerk mit n Knoten und m Kanten
es seien Gf1,..., Gfz die Restflussnetzwerke, die der Algorithmus von
Edmonds und Karp sukzessive erzeugt
•
dann gibt es mit Blick auf eine Kante [u,v] im schlimmsten Fall
... spätestens wenn die Kante n-mal kritisch geworden ist, gilt df(u) ≥ n in
jedem noch zu untersuchenden Restflussnetzwerke Gf
... folglich kann die Kante [u,v] in in keinem der zu untersuchenden
Restflussnetzwerke Gf auf einem „kürzesten“ Erweiterungspfad
von der Quelle s zur Senke t benutzt werden (/* auf dem Teilpfad bis
zum Knoten u würde schon jeder Knoten einmal vorkommen */)
7/3, Folie 35
© 2011 Prof. Steffen Lange
-
HDa/FbI
-
Graphen und Optimierung
Kapitel 7: Flüsse in Netzwerken und Anwendungen
Pfadbasierte Algorithmen
 Zusammenfassung
•
•
7/3, Folie 36
wenn man die Ford-Fulkerson-Methode zur Bestimmung von maximalen
Flüssen verwendet, sollte man stets nach „kürzesten“
Erweiterungspfaden suchen
wenn man eine Bereitensuche benutzt (/* siehe Algorithmus von
Edmonds und Karp */), erhält man einen „effizienten“ pfadbasierten
Algorithmus
© 2011 Prof. Steffen Lange
-
HDa/FbI
-
Graphen und Optimierung
Herunterladen