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

Ähnliche Dokumente
Algorithmen und Datenstrukturen 2

Maximaler Fluß und minimaler Schnitt. Von Sebastian Thurm

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie

Graphen: Datenstrukturen und Algorithmen

Kürzeste Wege in Graphen. Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik

Statistische Untersuchungen zu endlichen Funktionsgraphen

Algorithmen & Datenstrukturen 1. Klausur

WS 2013/14. Diskrete Strukturen

1 topologisches Sortieren

Kapitel 6: Graphalgorithmen Gliederung

Algorithmentheorie Maximale Flüsse

Kapitel 5: Dynamisches Programmieren Gliederung

Praktikum Planare Graphen

5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c)

Datenstrukturen & Algorithmen

4 Greedy-Algorithmen (gierige Algorithmen)

Datenstrukturen und Algorithmen SS07

Algorithmen II Vorlesung am

Anmerkungen zur Übergangsprüfung

Gliederung. Definition Wichtige Aussagen und Sätze Algorithmen zum Finden von Starken Zusammenhangskomponenten

Algorithmen und Datenstrukturen

8 Diskrete Optimierung

3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel

Algorithmen und Datenstrukturen 2

Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete

Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen

Primzahlzertifikat von Pratt

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)

Approximationsalgorithmen: Klassiker I. Kombinatorische Optimierung Absolute Gütegarantie Graph-Coloring Clique Relative Gütegarantie Scheduling

Informatik 11 Kapitel 2 - Rekursive Datenstrukturen

Graphen: Einführung. Vorlesung Mathematische Strukturen. Sommersemester 2011

Suche in Spielbäumen Spielbäume Minimax Algorithmus Alpha-Beta Suche. Suche in Spielbäumen. KI SS2011: Suche in Spielbäumen 1/20

NP-Vollständigkeit. Krautgartner Martin ( ) Markgraf Waldomir ( ) Rattensberger Martin ( ) Rieder Caroline ( )

Verfahren zur Berechnung von Routen zur Gewährleistung von Ende-zu-Ende QoS

Abstrakt zum Vortrag im Oberseminar. Graphdatenbanken. Gero Kraus HTWK Leipzig 14. Juli 2015

Das Briefträgerproblem

WS 2009/10. Diskrete Strukturen

Lineare Programmierung

Konzepte der Informatik

Vorlesung Informatik 2 Algorithmen und Datenstrukturen. (20 Graphen) T. Lauer

Wissensbasierte Systeme

Eine molekulare Lösung des Hamiltonkreisproblems mit DNA

Branch-and-Bound. Wir betrachten allgemein Probleme, deren Suchraum durch Bäume dargestellt werden kann. Innerhalb des Suchraums suchen wir

Kapitel 6. Komplexität von Algorithmen. Xiaoyi Jiang Informatik I Grundlagen der Programmierung

Codierungstheorie Rudolf Scharlau, SoSe

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

Die Komplexitätsklassen P und NP

Die k kürzesten Wege in gerichteten Graphen

Die Verbindung von Linearer Programmierung und Graphentheorie

Seminarvortag zum Thema Virtual Private Network Design im Rahmen des Seminars Network Design an der Universität Paderborn

Alles zu seiner Zeit Projektplanung heute

Breiten- und Tiefensuche in Graphen

ABITURPRÜFUNG 2009 LEISTUNGSFACH INFORMATIK

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder

Wasserfall-Ansätze zur Bildsegmentierung

15 Optimales Kodieren

Grundwissen Informatik Q11/12 Fragenkatalog

Teil III: Routing - Inhalt I. Literatur. Geometric Routing. Voraussetzungen. Unit Disk Graph (UDG) Geometric Routing 29

Information Systems Engineering Seminar

Kapiteltests zum Leitprogramm Binäre Suchbäume

Vortrag. Suchverfahren der Künstlichen Intelligenz. Sven Schmidt (Technische Informatik)

Lange Nacht der Wissenschaft. Ein Klassiker. Die Mathematik der Kürzesten Wege

Guten Morgen und Willkommen zur Saalübung!

Schwierige Probleme in der Informatik Informationen für die Lehrperson

AutoSPARQL. Let Users Query Your Knowledge Base

Bäume und Wälder. Bäume und Wälder 1 / 37

Programmierung 2. Dynamische Programmierung. Sebastian Hack. Klaas Boesche. Sommersemester

Algorithmen und Datenstrukturen Balancierte Suchbäume

Informatik-Sommercamp Mastermind mit dem Android SDK

Seminar künstliche Intelligenz

Kapitel 4: Analyse von Petrinetzen

16. All Pairs Shortest Path (ASPS)

FORD ST _ST_Range_V2_ MY.indd FC1-FC3 27/06/ :24:01

Institut für Programmierung und Reaktive Systeme 25. August Programmier-Labor Übungsblatt. int binarysearch(int[] a, int x),

Kapitel 2: Formale Sprachen Kontextfreie Sprachen. reguläre Grammatiken/Sprachen. kontextfreie Grammatiken/Sprachen

1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert

Wissensbasierte Systeme

Programmiertechnik II

Algorithmische Methoden der Netzwerkanalyse

JÖRG RAMBAU. Neulich an der TU Berlin...

Einführung in die Informatik

w a is die Anzahl der Vorkommen von a in w Beispiel: abba a = 2

Algorithmen und Datenstrukturen Suchbaum

Vergleich von Methoden zur Rekonstruktion von genregulatorischen Netzwerken (GRN)

Approximationsalgorithmen

Projekt AGB-10 Fremdprojektanalyse

S=[n] Menge von Veranstaltungen J S kompatibel mit maximaler Größe J

Basis und Dimension. Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren.

3.2 Binäre Suche. Usr/local/www/ifi/fk/menschen/schmid/folien/infovk.ppt 1

8. Uninformierte Suche

Algorithmik - Kompaktkurs

Smart Graphics: Methoden 2 Suche

Vorlesung 3 MINIMALE SPANNBÄUME

Modellierung biologischer. Christian Maidorfer Thomas Zwifl (Seminar aus Informatik)

Vorlesungsplan. Von Naïve Bayes zu Bayesischen Netzwerk- Klassifikatoren. Naïve Bayes. Bayesische Netzwerke

x 2 x 1 x Lernen mit Entscheidungsbäumen

Formale Systeme. Binary Decision Diagrams. Prof. Dr. Bernhard Beckert WS 2010/2011 KIT INSTITUT FÜR THEORETISCHE INFORMATIK

Datenstrukturen. Mariano Zelke. Sommersemester 2012

Transkript:

Gliederung der Vorlesung. Fallstudie Bipartite Graphen. Grundbegriffe 3. Elementare Graphalgorithmen und Anwendungen 4. Minimal spannende Bäume 5. Kürzeste Pfade 6. Traveling Salesman Problem 7. Flüsse in Netzwerken und Anwendungen 8. Netzplantechnik 7/3, Folie 0 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

Gliederung des Kapitels a) Einordnung / Motivation b) Begriffe / Grundlagen c) Anwendungen d) e) Kantenbasierte Algorithmen 7/3, Folie 0 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

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 0 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

Algorithmische Fragestellung gegeben: 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 gesucht: der maximale Wert eines Flusses in G von s nach t 7/3, Folie 4 0 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

generischer Ansatz ) setze f([u,v]) = 0 für alle Kanten [u,v] in G ) bestimme das zu f(.) gehörende Restflussnetzwerk G f mit der Kapazitätsfunktion c (.) 3) überprüfe, ob es in G f einen Erweiterungspfad P gibt falls nein, stoppe falls ja, wähle das zuerst gefundene P und gehe zu 3) 4) bestimme c P, bestimme den aktualisierten Fluss f (.) und gehe zu )... diesen Ansatz nennt man Ford-Fulkerson-Methode... wir wissen schon, dass diese Methode das leistet, was sie soll 7/3, Folie 5 0 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

Beispiel 3 (0,) (0,3) s 3 t s (0,3) (0,) (0,) t s 3 3 t 7/3, Folie 6 0 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

Beispiel s 3 3 t... Erweiterungspfad: P = (s,,,t) mit c P = (0,) (0,3) s (0,3) (0,) (0,) t (,) (0,3) s (0,3) (,) (,) t 7/3, Folie 7 0 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

Beispiel (,) (0,3) s (0,3) (,) t (,) s 3 t 3 7/3, Folie 8 0 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

Beispiel s 3 3 t s... Erweiterungspfad: P = (s,,,t) mit c P = (,) (0,3) (,) (0,3) (,) t (,) (,3) s (,3) (0,) (,) t 7/3, Folie 9 0 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

Beispiel (,) (,3) s (,3) (0,) t (,) s t... offenbar gibt es keinen Erweiterungspfad mehr... also hat der maximale Fluss den Wert 4 7/3, Folie 0 0 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

Anmerkungen (/* Laufzeit */) es sei G ein Flussnetzwerk mit n Knoten und m Kanten ), ) und 4) kann man offenbar in Zeit O(n+m) realisieren da das jeweils betrachtete Restflussnetzwerk n Knoten und maximal m 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 0 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

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 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 0 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

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 = 0, m = 90 und z = 0 50, liefert unsere Abschätzung, dass die Ford-Fulkerson-Methode 0 5 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 3 0 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

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 00 00 5 3 4... offenbar hat der maximale Fluss f*(.) den Wert 00 7/3, Folie 4 0 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

Beispiel 6 6 00 99 00 3 5 4 P = (,,3,4,5,,6) 99 3 5 4 P = (,,5,4,3,,6) 6 6 97 3 98 97 3 5 P = (,,3,4,5,,6) 98 5 3 4 3 4 7/3, Folie 5 0 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

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 6 0 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

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 7 0 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

Algorithmus von Edmonds und Karp ) setze f([u,v]) = 0 für alle Kanten [u,v] in G ) bestimme das zu f(.) gehörende Restflussnetzwerk G f mit der Kapazitätsfunktion c (.) 3) überprüfe mit Hilfe der Breitensuche, ob es in G f einen Erweiterungspfad P gibt falls nein, stoppe falls ja, wähle das zu erst gefundene P und gehe zu 3) 4) bestimme c P, bestimme den aktualisierten Fluss f (.) und gehe zu )... offenbar leistet dieser Algorithmus auch das, was er soll 7/3, Folie 8 0 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

Beispiel 6 6 00 00 5 (00,00) (00,00) (0,) 5 3 4 P = (,,6) (0,) 3 (0,) (0,) 4... für dieses kritische Beispiel benötigt der Algorithmus von Edmonds und Karp genau eine Iteration 7/3, Folie 9 0 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

Eigenschaften des Algorithmus von Edmonds und Karp es sei G f 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 0 0 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

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 es seien f(.) zulässiger Fluss in G und G f das zugehörige Restflussnetzwerk es sei v ein Knoten aus V \ { s,t } dann bezeichnet d f (v) die Entfernung zwischen der Quelle s und dem Knoten v in G f, d.h. die Anzahl der Kanten auf einem kürzesten Pfad von s nach t in G f (/* falls es keinen Pfad von s nach v gibt, so ist d f (v) = + */) 7/3, Folie 0 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

Beobachtung es sei G ein Flussnetzwerk mit n Knoten und m Kanten es seien G f,..., G fz die Restflussnetzwerke, die der Algorithmus von Edmonds und Karp sukzessive erzeugt es sei v ein Knoten V \ { s,t } Dann gilt: d f (v) d f (v)... d fz (v)... die Entfernungen eines Knotens v von der Quelle s werden nicht kleiner 7/3, Folie 0 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

Begründung es seien G f und G f nacheinander erzeugte Restflussnetzwerke Annahme: es sei v ein Knoten, für den d f (v) > d f (v) gilt wir wählen v so, dass auf dem kürzesten Pfad P* von s nach v in G f für alle Zwischenknoten u gilt: d f (u ) d f (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 G f wenigstens einen Zwischenknoten u gibt falls nicht, so muss es in G f die Kante [s,v] geben [s,v] darf dann nicht in G f vorkommen dann müsste aber die Kante [v,s] in einem kürzesten Erweiterungspfad in G f von s nach t benutzt worden sein (/* das geht nicht, da dann s zweimal besucht würde */) 7/3, Folie 3 0 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

Begründung... in G f... in G f s u v s u es gilt d f (u) d f (u) < + und d f (v) = d f (u) + wegen d f (v) < d f (v), darf die Kante [u,v] in G f nicht vorkommen (/* sonst gilt sofort d f (v) = d f (u) + d f (u) + = d f (v) */) also muss die Kante [v,u] in G f auf dem zu erst gefundenen, kürzesten Erweiterungspfad P von s nach t liegen 7/3, Folie 4 0 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

Begründung... in G f... in G f s u v s u v t da [v,u] in G f 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 G f kann nicht mehr Kanten enthalten als der Pfad P in G f 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: d f (v) = d f (u) - 7/3, Folie 5 0 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

Begründung... in G f... in G f s u v s u v wir wissen, dass gilt: d f (v) = d f (u) - wir wissen, dass gilt: d f (v) = d f (u) + t wenn d f (v) < d f (v) gilt, müsste auch d f (u) + < d f (u) - gelten also müsste auch d f (u) < d f (u) - gelten... wir haben jedoch vorausgesetzt, dass d f (u) d f (u) gilt, und haben damit einen Widerspruch abgeleitet 7/3, Folie 6 0 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

Beobachtung 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 7 0 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

Hilfsbegriff zur Begründung es sei G f ein Restflussnetzwerk mit der Kapazitätsfunktion es sei [u,v] eine Kante in G f die Kante [u,v] heißt kritisch für G f, falls gilt: der zu erst gefundene kürzeste Erweiterungspfad P in G f, 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 8 0 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

Einige hilfreiche Beobachtungen es sei G ein Flussnetzwerk mit n Knoten und m Kanten es seien G f,..., G fz die Restflussnetzwerke, die der Algorithmus von Edmonds und Karp sukzessive erzeugt Dann gilt: Wenn die Kante [u,v] in einem Restflusswerk G fi kritisch ist, so kommt die Kante [u,v] oder die Kante [v,u] in G vor. Wenn die Kante [u,v] in einem Restflusswerk G fi kritisch ist, so kommt die Kante [u,v] im Restflusswerk G fi+ nicht vor. In jedem Restflusswerk G fi mit i < z kommt wenigstens eine kritische Kante [u,v] vor. 7/3, Folie 9 0 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

Qualitative Idee es sei G ein Flussnetzwerk mit n Knoten und m Kanten es seien G f,..., G fz 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 m 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 0 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

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 falls eine Kante vom Typ [s,u] oder [u,t] in im Restflussnetzwerk G fi kritisch ist, so enthält das Restflussnetzwerk G fi+ 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 G fi+ 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 */) 7/3, Folie 3 0 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

Begründung (/* der schwierigere Fall */) es sei die betrachtete Kante eine vom Typ [u,v] mit u s und v t es sei G fi das Restflussnetzwerk, in dem die Kante [u,v] eine kritische Kante ist... in G fi... in G fi+ s u v s s u v s offenbar gilt d fi (v) = d fi (u) + 7/3, Folie 3 0 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

Begründung (/* der schwierigere Fall */) damit die Kante [u,v] in einem Restflussnetzwerk G fj mit j > i+ wieder eine kritische Kante werden kann, muß es ein k mit i+ k < j geben, so dass die umgedrehte Kante [v,u] eine kritische Kante im Restflussnetzwerk G fk ist... in G fk... in G fk+ s u v s s u v s offenbar gilt d fk (u) = d fk (v) + 7/3, Folie 33 0 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

Begründung (/* der schwierigere Fall */) wir wissen, dass d fi (v) = d fi (u) + gilt wir wissen, dass d fk (u) = d fk (v) + gilt wir wissen auch, dass i < k gilt, und damit gilt auch d fi (v) d fk (v)... also gilt d fk (u) = d fk (v) + d fi (u) + + = d fi (v) +... folglich hat sich die Entfernung des Knotens u von der Quelle s im Restflussnetwerk G fk im Vergleich zur Entfernung des Knotens u von der Quelle s im Restflussnetzwerk G fj echt vergrößert 7/3, Folie 34 0 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

Konsequenzen es sei G ein Flussnetzwerk mit n Knoten und m Kanten es seien G f,..., G fz 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 d f (u) n in jedem noch zu untersuchenden Restflussnetzwerke G f... folglich kann die Kante [u,v] in in keinem der zu untersuchenden Restflussnetzwerke G f 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 0 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

Zusammenfassung 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 7/3, Folie 36 0 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung