Babes¸-Bolyai Universitat, Department f¨ ur Informatik...

46
Algorithmische Graphentheorie Vorlesung 13: Fl¨ usse und Zuordnungen Babes ¸-Bolyai Universit¨ at, Department f ¨ ur Informatik, Cluj-Napoca [email protected]

Transcript of Babes¸-Bolyai Universitat, Department f¨ ur Informatik...

Page 1: Babes¸-Bolyai Universitat, Department f¨ ur Informatik ...csacarea/wordpress/wp-content/uploads/V13-1.pdf · Algorithmische Graphentheorie Vorlesung 13: Flusse und Zuordnungen¨

Algorithmische Graphentheorie

Vorlesung 13: Flusse und Zuordnungen

Babes-Bolyai Universitat, Department fur Informatik, [email protected]

Page 2: Babes¸-Bolyai Universitat, Department f¨ ur Informatik ...csacarea/wordpress/wp-content/uploads/V13-1.pdf · Algorithmische Graphentheorie Vorlesung 13: Flusse und Zuordnungen¨

DURCHSATZ

D(e) ist die maximale Flussmenge, die durch die Ecke e fliessenkann.

Page 3: Babes¸-Bolyai Universitat, Department f¨ ur Informatik ...csacarea/wordpress/wp-content/uploads/V13-1.pdf · Algorithmische Graphentheorie Vorlesung 13: Flusse und Zuordnungen¨

ALGORITHMUS VON DINIC

Die Idee des Verfahrens besteht darin, in jedem Schritt denFluss auf dem geschichteten Hilfsnetzwerk derart zu erhohen,dass der Fluss durch die Ecke e mit minimalem Durchsatzgerade D(e) ist. Danach konnen e und die mit e inzidentenKanten aus dem Netzwerk entfernt werden. Der Durchsatzaller Ecken muss ebenfalls neu bestimmt werden. Er kann sichauf zwei verschiedene Arten geandert haben.

Page 4: Babes¸-Bolyai Universitat, Department f¨ ur Informatik ...csacarea/wordpress/wp-content/uploads/V13-1.pdf · Algorithmische Graphentheorie Vorlesung 13: Flusse und Zuordnungen¨

ALGORITHMUS VON DINIC

Die Kapazitaten der Kanten werden um den entsprechendenFluss vermindert. Dadurch kann der Durchsatz sinken. Fernerkonnen Ecken mit Durchsatz 0 entstehen (z.B. die Ecke mitminimalem Durchsatz). Diese werden mit ihren Kantenentfernt und der Durchsatz der Nachbarn abgeandert. DieserVorgang wird solange wiederholt, bis der Durchsatz jeder Eckepositiv ist. Die anderung des Durchsatzes erfolgt mittels derbeiden Felder D+ und D−.

D+[e] =∑

k=(e,f )∈K

c(k) und D−[e]∑

k=(f ,e)∈K

c(k).

Page 5: Babes¸-Bolyai Universitat, Department f¨ ur Informatik ...csacarea/wordpress/wp-content/uploads/V13-1.pdf · Algorithmische Graphentheorie Vorlesung 13: Flusse und Zuordnungen¨

ALGORITHMUS VON DINIC

Die Erhohung des Flusses bis zu dem Punkt, an dem die Eckemit minimalem Durchfluss gesattigt ist, erfolgt mit denProzeduren erweitereruckwarts underweiterevorwarts. Diese verteilen den Fluss D[e], von eaus startend, ruckwarts bis zur Quelle bzw. vorwarts bis zurSenke. Dabei werden die beiden Felder D− und D+ abgeandert.Kanten, deren Kapazitaten voll ausgenutzt werden, werdenentfernt. Die Ecken, deren Durchsatz auf 0 absinkt, werdengesammelt und in der Prozedur blockfluss rekursiventfernt.

Page 6: Babes¸-Bolyai Universitat, Department f¨ ur Informatik ...csacarea/wordpress/wp-content/uploads/V13-1.pdf · Algorithmische Graphentheorie Vorlesung 13: Flusse und Zuordnungen¨

PROZEDUR blockfluss

Page 7: Babes¸-Bolyai Universitat, Department f¨ ur Informatik ...csacarea/wordpress/wp-content/uploads/V13-1.pdf · Algorithmische Graphentheorie Vorlesung 13: Flusse und Zuordnungen¨

PROZEDUR blockfluss

Page 8: Babes¸-Bolyai Universitat, Department f¨ ur Informatik ...csacarea/wordpress/wp-content/uploads/V13-1.pdf · Algorithmische Graphentheorie Vorlesung 13: Flusse und Zuordnungen¨

PROZEDUR erweitereruckwarts

Die Prozeduren erweitereruckwarts underweiterevorwarts arbeiten nach dem gleichen Prinzip. Siestarten bei der Ecke mit minimalem Durchsatz und verteilendiesen Fluss ruckwarts zur Quelle bzw. vorwarts zur Senkeunter Beibehaltung der Flusserhaltungsbedingung fur allebesuchten Ecken. Dies ist moglich, da der Durchsatz deranderen Ecken mindestens genauso hoch ist. Eine Verteilungdieses Flusses ruckwarts von der Senke startend wurde nichtdas gleiche Ziel erreichen. In diesem Fall ware nicht gesichert,dass die Ecke mit minimalem Durchsatz gesattigt ware unddeshalb entfernt werden konnte.

Page 9: Babes¸-Bolyai Universitat, Department f¨ ur Informatik ...csacarea/wordpress/wp-content/uploads/V13-1.pdf · Algorithmische Graphentheorie Vorlesung 13: Flusse und Zuordnungen¨

PROZEDUR erweitereruckwarts

Page 10: Babes¸-Bolyai Universitat, Department f¨ ur Informatik ...csacarea/wordpress/wp-content/uploads/V13-1.pdf · Algorithmische Graphentheorie Vorlesung 13: Flusse und Zuordnungen¨

TRENNENDER SCHNITT

Page 11: Babes¸-Bolyai Universitat, Department f¨ ur Informatik ...csacarea/wordpress/wp-content/uploads/V13-1.pdf · Algorithmische Graphentheorie Vorlesung 13: Flusse und Zuordnungen¨

TRENNENDER SCHNITT

DefinitionEs sei N = (G, c, s, t) ein Flussnetzwerk mit G = (V,A). Fur eineTeilmenge S ⊆ V heißt AS := {(v,w) ∈ A | v ∈ S,w ∈ V \ S}Schnitt von G. Falls s ∈ S, t ∈ V \ S, so ist AS ein trennenderSchnitt. Ein trennender Schnitt AS mit minimaler Kapazitat

c(AS) :=∑e∈AS

c(e)

heißt minimaler Schnitt.

Page 12: Babes¸-Bolyai Universitat, Department f¨ ur Informatik ...csacarea/wordpress/wp-content/uploads/V13-1.pdf · Algorithmische Graphentheorie Vorlesung 13: Flusse und Zuordnungen¨

MAX-FLOW-MIN-CUT-THEOREM

Theorem

Page 13: Babes¸-Bolyai Universitat, Department f¨ ur Informatik ...csacarea/wordpress/wp-content/uploads/V13-1.pdf · Algorithmische Graphentheorie Vorlesung 13: Flusse und Zuordnungen¨

BEMERKUNG

1 Kennen wir einen Fluss f und finden wir einen trennendenSchnitt AS mit Φ(f ) = c(AS), so ist f ein Maximalfluss.

2 Fur die Menge S bei Terminierung vomMarkierungsalgorithmus ist AS ein minimaler Schnitt.

3 Der Markierungsalgorithmus berechnet also nicht nureinen maximalen Fluss sondern auch einen minimalenSchnitt.

Page 14: Babes¸-Bolyai Universitat, Department f¨ ur Informatik ...csacarea/wordpress/wp-content/uploads/V13-1.pdf · Algorithmische Graphentheorie Vorlesung 13: Flusse und Zuordnungen¨

BEISPIEL

Wie groß ist der Maximalfluss in dem folgenden Graphen?

Page 15: Babes¸-Bolyai Universitat, Department f¨ ur Informatik ...csacarea/wordpress/wp-content/uploads/V13-1.pdf · Algorithmische Graphentheorie Vorlesung 13: Flusse und Zuordnungen¨

0-1-NETZWERKE

In diesem Abschnitt wird ein wichtiger Spezialfall vonallgemeinen Netzwerken betrachtet: Netzwerke, in denen jedeKante die Kapazitat 0 oder 1 hat. Solche Netzwerke nennt man0-1-Netzwerke. Sie treten in vielen Anwendungen auf. Auf0-1-Netzwerke existieren maximale Flusse mit speziellenEigenschaften.

Satz.Es sei G ein 0-1-Netzwerk. Dann existiert ein maximaler Fluss f ,welcher auf jeder Kante den Wert 1 oder 0 hat. Ferner gibt es |f |Wege von q nach s, welche paarweise keine Kante gemeinsamhaben. Die Kanten dieser Wege haben alle den Fluss 1.

Page 16: Babes¸-Bolyai Universitat, Department f¨ ur Informatik ...csacarea/wordpress/wp-content/uploads/V13-1.pdf · Algorithmische Graphentheorie Vorlesung 13: Flusse und Zuordnungen¨

BINARE FLUSSE

Ein Fluss heisst binar, wenn er auf jeder Kante den Wert 0 oder1 hat. Man beachte, dass nicht jeder maximale Fluß auf einem0-1-Netzwerk ein binarer Fluss ist. Die in den letztenAbschnitten entwickelten Algorithmen lassen sich fur0-1-Netzwerke noch verbessern, so dass man zu effizienterenVerfahren gelangt. Die Grundlage fur diesen Abschnitt bildetder Algorithmus von Dinic. In beliebigen Netzwerken konnendie dazugehorigen geschichteten Hilfsnetzwerke aus bis zun− 1 Niveaus bestehen. Fur die Anzahl der Niveaus in einemgeschichteten Hilfsnetzwerk eines 0-1-Netzwerkes kann einebessere obere Schranke angegeben werden. Das folgendeLemma gilt auch fur Netzwerke, die nicht schlicht sind.

Page 17: Babes¸-Bolyai Universitat, Department f¨ ur Informatik ...csacarea/wordpress/wp-content/uploads/V13-1.pdf · Algorithmische Graphentheorie Vorlesung 13: Flusse und Zuordnungen¨

BINARE FLUSSE

LemmaEs sei N ein 0-1-Netzwerk mit der Eigenschaft, dass eszwischen je zwei Ecken maximal zwei parallele Kanten gibt. Istf0 der triviale Fluss auf N und M der Wert eines maximalenFlusses, so besteht das geschichtete Hilfsnetzwerk G′f0 ausmaximal

22/3n/√

M

Niveaus.

Page 18: Babes¸-Bolyai Universitat, Department f¨ ur Informatik ...csacarea/wordpress/wp-content/uploads/V13-1.pdf · Algorithmische Graphentheorie Vorlesung 13: Flusse und Zuordnungen¨

BINARE FLUSSE

Mit Hilfe dieses Ergebnisses kann man nun zeigen, dasss dieworst case Laufzeit des Algorithmus von Dinic fur0-1-Netzwerke geringer als die fur allgemeine Netzwerke ist.Eine weitere Verbesserung wird dadurch erreicht, dass dasVerfahren zum Auffinden von blockierenden Flussen auf diespeziellen Eigenschaften von 0-1-Netzwerken abgestimmtwird.

Page 19: Babes¸-Bolyai Universitat, Department f¨ ur Informatik ...csacarea/wordpress/wp-content/uploads/V13-1.pdf · Algorithmische Graphentheorie Vorlesung 13: Flusse und Zuordnungen¨

BLOCKIERENDE FLUSSE

Ein Fluss ist ein blockierender Fluss, falls es keinenErweiterungsweg gibt, der nur aus Vorwartskanten besteht.Fur 0-1-Netzwerke bedeutet dies, dass ein binarer Flussblockierend ist, falls es keinen Weg von der Quelle zur Senkegibt, der ausschliesslich aus Kanten mit Fluss 0 besteht. Dazuwerden Wege von der Quelle zur Senke bestimmt und derenKanten dann aus dem Netzwerk entfernt. Diese Kanten tragenden Fluss 1. Das folgende Verfahren basiert auf derTiefensuche. Hierbei wird jede Kante nur einmal betrachtetund anschliessend entfernt.

Page 20: Babes¸-Bolyai Universitat, Department f¨ ur Informatik ...csacarea/wordpress/wp-content/uploads/V13-1.pdf · Algorithmische Graphentheorie Vorlesung 13: Flusse und Zuordnungen¨

DIE REKURSIVE FUNKTION findeSucht Wege von der Quelle zur Senke und entfernt allebetrachteten Kanten.

Page 21: Babes¸-Bolyai Universitat, Department f¨ ur Informatik ...csacarea/wordpress/wp-content/uploads/V13-1.pdf · Algorithmische Graphentheorie Vorlesung 13: Flusse und Zuordnungen¨

PROZEDUR blockfluss

Jeder Aufruf von finde erweitert den Fluss h, soweit h nochnicht blockierend ist, und entfernt die besuchten Kanten aus G.Die Prozedur blockfluss ruft solange finde auf, bis keinWeg mehr von der Quelle zur Senke existiert. Am Ende ist h einbinarer blockierender Fluss.

Prozedur blockflussprocedure blockfluss(G : 0-1-Netzwerk; var h : Fluss)beginwhile finde(G, G.quelle, h) = 1 do

tend

Page 22: Babes¸-Bolyai Universitat, Department f¨ ur Informatik ...csacarea/wordpress/wp-content/uploads/V13-1.pdf · Algorithmische Graphentheorie Vorlesung 13: Flusse und Zuordnungen¨

BINARE FLUSSE

Die Komplexitat der Prozedur blockfluss laßt sich leichtbestimmen. Jede Kante wird maximal einmal betrachtet; somitergibt sich O(m) als worst case Komplexitat. Das im letztenAbschnitt vorgestellte Verfahren zur Bestimmung einesblockierenden Flusses in einem beliebigen Netzwerk hattedagegen eine Komplexitat von O(n2). Mit Hilfe dieserVorbereitungen kann nun folgender Satz bewiesen werden.

Satz.Ein binarer maximaler Fluss fur 0-1-Netzwerke kann mit demAlgorithmus von Dinic mit Komplexitat O(n2/3m) bestimmtwerden.

Page 23: Babes¸-Bolyai Universitat, Department f¨ ur Informatik ...csacarea/wordpress/wp-content/uploads/V13-1.pdf · Algorithmische Graphentheorie Vorlesung 13: Flusse und Zuordnungen¨

KOSTENMINIMALE FLUSSE

In praktischen Anwendungen treten Netzwerke haufig in einerVariante auf, bei der den Kanten neben Kapazitaten auch nochKosten zugeordnet sind. Es sei G ein Netzwerk mit oberenKapazitatsbeschrankungen. Jeder Kante k in G sind Kostenc(k) > 0 zugeordnet. Hierbei sind c(k) die Kosten, die beimTransport einer Flusseinheit durch die Kante k entstehen. DieKosten eines Flusses f von G sind gleich∑

k∈E

f (k)(c(k).

Page 24: Babes¸-Bolyai Universitat, Department f¨ ur Informatik ...csacarea/wordpress/wp-content/uploads/V13-1.pdf · Algorithmische Graphentheorie Vorlesung 13: Flusse und Zuordnungen¨

KOSTENMINIMALE FLUSSE

In der Praxis interessiert man sich fur folgende Fragestellung:Unter den Flussen mit Wert w ist derjenige mit minimalenKosten gesucht. Einen solchen Fluss nennt man kostenminimal.Insbesondere sucht man nach einem maximalen Fluss mitminimalen Kosten. Es sei nun f ein Fluss und W einErweiterungsweg fur f . Die Kosten von W sind gleich derSumme der Kosten der Vorwartskanten minus der Summe derKosten der Ruckwartskanten bezuglich f . Ein geschlossenerWeg in Gf heißt Erweiterungskreis. Die Kosten einesErweiterungskreises berechnen sich genauso wie fur einenErweiterungsweg. Die wichtigsten Eigenschaften vonkostenminimalen Flussen sind in folgendem Satzzusammengefasst.

Page 25: Babes¸-Bolyai Universitat, Department f¨ ur Informatik ...csacarea/wordpress/wp-content/uploads/V13-1.pdf · Algorithmische Graphentheorie Vorlesung 13: Flusse und Zuordnungen¨

SATZ

Es sei G ein Netzwerk mit oberen Kapazitatsbeschrankungenund einer Bewertung der Kanten mit nicht negativen Kosten.Dann gelten folgende Aussagen:

1 Ein Fluss f mit Wert w hat genau dann minimale Kosten,wenn der Graph Gf keinen Erweiterungskreis mitnegativen Kosten besitzt.

2 Es sei f ein kostenminimaler Fluss mit Wert w und W einErweiterungsweg mit den kleinsten Kosten fur f . Der aus fund W gebildete neue Fluss f ′ ist wieder einkostenminimaler Fluss und hat den Wert |f |+ f∆.

3 Sind alle Kapazitaten ganze Zahlen, so gibt es einenkostenminimalen maximalen Fluss, dessen Werteganzzahlig sind.

Page 26: Babes¸-Bolyai Universitat, Department f¨ ur Informatik ...csacarea/wordpress/wp-content/uploads/V13-1.pdf · Algorithmische Graphentheorie Vorlesung 13: Flusse und Zuordnungen¨

ANWENDUNGEN VON NETZWERKALGORITHMEN

Matchings - WiederholungEs sei G ein ungerichteter Graph mit Kantenmenge K. EineTeilmenge Z von K heißt Zuordnung (Matching) von G, fallsdie Kanten in Z paarweise keine gemeinsamen Ecken haben.Eine Zuordnung heißt maximal, wenn es keine Zuordnung mitmehr Kanten gibt. Die Maximalitat von Zuordnungen stutztsich nicht auf die Maximalitat von Mengen bezuglichMengeninklusion, sondern auf die Maximalitat der Anzahl derElemente von Mengen. Eine Zuordnung Z eines Graphen Gheißt nicht erweiterbar, wenn sie durch keine weitere Kantevergroßert werden kann. In diesem Fall gibt es zu jeder Kantevon G eine Kante aus Z, so dass beide Kanten mindestens eineEcke gemeinsam haben. Eine Zuordnung Z heißt vollstandig,falls jede Ecke des Graphen mit einer Kante aus Z inzident ist.Jede vollstandige Zuordnung ist maximal, aber die Umkehrunggilt nicht.

Page 27: Babes¸-Bolyai Universitat, Department f¨ ur Informatik ...csacarea/wordpress/wp-content/uploads/V13-1.pdf · Algorithmische Graphentheorie Vorlesung 13: Flusse und Zuordnungen¨

MATCHINGS IN BIPARTITE GRAPHEN

Es sei G ein bipartiter Graph und NG folgendes 0-1-Netzwerk:Die Eckenmenge EG von NG ist gleich E ∪ {q, s}, d.h. es werdenzwei neue Ecken eingefuhrt. Fur jede Ecke e ∈ E1 gibt es in NGeine Kante von q nach e mit Kapazitat 1 und fur jede Eckee ∈ E2 eine Kante von e nach s mit Kapazitat 1. Ferner gibt esfur jede Kante (e1, e2) von G eine gerichtete Kante von e1 nach e2mit Kapazitat 1 (e1 ∈ E1, e2 ∈ E2).

Page 28: Babes¸-Bolyai Universitat, Department f¨ ur Informatik ...csacarea/wordpress/wp-content/uploads/V13-1.pdf · Algorithmische Graphentheorie Vorlesung 13: Flusse und Zuordnungen¨

MATCHINGS IN BIPARTITE GRAPHEN

Abbildung 1: Ein bipartiter Graph G und sein 0-1-Netzwerk NG

Page 29: Babes¸-Bolyai Universitat, Department f¨ ur Informatik ...csacarea/wordpress/wp-content/uploads/V13-1.pdf · Algorithmische Graphentheorie Vorlesung 13: Flusse und Zuordnungen¨

LEMMA

LemmaDie Anzahl der Kanten in einer maximalen Zuordnung einesbipartiten Graphen G ist gleich dem Wert eines maximalenFlusses auf NG. Ist f ein maximaler binarer Fluss, so bilden dieKanten aus G mit Fluss 1 eine maximale Zuordnung von G.

BeweisEs sei f ein maximaler binarer Fluss auf dem 0-1-Netzwerk NG.Ferner sei Z die Menge aller Kanten aus G, fur die der Flussdurch die entsprechende Kante in NG gerade 1 ist. Da jede Eckeaus E1 in NG den Eingrad 1 und jede Ecke aus E2 in NG denAusgrad 1 hat, folgt aus der Flusserhaltungsbedingung, dass Zeine Zuordnung ist. Ferner enthalt Z genau |f | Kanten.

Page 30: Babes¸-Bolyai Universitat, Department f¨ ur Informatik ...csacarea/wordpress/wp-content/uploads/V13-1.pdf · Algorithmische Graphentheorie Vorlesung 13: Flusse und Zuordnungen¨

BEWEIS (2)

Sei nun umgekehrt Z eine maximale Zuordnung von G mit zKanten. Dann laßt sich leicht ein Fluss f mit Wert z auf NGkonstruieren. Fur jede Kante (e1, e2) ∈ Z definiert man

f (q, e1) = f (e1, e2) = f (e2, q) = 1

und f (k) = 0 fur alle anderen Kanten k von NG. DieFlusserhaltungsbedingung ist fur f erfullt, und es gilt |f | = z.Damit ist das Lemma bewiesen.

Page 31: Babes¸-Bolyai Universitat, Department f¨ ur Informatik ...csacarea/wordpress/wp-content/uploads/V13-1.pdf · Algorithmische Graphentheorie Vorlesung 13: Flusse und Zuordnungen¨

MATCHINGS UND FLUSSE

SatzFur einen bipartiten Graphen kann eine maximale Zuordnungin der Zeit O(

√zm) mittels des Algorithmus von Dinic

bestimmt werden. Hierbei bezeichnet z die Anzahl der Kantenin einer maximalen Zuordnung.

Page 32: Babes¸-Bolyai Universitat, Department f¨ ur Informatik ...csacarea/wordpress/wp-content/uploads/V13-1.pdf · Algorithmische Graphentheorie Vorlesung 13: Flusse und Zuordnungen¨

BESTIMMEN VON MATCHINGS

Maximale Zuordnungen fur Baume konnen in linearer Zeitbestimmt werden. Verfahren zur Bestimmung von maximalenZuordnungen in nicht bipartiten Graphen sind komplizierter.Die besten Algorithmen haben erstaunlicherweise die gleicheworst case Laufzeit wie im bipartiten Fall. Dabei wird dasKonzept der Erweiterungswege auf dem Netzwerk NG in einentsprechendes Konzept fur G ubertragen. Das großte Problemdabei ist die Bestimmung von Erweiterungswegen in nichtbipartiten Graphen.

Page 33: Babes¸-Bolyai Universitat, Department f¨ ur Informatik ...csacarea/wordpress/wp-content/uploads/V13-1.pdf · Algorithmische Graphentheorie Vorlesung 13: Flusse und Zuordnungen¨

NETZWERKE MIT OBEREN UND UNTEREN

KAPAZITATEN

Bisher wurden nur Netzwerke betrachtet, in denen der Flussdurch jede Kante nur nach oben beschrankt war. Eine expliziteuntere Grenze wurde nicht angegeben. Es wurde lediglichverlangt, dass der Fluss nicht negativ ist, d.h. 0 war die untereGrenze fur alle Kanten. In vielen Anwendungen sind aber von0 verschiedene Untergrenzen von Bedeutung. In diesemAbschnitt werden Netzwerke mit oberen und unteren Grenzenfur den Fluss durch die Kanten betrachtet. Dazu werden zweiKapazitatsfunktionen κu und κ0 fur ein Netzwerk angegeben.Fur alle Kanten k des Netzwerkes gilt κu(k) < κ0(k). Der ersteTeil der Definition eines Flusses wird folgendermaßenabgeandert:

a) fur jede Kante k von G gilt κu(k) < f (k) < κ0(k).

Page 34: Babes¸-Bolyai Universitat, Department f¨ ur Informatik ...csacarea/wordpress/wp-content/uploads/V13-1.pdf · Algorithmische Graphentheorie Vorlesung 13: Flusse und Zuordnungen¨

NETZWERKE MIT OBEREN UND UNTEREN

KAPAZITATEN

Der zweite Teil der Definition bleibt unverandert. Ziel diesesAbschnitts ist die Entwicklung eines Algorithmus zurBestimmung eines maximalen Flusses in Netzwerken mitoberen und unteren Grenzen. Betrachtet man noch einmal dieim letzten Vorlesung diskutierten Algorithmen, so haben dieseeine Gemeinsamkeit: Ein gegebener Fluss wird schrittweiseerhoht, bis er maximal ist. Ausgangspunkt war dabei meist dertriviale Fluss. Auf einem Netzwerk mit von 0 verschiedenenUntergrenzen ist der triviale Fluss aber kein zulassiger Fluss.Das erste Problem ist also die Bestimmung eines zulassigenFlusses. Die Anpassung der Algorithmen, um aus einemzulassigen einen maximalen Fluss zu erzeugen, sind leichtvorzunehmen.

Page 35: Babes¸-Bolyai Universitat, Department f¨ ur Informatik ...csacarea/wordpress/wp-content/uploads/V13-1.pdf · Algorithmische Graphentheorie Vorlesung 13: Flusse und Zuordnungen¨

BEISPIEL:NETZWERK MIT OBEREN UND UNTEREN

KAPAZITATEN

Abbildung 2: Ein Netzwerk ohne zulassigen Fluss

Page 36: Babes¸-Bolyai Universitat, Department f¨ ur Informatik ...csacarea/wordpress/wp-content/uploads/V13-1.pdf · Algorithmische Graphentheorie Vorlesung 13: Flusse und Zuordnungen¨

BEISPIEL - DISKUSSION

Aus der Quelle konnen maximal funf Einheiten hinausfliessen,und in die Senke mussen mindestens sechs Einheitenhineinfliessen. D.h. es ist im allgemeinen nicht sicher, dass einzulassiger Fluss uberhaupt existiert.

Page 37: Babes¸-Bolyai Universitat, Department f¨ ur Informatik ...csacarea/wordpress/wp-content/uploads/V13-1.pdf · Algorithmische Graphentheorie Vorlesung 13: Flusse und Zuordnungen¨

BESTIMMUNG EINES MAXIMALEN FLUSSES

Die Bestimmung eines maximalen Flusses auf Netzwerken mitunteren und oberen Grenzen erfolgt in zwei Phasen:

1 uberprufung, ob ein zulassiger Fluss existiert unddesselben Bestimmung

2 Erhohung dieses Flusses zu einem maximalen Fluss.L.R. Ford und D.R. Fulkerson haben eine Methode entwickelt,mit der das Problem der ersten Phase auf ein Netzwerkproblemohne untere Kapazitatsgrenzen zuruckgefuhrt werden kann.Dazu wird ein Hilfsnetzwerk G konstruiert.

Page 38: Babes¸-Bolyai Universitat, Department f¨ ur Informatik ...csacarea/wordpress/wp-content/uploads/V13-1.pdf · Algorithmische Graphentheorie Vorlesung 13: Flusse und Zuordnungen¨

BESTIMMUNG EINES MAXIMALEN FLUSSES

Page 39: Babes¸-Bolyai Universitat, Department f¨ ur Informatik ...csacarea/wordpress/wp-content/uploads/V13-1.pdf · Algorithmische Graphentheorie Vorlesung 13: Flusse und Zuordnungen¨

BESTIMMUNG EINES MAXIMALEN FLUSSES

Page 40: Babes¸-Bolyai Universitat, Department f¨ ur Informatik ...csacarea/wordpress/wp-content/uploads/V13-1.pdf · Algorithmische Graphentheorie Vorlesung 13: Flusse und Zuordnungen¨

BESTIMMUNG EINES MAXIMALEN FLUSSES

Damit ist G ein g− s-Netzwerk, d.h. die Ecken q und s sindnormale Ecken in G. Das Netzwerk G hat nur obereKapazitatsgrenzen, d.h. mit den Algorithmen aus der letztenVorlesung kann ein maximaler Fluss fur G bestimmt werden.

Die Konstruktion von G bedingt, dass folgende Gleichung gilt:∑e∈E

κ(ke) =∑e∈E

κ(ke).

Diese Große wird im folgenden mit S bezeichnet. S ist eineobere Grenze fur den Wert eines Flusses auf G. Der Wert einesmaximalen Flusses auf G zeigt an, ob es einen zulassigen Flussauf G gibt. Das wird in dem folgenden Lemma bewiesen.

Page 41: Babes¸-Bolyai Universitat, Department f¨ ur Informatik ...csacarea/wordpress/wp-content/uploads/V13-1.pdf · Algorithmische Graphentheorie Vorlesung 13: Flusse und Zuordnungen¨

LEMMA

Genau dann gibt es einen zulassigen Fluss auf dem NetzwerkG, wenn der maximale Fluss auf dem Netzwerk G den Wert Shat.

Page 42: Babes¸-Bolyai Universitat, Department f¨ ur Informatik ...csacarea/wordpress/wp-content/uploads/V13-1.pdf · Algorithmische Graphentheorie Vorlesung 13: Flusse und Zuordnungen¨

BEISPIEL

Abbildung 3: Ein Netzwerk G mit oberen und unterenKapazitatsgrenzen und das dazugehorige Netzwerk G

Page 43: Babes¸-Bolyai Universitat, Department f¨ ur Informatik ...csacarea/wordpress/wp-content/uploads/V13-1.pdf · Algorithmische Graphentheorie Vorlesung 13: Flusse und Zuordnungen¨

BEISPIEL

Abbildung 4: Werte des maximalen Flusses f fur Netzwerk G

Auf allen anderen Kanten hat f den Wert 0. Somit hat f denWert 7. Da auch S gleich 7 ist, gibt es einen zulassigen Fluss fauf G.

Page 44: Babes¸-Bolyai Universitat, Department f¨ ur Informatik ...csacarea/wordpress/wp-content/uploads/V13-1.pdf · Algorithmische Graphentheorie Vorlesung 13: Flusse und Zuordnungen¨

BEISPIEL

Abbildung 5: Werte des maximalen Flusses f fur Netzwerk G

Page 45: Babes¸-Bolyai Universitat, Department f¨ ur Informatik ...csacarea/wordpress/wp-content/uploads/V13-1.pdf · Algorithmische Graphentheorie Vorlesung 13: Flusse und Zuordnungen¨

BESTIMMUNG EINES MAXIMALEN FLUSSES

Nachdem ein zulassiger Fluss gefunden wurde, kann dieser zueinem maximalen Fluss erhoht werden. Dazu muß dieDefinition eines Erweiterungsweges geandert werden. Fur eineVorwartskante k muss nun

f (k) < κ0(k)

und fur eine Ruckwartskante

f (k) > κu(k)

gelten. Ferner ist

fv = min{κ0(k)−f (k) | k Vorwartskante auf dem Erweiterungsweg}

fr = min{f (k)−κu(k) | k Ruckwartskante auf dem Erweiterungsweg}.

Page 46: Babes¸-Bolyai Universitat, Department f¨ ur Informatik ...csacarea/wordpress/wp-content/uploads/V13-1.pdf · Algorithmische Graphentheorie Vorlesung 13: Flusse und Zuordnungen¨

BESTIMMUNG EINES MAXIMALEN FLUSSES

Nimmt man diese Anderungen im Algorithmus von Edmondsund Karp vor, so bestimmt dieser ausgehend von einemzulassigen Fluss einen maximalen Fluss.