28.11.2012 Aufrufe

Datenstrukturen und Algorithmen - Software Modeling and Verification

Datenstrukturen und Algorithmen - Software Modeling and Verification

Datenstrukturen und Algorithmen - Software Modeling and Verification

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Maximaler Fluss Ford-Fulkerson-Methode<br />

Übersicht<br />

1 Flussnetzwerke<br />

2 Ford-Fulkerson-Methode<br />

Restnetzwerke<br />

Algorithmus<br />

Schnitte<br />

3 Edmonds-Karp-Algorithmus<br />

Joost-Pieter Katoen <strong>Datenstrukturen</strong> <strong>und</strong> <strong>Algorithmen</strong> 13/27<br />

Maximaler Fluss Ford-Fulkerson-Methode<br />

Restnetzwerke<br />

Definition (Restnetzwerk Gf )<br />

„Netzwerk minus Fluss = Restnetzwerk“<br />

Gegeben sei das Flussnetzwerk G = (V , E, c) <strong>und</strong> ein Fluss f , dann ist<br />

Gf = (V , Ef , cf ) das Restnetzwerk (auch: Residualnetzwerk) zu G <strong>und</strong> f<br />

mit:<br />

Ef = { (u, v) ∈ V × V | cf (u, v) > 0 },<br />

<strong>und</strong><br />

cf die Restkapazität von G.<br />

cf (u, v) = c(u, v) − f (u, v),<br />

Joost-Pieter Katoen <strong>Datenstrukturen</strong> <strong>und</strong> <strong>Algorithmen</strong> 15/27<br />

Maximaler Fluss Ford-Fulkerson-Methode<br />

Ford-Fulkerson-Methode – Idee<br />

12/16<br />

s 4 10<br />

7<br />

t<br />

13<br />

12/12<br />

14<br />

1. Suche einen Pfad p von s nach t.<br />

9<br />

12/20<br />

2. Setze den Fluss der Kanten in p um die kleinste Kapazität in p.<br />

3. Suche einen Pfad p von s nach t, aus Kanten mit freier Kapazität.<br />

4. Ergänze den Fluss der Kanten in p um die kleinste Restkapazität in p.<br />

5. Wiederhole 3. <strong>und</strong> 4. bis es keinen Pfad p mehr gibt.<br />

Joost-Pieter Katoen <strong>Datenstrukturen</strong> <strong>und</strong> <strong>Algorithmen</strong> 14/27<br />

Maximaler Fluss Ford-Fulkerson-Methode<br />

Augmentierende Pfade<br />

16/16<br />

s<br />

13<br />

4<br />

A<br />

B<br />

12/12<br />

4/10<br />

4/9<br />

14<br />

7<br />

C<br />

D<br />

16/20<br />

t s<br />

4 13<br />

Flussnetzwerk G Restnetzwerk Gf<br />

◮ Ein s-t-Pfad p in Gf heißt augmentierender Pfad<br />

(vergrößernder Pfad).<br />

◮ cf (p) = min{ cf (u, v) | (u, v) ∈ p } heißt Restkapazität von p.<br />

Der Pfad im obigen Beispiel hat die Restkapazität 4.<br />

Joost-Pieter Katoen <strong>Datenstrukturen</strong> <strong>und</strong> <strong>Algorithmen</strong> 16/27<br />

16<br />

8<br />

A<br />

B<br />

6<br />

4<br />

12<br />

5<br />

4<br />

14<br />

7<br />

C<br />

D<br />

16<br />

4<br />

4<br />

t

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!