Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS 06 8.6.

Ähnliche Präsentationen


Präsentation zum Thema: "Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS 06 8.6."—  Präsentation transkript:

1 Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS

2 Min-Cuts Im s-t Min Cut Problem ist ein Flussnetzwerk die Eingabe Gesucht wird ein s-t Cut, d.h. eine Partition des Knotenmenge V in Mengen L,R mit s 2 L und t 2 R Der Fluss über den Schnitt ist f(L,R) Die Kapazität des Schnittes ist C(L,R) Gesucht ist ein s-t Schnitt L,R mit minimaler Kapazität

3 Das Max-Flow Min-Cut Theorem Theorem Sei N=(G,C,s,t) ein Flussnetzwerk Sei f ein Fluss mit Wert W(f) Sei L,R ein minimaler s,t Schnitt mit Kapazität C(L,R) Folgendes ist äquivalent: f ist maximal N f enthält keinen augmentierenden Pfad W(f)=C(L,R)

4 Beweis Lemma Sei f ein Fluss und L,R ein s-t Schnitt Dann ist f(L,R)=W(f) Beweis: f(L-{s},V)=0 wegen Flusserhaltung f(L,R)=f(L,V)-f(L,L) [nach Beobachtung 14.1] =f(L,V) =f({s},V)+f(L-{s},V) =f({s},V) =W(f)

5 Beweis Lemma W(f) · C(L,R) für jeden Fluss f und jeden s,t Schnitt L,R Beweis W(f)=f(L,R) · C(L,R) Damit ist W(f) für den maximalen Fluss durch C(L,R) für den minimalen s,t-Schnitt beschränkt

6 Beweis des Theorems 1 nach 2: f sei maximal, aber N f habe noch einen augmentierenden Pfad p. Da aber f+f p ein grösserer Fluss ist: Widerspruch 2 nach 3: Angenommen, N f hat keinen augmentierenden Pfad W(f) · C(L,R) nach Lemma Konstruiere einen Schnitt L: Knoten, die in N f von s erreichbar sind R: restliche Knoten f(L,R)=W(f) Alle Kanten in G von L nach R erfüllen: f(u,v)=C(u,v), sonst wären sie Kanten in N f Damit gilt W(f)=f(L,R)=C(L,R) 3 nach 1: W(f) · C(L,R). Wenn also W(f)=C(L,R), so ist f maximal

7 Korrektheit von Ford- Fulkerson Damit ist der Ford-Fulkerson Algorithmus korrekt.

8 Zurück zur Laufzeit Wir nehmen an, augmentierende Pfade werden per Breitensuche bestimmt Dann gilt Die Anzahl der Iterationen ist durch O(mn) beschränkt Somit kann Ford-Fulkerson maximale Flüsse in Zeit O(m 2 n) bestimmen.

9 Anzahl der Iterationen Lemma: Sei N ein Flussnetzwerk Für alle Knoten v ausser s,t gilt: Die Distanz (Anzahl Kanten auf Weg) von s nach v steigt monoton (beim Übergang auf residuale Netzwerke im FF Algo) Beweis: Angenommen die Distanz s nach v; (s,v) sinkt in einer Iteration f sei Fluss vor der Iteration, f danach (s,v) sei Distanz in N f ; (s,v) in N f ; v habe min. (s,v) unter allen v, wo (s,v)< (s,v) (*) p: s nach u nach v sei ein kürzester Pfad in N f (s,u)= (s,v)-1 (s,u) · (s,u) wg.(*) Dann ist (u,v) keine Kante in N f,denn Angenommen (u,v) 2 N f, dann (s,v) · (s,u)+1 · (s,u)+1 = (s,v); Widerspruch

10 Anzahl der Iterationen Also (u,v) in N f, aber nicht in N f D.h. Fluss von v nach u wurde erhöht Ein augmentierender Pfad in N f mit Kante (v,u) D.h. ein kürzester Weg von s nach u mit der Kante (v,u) am Ende existiert Somit: (s,v) = (s,u)-1 · (s,u)-1 = (s,v)-2 Wir haben aber (s,v)< (s,v) angenommen.

11 Anzahl der Iterationen Theorem: Es gibt O(mn) Iterationen Beweis: In N f sei eine Kante kritisch, wenn die Restkapazität des augmentierenden Pfades p die Kapazität von (u,v) in N f ist Kritische Kanten werden entfernt, d.h. liegen nicht in N f ' Ein augmentierender Pfad hat mind. eine krit. Kante Behauptung: Jede Kante kann nur n/2-1 mal kritisch sein Daher gibt es insgesamt nur nm mal das Ereignis: eine Kante ist kritisch, und nur so viele Iterationen, denn in allen N f werden insgesamt nur 2m verschiedene Kanten verwendet

12 Beweis der Behauptung u,v seien Knoten mit einer Kante in E wenn (u,v) kritisch ist in N f zum ersten mal: (s,v)= (s,u)+1 Nach der Augmentation verschwindet (u,v) (u,v) kann nur dann wieder auftauchen, wenn später der Fluss von u nach v verringert wird Dann ist (v,u) euf einem augmentierenden Pfad; f sei der Fluss zu diesem Zeitpunkt (s,u)= (s,v)+1 (s,v) · (s,v) Somit: (s,u)= (s,v)+1 ¸ (s,v)+1 = (s,u)+2 Also ist die Distanz s nach um 2 gestiegen, bevor (u,v) wieder kritisch werden kann Die Distanz ist ein Wert zwischen 0 und n-1 Somit kann dies nur n/2-1 mal passieren.

13 Zusammenfassung Die Edmonds-Karp Version von Ford- Fulkerson berechnet maximale Flüsse in Zeit O(m 2 n)

14 Eine Anwendung Gegeben sei ein bipartiter ungerichteter Graph G Ein Matching ist eine Kantenmenge in G, bei der keine zwei Kanten einen Knoten gemeinsam haben Gesucht ist ein maximales Matching

15 Berechnung von Matchings Wir wollen den Flussalgorithmus auf Matchings anwenden

16 Berechnung von Matchings Neue Knoten s,t Knotenmengen U,V des bipartiten Graphen Kanten: (s,u) für alle u aus U (v,t) für alle v aus V (u,v) wie in G Kapazitäten seien alle 1

17 Berechnung von Matchings Problem: Flüsse können nichtintegral sein Wir nennen einen Fluss ganzzahlig, wenn alle f(u,v) ganze Zahlen sind Behauptung: Wenn M ein Matching in G ist, dann gibt es einen ganzzahligen Fluss f im Flussnetzwerk mit W(f)=|M| Umgekehrt, zu einem ganzzahligen Fluss f gibt es ein Matching mit W(f)=|M|

18 Beweis 1) Matching entspricht Fluss Definiere Fluss wie folgt: f(u,v)=1 wenn (u,v) im Matching, dann auch f(v,u)=-1, f(s,u)=1, f(v,t)=1 etc. alle anderen Kanten f(u,v)=0 etc. Dies ist ein korrekter Fluss Grösse ist |M| offensichtlich

19 Beweis 2) Fluss entspricht Matching Sei f ein ganzzahliger Fluss Setze M={(u,v) mit f(u,v)> 0} C(s,u)=1, also f(s,u) 2 {0,1} f(u,v) 2 {0,1} somit Für u gibt es höchstens ein v mit f(u,v)=1 M ist also ein Matching Offensichtlich ist |M|=W(f)

20 Integralitätstheorem Theorem Wenn C(u,v) immer ganzzahlig ist, und ein maximaler Fluss mit Ford Fulkerson berechnet wird, so ist W(f) ganzzahlig und f(u,v) ist immer ganzzahlig Korollar: Maximale Bipartite Matchings können in Zeit O(m 2 n) berechnet werden Tatsächlich läuft der Algorithmus in Zeit O(mn): Ford Fulkerson läuft in Zeit O(W(f) m) für den maximalen Fluss f, und W(f) · n Beweis: Induktion über die Iterationen Erste Iteration: es gibt einen augmentierenden Pfad mit ganzzahliger Kapazität (C p (f) ganzzahlig) Dann ist N f wieder ein Netz mit ganzzahligen Kapazitäten.


Herunterladen ppt "Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS 06 8.6."

Ähnliche Präsentationen


Google-Anzeigen