Hallo Wel für Forgechriene Flüe, Schnie, Biparie Graphen I Florian Hanke Informaik Programmieryeme Marenraße 3 958 Erlangen
Inhal Grundlagen Ford-Fulkeron-Algorihmu Edmond-Karp-Sraegie Minimaler Schni Min-Co-Maxflow Redukion Kanen/Knoen-Konnekiviä Zuammenfaung Hallo Wel! für Forgechrien Flüe, Schnie, Biparie Graphen Florian Hanke Folie
Inhal Grundlagen Ford-Fulkeron-Algorihmu Edmond-Karp-Sraegie Minimaler Schni Min-Co-Maxflow Redukion Kanen/Knoen-Konnekiviä Zuammenfaung Hallo Wel! für Forgechrien Flüe, Schnie, Biparie Graphen Florian Hanke Folie 3
Grundlagen - Wa i ein Flunezwerk? Wa i ein Nezwerk N = G,,, c? Graph Geriche, poiiv, gewiche Quelle G = (V, E) V Senke V Kapaziäfunkion + c: E R c u, v E c u, v c u, v E c u, v = Hallo Wel! für Forgechrien Flüe, Schnie, Biparie Graphen Florian Hanke Folie 4
Grundlagen - Wa i ein Flunezwerk? Wa i ein Flu? Funkion f: E R + u, v ε E: f u, v c u, v u ε V: Summe f eingehend = Summe f augehend Maximaler Flu Maximale Anzahl an Einheien, die von nach fließ Maximaler Flu i nich eindeuig Hallo Wel! für Forgechrien Flüe, Schnie, Biparie Graphen Florian Hanke Folie 5
Grundlagen Anwendung eine Flunezwerke Fluchwege Hallo Wel! für Forgechrien Flüe, Schnie, Biparie Graphen Florian Hanke Folie 6
Grundlagen Anwendung eine Flunezwerke Fluchwege Hallo Wel! für Forgechrien Flüe, Schnie, Biparie Graphen Florian Hanke Folie 7
Grundlagen Anwendung eine Flunezwerke Fluchwege /4 8/ /3 Kapaziä 3 Flu /5 6/8 3/4 3/5 5/5 / 5/5 Hallo Wel! für Forgechrien Flüe, Schnie, Biparie Graphen Florian Hanke Folie 8
Grundlagen Anwendung eine Flunezwerke Fluchwege Verkehrplanung: Wie viele Leue kommen maximal von A nach B? Ölranpor: Wie viele Lier Öl kann man von A nach B pumpen? Alle Probleme, bei denen ewa von A nach B (auch mehrere A /B ) ranporier werden oll Hallo Wel! für Forgechrien Flüe, Schnie, Biparie Graphen Florian Hanke Folie 9
Grundlagen - Reidualnezwerk Da Reidualnezwerk eine Flunezwerke enhäl mögliche Fluveränderungen Vorwärkane: Wa kann noch geänder werden? Rückwärkane: Wa fließ akuell 8/ /3 Konrukion: Gewich der Vorwärkane = c-f Gewich der Rückwärkane = f /4 6/8 3/5 / /5 3/4 5/5 5/5 Hallo Wel! für Forgechrien Flüe, Schnie, Biparie Graphen Florian Hanke Folie
Grundlagen - Reidualnezwerk Da Reidualnezwerk eine Flunezwerke enhäl mögliche Fluveränderungen Vorwärkane: Wa kann noch geänder werden? Rückwärkane: Wa fließ akuell Konrukion: Gewich der Vorwärkane = c-f Gewich der Rückwärkane = f 3 Hallo Wel! für Forgechrien Flüe, Schnie, Biparie Graphen Florian Hanke Folie
Grundlagen - Reidualnezwerk Da Reidualnezwerk eine Flunezwerke enhäl mögliche Fluveränderungen Vorwärkane: Wa kann noch geänder werden? Rückwärkane: Wa fließ akuell Konrukion: Gewich der Vorwärkane = c-f Gewich der Rückwärkane = f Erweiernder Pfad: Ein Pfad im Reidualnezwerk von nach 8 3 6 3 5 3 5 Hallo Wel! für Forgechrien Flüe, Schnie, Biparie Graphen Florian Hanke Folie
Grundlagen -Schni Wa i ein Schni? Die Knoen in zwei Teilmengen S und T aufeilen S, T Kapaziä eine Schnie: u S v T c(u, v) Summe der Kapaziä aller Kanen, die von S nach T gehen Überquerender Flu: u S v T f u, v u T v S f(u, v) Summe der Flüe nach T minu Summe der Flüe nach S Minimaler Schni: Schni mi minimaler Kapaziä (päer mehr) Hallo Wel! für Forgechrien Flüe, Schnie, Biparie Graphen Florian Hanke Folie 3
Inhal Grundlagen Ford-Fulkeron-Algorihmu Edmond-Karp-Sraegie Minimaler Schni Min-Co-Maxflow Redukion Kanen/Knoen-Konnekiviä Zuammenfaung Hallo Wel! für Forgechrien Flüe, Schnie, Biparie Graphen Florian Hanke Folie 4
Ford-Fulkeron-Algorihmu Mehode zur Beimmung eine maximalen Flue Iniialiiere alle Fluwere auf Seze maxflow = while( erweiernder Pfad von nach ) beimme c min de Pfade maxflow += c min für jede Kane de Pfade Wer der Vorwärkane -= c min Wer der Rückwärkane += c min Hallo Wel! für Forgechrien Flüe, Schnie, Biparie Graphen Florian Hanke Folie 5
Ford-Fulkeron-Algorihmu Beipiel Alle Fluwere auf ezen Reidualnezwerk bilden /3 c / a / 3 / d / 3 / b / 4 / 3 Hallo Wel! für Forgechrien Flüe, Schnie, Biparie Graphen Florian Hanke Folie 6
Ford-Fulkeron-Algorihmu Beipiel Alle Fluwere auf ezen Reidualnezwerk bilden Erweiernden Pfad uchen 3 3 4 3 3 Hallo Wel! für Forgechrien Flüe, Schnie, Biparie Graphen Florian Hanke Folie 7
Ford-Fulkeron-Algorihmu Beipiel Alle Fluwere auf ezen Reidualnezwerk bilden Erweiernden Pfad uchen maxflow += c min (+) 3 3 4 3 3 Hallo Wel! für Forgechrien Flüe, Schnie, Biparie Graphen Florian Hanke Folie 8
Ford-Fulkeron-Algorihmu Beipiel für jede Kane de Pfade Wer der Vorwärkane = c min Wer der Rückwärkane += c min Erweiernden Pfad uchen maxflow += c min (+) 3 4 3 3 Hallo Wel! für Forgechrien Flüe, Schnie, Biparie Graphen Florian Hanke Folie 9
Ford-Fulkeron-Algorihmu Beipiel für jede Kane de Pfade Wer der Vorwärkane = c min Wer der Rückwärkane += c min Erweiernden Pfad uchen maxflow += c min (++3) 3 4 3 3 Hallo Wel! für Forgechrien Flüe, Schnie, Biparie Graphen Florian Hanke Folie
Ford-Fulkeron-Algorihmu Beipiel für jede Kane de Pfade Wer der Vorwärkane = c min Wer der Rückwärkane += c min Erweiernden Pfad uchen maxflow += c min (++3) 3 3 3 3 Hallo Wel! für Forgechrien Flüe, Schnie, Biparie Graphen Florian Hanke Folie
Ford-Fulkeron-Algorihmu Beipiel für jede Kane de Pfade Wer der Vorwärkane = c min Wer der Rückwärkane += c min Erweiernden Pfad uchen maxflow += c min (++3+) 3 3 3 3 Hallo Wel! für Forgechrien Flüe, Schnie, Biparie Graphen Florian Hanke Folie
Ford-Fulkeron-Algorihmu Beipiel für jede Kane de Pfade Wer der Vorwärkane = c min Wer der Rückwärkane += c min Erweiernden Pfad uchen maxflow += c min (++3+) 4 3 Hallo Wel! für Forgechrien Flüe, Schnie, Biparie Graphen Florian Hanke Folie 3
Ford-Fulkeron-Algorihmu Beipiel für jede Kane de Pfade Wer der Vorwärkane = c min Wer der Rückwärkane += c min Erweiernden Pfad uchen maxflow += c min (++3+) 4 3 Hallo Wel! für Forgechrien Flüe, Schnie, Biparie Graphen Florian Hanke Folie 4
Ford-Fulkeron-Algorihmu Beipiel Zurückführen zum normalen Graphen Wer de maximalen Flue: ++3+ = 6 /3 / /3 / / /3 4/4 3/3 Hallo Wel! für Forgechrien Flüe, Schnie, Biparie Graphen Florian Hanke Folie 5
Ford-Fulkeron-Algorihmu Laufzei? while( erweiernder Pfad von nach )? Wann erminier der Algorihmu? Laufzei abhängig davon, welchen erweiernden Pfad wir wählen Hallo Wel! für Forgechrien Flüe, Schnie, Biparie Graphen Florian Hanke Folie 6
Ford-Fulkeron-Algorihmu Laufzei? Wir durchlaufen den Graphen mi Tiefenuche a b a b Hallo Wel! für Forgechrien Flüe, Schnie, Biparie Graphen Florian Hanke Folie 7
Ford-Fulkeron-Algorihmu Laufzei? Wir durchlaufen den Graphen mi Tiefenuche a 99 a 99 99 99 99 99 b b Hallo Wel! für Forgechrien Flüe, Schnie, Biparie Graphen Florian Hanke Folie 8
Ford-Fulkeron-Algorihmu Laufzei? Wir durchlaufen den Graphen mi Tiefenuche a 98 99 a 98 98 99 98 98 98 b b Mi Tiefenuche komm e im Wor-Cae zu O f max E Hallo Wel! für Forgechrien Flüe, Schnie, Biparie Graphen Florian Hanke Folie 9
Inhal Grundlagen Ford-Fulkeron-Algorihmu Edmond-Karp-Sraegie Minimaler Schni Min-Co-Maxflow Redukion Kanen/Knoen-Konnekiviä Zuammenfaung Hallo Wel! für Forgechrien Flüe, Schnie, Biparie Graphen Florian Hanke Folie 3
Edmond-Karp-Sraegie Der kürzee Pfad wird durch Breienuche ermiel a b a b Hallo Wel! für Forgechrien Flüe, Schnie, Biparie Graphen Florian Hanke Folie 3
Edmond-Karp-Sraegie Der kürzee Pfad wird durch Breienuche ermiel a a b b Laufzei im Wor-Cae O V E Hallo Wel! für Forgechrien Flüe, Schnie, Biparie Graphen Florian Hanke Folie 3
Inhal Grundlagen Ford-Fulkeron-Algorihmu Edmond-Karp-Sraegie Minimaler Schni Min-Co-Maxflow Redukion Kanen/Knoen-Konnekiviä Zuammenfaung Hallo Wel! für Forgechrien Flüe, Schnie, Biparie Graphen Florian Hanke Folie 33
Minimaler Schni Schni mi minimaler Kapaziä Max-Flow-Min-Cu-Theorem: Ein maximaler Flu im Nezwerk ha genau den Wer eine minimalen Schni. Löung: Maximalen Flu finden Im lezen Reidualnezwerk und alle direk von erreichbareren Knoen S alle anderen T S a T Kapaziä de Schnie: 6 Überquerender Flu: 6 4 b Hallo Wel! für Forgechrien Flüe, Schnie, Biparie Graphen Florian Hanke Folie 34
Inhal Grundlagen Ford-Fulkeron-Algorihmu Edmond-Karp-Sraegie Minimaler Schni Min-Co-Maxflow Redukion Kanen/Knoen-Konnekiviä Zuammenfaung Hallo Wel! für Forgechrien Flüe, Schnie, Biparie Graphen Florian Hanke Folie 35
Min-Co-Maxflow Gegeben: Flunezwerk zuäzlich mi Kanenkoen a Funkion a: E R + Koen einen Flue von u nach v f u, v a(u, v) Geame Koen de Flunezwerke (u,v) E f(u, v) a(u, v) Ziel: Minimale Koen bei maximalem Flu Hallo Wel! für Forgechrien Flüe, Schnie, Biparie Graphen Florian Hanke Folie 36
Min-Co-Maxflow Löung: Maximalen Flu mi Ford-Fulkeron uchen Al erweiernden Pfad den billigen Pfad wählen Billigen Pfad finden mi Bellman-Ford, da negaive Koen und Zyklen exiieren können Hallo Wel! für Forgechrien Flüe, Schnie, Biparie Graphen Florian Hanke Folie 37
Min-Co-Maxflow Hallo Wel! für Forgechrien Flüe, Schnie, Biparie Graphen Florian Hanke Folie 38
Min-Co-Maxflow Hallo Wel! für Forgechrien Flüe, Schnie, Biparie Graphen Florian Hanke Folie 39
Min-Co-Maxflow Koen: 5 3 = 5 Kap.: 5 Koen: 3 Kap.: 3 Koen: 3 Kap.: Koen: 3 Kap.: 4 Koen: 4 Kap.: Koen: Hallo Wel! für Forgechrien Flüe, Schnie, Biparie Graphen Florian Hanke Folie 4
Min-Co-Maxflow Kapaziä Koen / 3 4 /4 /3 /5 3 / 3 /3 4 5 3 5 4 3 3 5 3 3 3 Hallo Wel! für Forgechrien Flüe, Schnie, Biparie Graphen Florian Hanke Folie 4
Min-Co-Maxflow 4 4 3 Kapaziä Koen / 3 4 4/4 /3 4/5 3 / 3 /3 Maximaler Flu mi minimalen Koen: *3 + 4*3 + * + 4*4 + * + 3* = 5 Hallo Wel! für Forgechrien Flüe, Schnie, Biparie Graphen Florian Hanke Folie 4
Inhal Grundlagen Ford-Fulkeron-Algorihmu Edmond-Karp-Sraegie Minimaler Schni Min-Co-Maxflow Redukion Kanen/Knoen-Konnekiviä Zuammenfaung Hallo Wel! für Forgechrien Flüe, Schnie, Biparie Graphen Florian Hanke Folie 43
Redukion Wofür brauchen wir Redukion? Paende Problem gefunden, doch der Graph pa nich Knoenkapaziä 7 Löung: Den Knoen durch zwei nich begrenze Knoen erezen und mi einer gewicheen Kane verbinden 7 Hallo Wel! für Forgechrien Flüe, Schnie, Biparie Graphen Florian Hanke Folie 44
Redukion Wofür brauchen wir Redukion? Paende Problem gefunden, doch der Graph pa nich Ungerichee Kane Löung: Ungerichee Kane durch eine hinführende Kane und zwei, über eine neuen Knoen, rückführende Kanen mi gleicher Kapaziä erezen Hallo Wel! für Forgechrien Flüe, Schnie, Biparie Graphen Florian Hanke Folie 45
Redukion Wofür brauchen wir Redukion? Paende Problem gefunden, doch der Graph pa nich Mehrere Quellen/Senken 3 3 3 7 4 8 Hallo Wel! für Forgechrien Flüe, Schnie, Biparie Graphen Florian Hanke Folie 46
Redukion Wofür brauchen wir Redukion? Paende Problem gefunden, doch der Graph pa nich Löung: Superquelle/Superenke einführen 3 3 3 7 4 8 Hallo Wel! für Forgechrien Flüe, Schnie, Biparie Graphen Florian Hanke Folie 47
Inhal Grundlagen Ford-Fulkeron-Algorihmu Edmond-Karp-Sraegie Minimaler Schni Min-Co-Maxflow Redukion Kanen/Knoen-Konnekiviä Zuammenfaung Hallo Wel! für Forgechrien Flüe, Schnie, Biparie Graphen Florian Hanke Folie 48
Konnekiviä von Graphen Allgemein Ungericheer Graph - Ungericheer Graph mi zwei Knoen und Kanen Allgemeine Kanenkonnekiviä: Wie viele Kanen müen enfern werden, um den Graphen in zwei Teile zu eilen? (-) - Kanenkonnekiviä: Wie viele Kanen müen enfern werden, um zwei Knoen von zu rennen? Knoen Allgemeine Knoenkonnekiviä: Wie viele Knoen müen enfern werden, um den Graphen in zwei Teile zu eilen? (-) - Knoenkonnekiviä: Wie viele Knoen müen enfern werden, um zwei Knoen von zu rennen? Hallo Wel! für Forgechrien Flüe, Schnie, Biparie Graphen Florian Hanke Folie 49
(-) - Kanenkonnekiviä Den Graphen al Flu inerpreieren, mi einer Quelle und einer Senke Jeder Kane eine Kapaziä von zuweien Kapaziä de minimalen Schnie enprich der Anzahl der zu enfernenden Kanen Laufzei: O( E ²) Tafel Hallo Wel! für Forgechrien Flüe, Schnie, Biparie Graphen Florian Hanke Folie 5
(-) Kanenkonnekiviä Ecape Problem Kann jeder Sein den Rand erreichen, ohne einen anderen zu kreuzen? Verbinde jeden Randpunk mi einer Superquelle jeden Sein mi einer Superenke Löbar, wenn (-)-Knoenkonnekiviä = Anzahl der Seine Hallo Wel! für Forgechrien Flüe, Schnie, Biparie Graphen Florian Hanke Folie 5
Allgemeine Kanenkonnekiviä Einen beliebigen Knoen v wählen Für alle Knoen u v (v-u) Kanenkonnekiviä beimmen Der kleine gefundene Wer enprich der allgemeinen Kanenkonnekiviä Laufzei: O( V E ²) Hallo Wel! für Forgechrien Flüe, Schnie, Biparie Graphen Florian Hanke Folie 5
(-) - Knoenkonnekiviä Den Graphen al Flu inerpreieren, mi einer Quelle und einer Senke E darf keine Kane zwichen und geben Jedem Knoen zuäzlich eine Kapaziä von zuweien Kapaziä de minimalen Schnie enprich der Anzahl der zu enfernenden Knoen Laufzei: O( V E ) Hallo Wel! für Forgechrien Flüe, Schnie, Biparie Graphen Florian Hanke Folie 53
Allgemeine Knoenkonnekiviä Für alle Knoen u und v, die nich direk verbunden ind (u-v) - Kanenkonnekiviä beimmen Exiier kein Knoenpaar, da nich direk verbunden i, dann kann der Graph nich geeil werden Der kleine gefundene Wer enprich der allgemeinen Knoenkonnekiviä Laufzei: O( V ³ E ) Hallo Wel! für Forgechrien Flüe, Schnie, Biparie Graphen Florian Hanke Folie 54
Inhal Grundlagen Ford-Fulkeron-Algorihmu Edmond-Karp-Sraegie Minimaler Schni Min-Co-Maxflow Redukion Kanen/Knoen-Konnekiviä Zuammenfaung Hallo Wel! für Forgechrien Flüe, Schnie, Biparie Graphen Florian Hanke Folie 55
Zuammenfaung Flunezwerke Nezwerk + Flu Ford Fulkeron zum finden maximaler Flüe Wor Cae O( f max E ) Edmon-Karp-Sraegie nuz Breienuche Wor Cae O( V E ²) Minimaler Schni = Maximalen Flu Min-Co-Maxflow finden mi Kürzeer Pfad über Koen Redukion um den Graphen paend zu machen Kanen/Knoen-Konnekiviä Allgemein (-) Hallo Wel! für Forgechrien Flüe, Schnie, Biparie Graphen Florian Hanke Folie 56
Ende Vielen Dank für die Aufmerkamkei! Noch Fragen? Hallo Wel! für Forgechrien Flüe, Schnie, Biparie Graphen Florian Hanke Folie 57
Quellen Wikipedia hp://de.wikipedia.org/wiki/max-flow-min-cu-theorem (9.5) hp://de.wikipedia.org/wiki/fl%c3%bce_und_schnie_in_nezwerken (9.5) hp://de.wikipedia.org/wiki/algorihmu_von_ford_und_fulkeron (9.5) Vorräge der lezen Jahre hp://www.c.fau.de/eaching/ss/hallowel/fsb_.pdf (9.5) hp://www.c.fau.de/eaching/ss/hallowel/fsb_.pdf (9.5) Implemenierung hp://www.geekforgeek.org/ford-fulkeron-algorihm-for-maximum-flow-problem/ (9.5) Inroducion o Algorihm (Cormen, Thoma H.; Leieron, Charle E.; Rive, Ronald L.; Sein, Clifford) Bild hp://bichof-und-broel.de/akuelle/rockimpark/lide/_4_88.jpg (9.5) hp://www.euroinformaica.ro/documenaion/programming/!!!algorihm_cormen!!!/imag e/fig75.jpg (9.5) Hallo Wel! für Forgechrien Flüe, Schnie, Biparie Graphen Florian Hanke Folie 58