Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen

Ähnliche Präsentationen


Präsentation zum Thema: "Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen"—  Präsentation transkript:

1 Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen
WS 08/09 Friedhelm Meyer auf der Heide Vorlesung 8,

2 Am Dienstag, 11.11., fällt die Vorlesung aus.
Organisatorisches Am Dienstag, , fällt die Vorlesung aus. Wirtschaftinformatik-Studierende melden sich in der WINF an, und senden Ralf Petring per den gewünschten Prüfungszeitraum.

3 Flüsse in Netzwerken

4 Definition von (Transport)netzwerken

5 Definition von Flüssen; Beispiel
Ein Beispiel

6 Das Flussproblem Finde in einem Transportnetzwerk eine maximalen Fluss, d.h. einen Fluss mit maximalem Wert. Maximal? Nein, denn Flusswert 23 ist möglich! Flusswert 23 ist bestmöglich!

7 erhöhe f(e) für alle e 2 W um min{c(e)-f(e), e2W}
Erste Eigenschaften von Flüssen, ein naiver, nicht-optimaler Algorithmus. Naiver Algorithmus: (Eingabe: Netzwerk N) Starte mit Fluss f ´ 0. Solange ein gerichteter s-t-Weg W existiert mit f(e) < c(e) für alle e auf W: erhöhe f(e) für alle e 2 W um min{c(e)-f(e), e2W} Gebe f aus Bem: Nach jedem Schleifendurchlauf ist f ein Fluss in N. Ist f immer optimal? Nein! Beispiel: Starte mit Weg s - a - d - t

8 Vergrößernde Wege Restkapazität ist 4

9 Vergrößernde Wege Restkapazität ist 4

10 Der Basisalgorithmus von Ford/Fulkerson
Satz: Der Algorithmus von Ford/Fulkerson berechnet einen maximalen Fluss.

11 Analyse des Basisalgorithmus von Ford/Fulkerson
Ein Schnitt in N ist ein disjunkte Zerlegung von V in Mengen S und T mit s 2 S, t2 T. Die Kapazität des Schnittes ist Die Kapazität eines minimalem Schnittes ist Der Flusswert eines Schnittes ist Mit fmax bezeichnem wir den Wert eines maximalen Flusses.

12 Flüsse und Schnitte, Beispiele

13 Flüsse und Schnitte Lemma: In jedem Netzwerk N gilt: Der Wert eines jeden Flusses ist kleiner oder gleich der Kapazität eines jeden Schnittes. Insbesondere: fmax · cmin . Beweis:

14 Flüsse und Schnitte Lemma: In jedem Netzwerk N gilt: Der Wert eines jeden Flusses ist kleiner oder gleich der Kapazität eines jeden Schnittes. Insbesondere: fmax · cmin . Beweis: Also: val(f) =f(S,T) · c(S,T).

15 Schnitte und der Fluss von Ford/Fulkerson
Betrachte den von F.F. berechneten Fluss f in N. Sei S:= {v2 V, es gibt vergrößernden Weg für f von s nach v}. Beachte: t  S, da es keinen vergrößernden Weg nach t gibt. Sei T:= V\S. S = {s, u, v, y}, T = {x, t}

16 Schnitte und der Fluss von Ford/Fulkerson
Betrachte den von F.F. berechneten Fluss f in N. Sei S:= {v2 V, es gibt vergrößernden Weg für f von s nach v}. Beachte: t  S, da es keinen vergrößernden Weg nach t gibt. Sei T:= V\S. Es gilt: Somit folgt: Lemma: Sei f der von F.F. berechnete Fluss. Dann gibt es einen Schnitt (S,T) in N mit val(f) = C(S,T).

17 Korrektheit des Algorithmus von F.F., und das Max Flow-Min Cut Theorem
Lemma: In jedem Netzwerk N gilt: Der Wert eines jeden Flusses ist kleiner oder gleich der Kapazität eines jeden Schnittes. Insbesondere: fmax · cmin . Lemma: Sei f der von F.F. berechnete Fluss Dann gibt es einen Schnitt (S,T) in N mit val(f) = C(S,T). Satz: Der Algorithmus von Ford/Fulkerson berechnet einen maximalen Fluss. Satz: (Max Flow-Min Cut Theorem; Satz von Ford/Fulkerson) In jedem Netzwerk gilt fmax = cmin. Der Wert eines maximalen Flusses ist gleich der Kapazität eines minimalen Schnittes.

18 Thank you for your attention!
Friedhelm Meyer auf der Heide Heinz Nixdorf Institute & Computer Science Department University of Paderborn Fürstenallee 11 33102 Paderborn, Germany Tel.: (0) 52 51/ Fax: (0) 52 51/


Herunterladen ppt "Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen"

Ähnliche Präsentationen


Google-Anzeigen