Flüsse, Schnitte, Bipartite Graphen

Größe: px
Ab Seite anzeigen:

Download "Flüsse, Schnitte, Bipartite Graphen"

Transkript

1 Flüsse, Schnitte, Bipartite Graphen Sebastian Hahn 4. Juni 2013 Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

2 Überblick Flussnetzwerke Ford-Fulkerson-Methode Edmonds-Karp-Strategie Dualität Maximaler Fluss / Minimaler Schnitt Reduktionen Bipartite Graphen Anwendungen: Maximales Bipartites Matching Stabiles Heiraten Zusammenfassung Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

3 Netzwerk N Ziel: Material durch Netzwerk transportieren Definition N = (G, u, s, t) mit G = (V, E) gerichteter Graph Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

4 Netzwerk N Ziel: Material durch Netzwerk transportieren Definition N = (G, u, s, t) mit G = (V, E) gerichteter Graph Kapazitätsfunktion u : E N + weist jeder Kante e E einen ganzzahligen, nichtnegativen Wert zu Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

5 Netzwerk N Ziel: Material durch Netzwerk transportieren Definition N = (G, u, s, t) mit G = (V, E) gerichteter Graph Kapazitätsfunktion u : E N + weist jeder Kante e E einen ganzzahligen, nichtnegativen Wert zu Quelle s (unendliche Produktion) Senke t (unendlicher Konsum) Kapazität als Einheiten pro Zeitschritt Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

6 Mate(rial)transport zur OHM Erlangen Frankfurt s v 1 v 2 Bielefeld Amsterdam v 3 v 4 7 Emden 20 4 t Alkmaar Kantengewichte beschreiben freie Ladekapazitäten Es gibt keine Zwischenlager Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

7 Fluss f in einem Netzwerk N Definition f : E N + weist jeder Kante e E einen ganzzahligen, nichtnegativen Flusswert zu e E : f (e) u(e) v V \ {s, t} : e=(x,v) E x V f (e) = "Jede Kante hat eine Kapazitätsfunktion" e=(v,x) E x V f (e) Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

8 Fluss f in einem Netzwerk N Definition f : E N + weist jeder Kante e E einen ganzzahligen, nichtnegativen Flusswert zu e E : f (e) u(e) v V \ {s, t} : e=(x,v) E x V f (e) = e=(v,x) E x V f (e) "Der Fluss auf einer Kante ist nie größer als die Kapazität der Kante" Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

9 Fluss f in einem Netzwerk N "Der Fluss in einen Knoten ist gleich dem Fluss aus dem Knoten heraus" Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48 Definition f : E N + weist jeder Kante e E einen ganzzahligen, nichtnegativen Flusswert zu e E : f (e) u(e) v V \ {s, t} : e=(x,v) E x V f (e) = e=(v,x) E x V f (e)

10 Mate(rial)-Fluss zur OHM Frankfurt 11/16 Erlangen s 1/4 8/13 v 1 v 2 Bielefeld Amsterdam 12/12 4/9 11/14 v 3 15/20 7/7 4/4 v 4 Emden t Alkmaar Fluss von 19 Einheiten Richtung Alkmaar Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

11 Mate(rial)-Fluss zur OHM Erlangen Frankfurt s 11/16 8/13 1/4 v 1 v 2 Bielefeld Amsterdam 12/12 4/9 11/14 v 3 v 4 7/7 Emden 15/20 4/4 t Alkmaar Fluss von 19 Einheiten Richtung Alkmaar Frage: Geht da noch was? Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

12 Maximaler Fluss Häufiges Ziel: Flussfunktion so einstellen, dass Gesamtfluss maximal Wasser in Wasserleitungen Menschen auf dem Weg in eine Halle Transport von Waren mit der Bahn Gesamtfluss entspricht Produktion an Quelle bzw Konsum an Senke Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

13 OHM Erlangen Frankfurt 11/16 s 1/4 v 1 Amsterdam 12/12 0/9 v 3 19/20 7/7 t Alkmaar 12/13 v 2 Bielefeld 11/14 4/4 v 4 Emden Jetzt: Fluss von 23 Einheiten Richtung Alkmaar Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

14 Residualgraph Gibt an, wie ein Fluss verändert werden kann Maximale lokale Flussveränderung als gerichtete Kante in Gegenrichtung 12/12 11/16 15/20 s 8/13 1/4 4/9 7/7 t 4/4 11/14 Berechnungsaufwand O(e)

15 Residualgraph Gibt an, wie ein Fluss verändert werden kann Maximale lokale Flussveränderung als gerichtete Kante in Gegenrichtung 12/ /20 11 s 8/13 1/4 4/9 7/7 t 4/4 11/14 Berechnungsaufwand O(e)

16 Residualgraph Gibt an, wie ein Fluss verändert werden kann Maximale lokale Flussveränderung als gerichtete Kante in Gegenrichtung 12/ /20 11 s 5 1/4 4/9 7/7 t 8 4/4 11/14 Berechnungsaufwand O(e)

17 Residualgraph Gibt an, wie ein Fluss verändert werden kann Maximale lokale Flussveränderung als gerichtete Kante in Gegenrichtung /20 11 s 5 1/4 4/9 7/7 t 8 4/4 11/14 Berechnungsaufwand O(e)

18 Residualgraph Gibt an, wie ein Fluss verändert werden kann Maximale lokale Flussveränderung als gerichtete Kante in Gegenrichtung /20 11 s 5 1/4 4/9 7/7 t 8 4/4 Berechnungsaufwand O(e) 11/14

19 Residualgraph Gibt an, wie ein Fluss verändert werden kann Maximale lokale Flussveränderung als gerichtete Kante in Gegenrichtung /20 11 s /9 7/7 t 8 4/4 Berechnungsaufwand O(e) 11/14

20 Residualgraph Gibt an, wie ein Fluss verändert werden kann Maximale lokale Flussveränderung als gerichtete Kante in Gegenrichtung s t Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

21 Residualgraph Gibt an, wie ein Fluss verändert werden kann Maximale lokale Flussveränderung als gerichtete Kante in Gegenrichtung s t 8 3 Berechnungsaufwand O(e) 11 Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

22 Erweiternde Pfade Pfade, die Quelle und Senke verbinden Gesamtfluss kann um das minimale Gewicht der auf dem Pfad liegenden Kanten erhöht werden Danach: Residualgraph aktualisieren Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

23 Überblick Flussnetzwerke Ford-Fulkerson-Methode Edmonds-Karp-Strategie Dualität Maximaler Fluss / Minimaler Schnitt Reduktionen Bipartite Graphen Anwendungen: Maximales Bipartites Matching Stabiles Heiraten Zusammenfassung Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

24 Ford-Fulkerson-Methode Ziel: Maximalen Fluss bestimmen e E setze f (e) = 0 mittels Rückkanten Setze MaxFlow = 0 Tiefensuche nach erweiterndem Pfad p von s nach t setze minc auf minimale Kapazität von p setze MaxFlow auf MaxFlow + minc e p Erhöhe/vermindere f (e) um minc (Hin-/Rückkante) vermindere u(e) um minc falls u(e) = 0 : entferne Kante e Gib MaxFlow zurück Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

25 Residualgraph: s t Fluss: MaxFlow = 0 0/ /12 0/20 s 0/13 0/4 0/9 0/7 t 0/14 0/4 Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

26 Residualgraph: s t Fluss: MaxFlow = 4 4/16 4 4/12 0/20 s 0/13 0/4 4/9 0/7 t 4/14 4/4 Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

27 Residualgraph: s t Fluss: MaxFlow = 8 4/16 4 8/12 4/20 s 4/13 4/4 4/9 0/7 t 4/14 4/4 Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

28 Residualgraph: s t Fluss: MaxFlow = 12 8/16 4 8/12 8/20 s 4/13 0/4 0/9 0/7 t 4/14 4/4 Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

29 Residualgraph: s t Fluss: MaxFlow = 19 8/ /12 15/20 s 11/13 0/4 0/9 7/7 t 11/14 4/4 Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

30 Residualgraph: s t Fluss: MaxFlow = 23 12/ /12 19/20 s 11/13 0/4 0/9 7/7 t 11/14 4/4 Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

31 Laufzeitüberlegungen s t Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

32 Laufzeitüberlegungen s t Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

33 Laufzeitüberlegungen s t Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

34 Laufzeitüberlegungen s t Oooops Kapazität nimmt pro Durchlauf nur um 1 ab Laufzeit: O(MaxFlow E ) Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

35 Laufzeitüberlegungen s t Oooops Kapazität nimmt pro Durchlauf nur um 1 ab Laufzeit: O(MaxFlow E ) Tiefensuche manchmal schlecht, gibt es Alternativen? Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

36 Überblick Flussnetzwerke Ford-Fulkerson-Methode Edmonds-Karp-Strategie Dualität Maximaler Fluss / Minimaler Schnitt Reduktionen Bipartite Graphen Anwendungen: Maximales Bipartites Matching Stabiles Heiraten Zusammenfassung Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

37 Edmonds-Karp-Strategie Einfacher Fix Keine Tiefensuche mehr, dafür Breitensuche Laufzeit im schlimmsten Fall: O( V E 2 ) Genauso leicht zu implementieren (siehe Wiki) Es wird immer der Pfad mit minimaler Kantenanzahl ausgewählt Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

38 Beispiel Edmonds-Karp s t MaxFlow = 0 Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

39 Beispiel Edmonds-Karp s t MaxFlow = 0 Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

40 Beispiel Edmonds-Karp s t MaxFlow = 0 Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

41 Beispiel Edmonds-Karp s t MaxFlow = 0 Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

42 Beispiel Edmonds-Karp 0 0 s t MaxFlow = 1000 Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

43 Beispiel Edmonds-Karp 0 0 s t MaxFlow = 1000 Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

44 Beispiel Edmonds-Karp 0 0 s t MaxFlow = 2000 Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

45 Überblick Flussnetzwerke Ford-Fulkerson-Methode Edmonds-Karp-Strategie Dualität Maximaler Fluss / Minimaler Schnitt Reduktionen Bipartite Graphen Anwendungen: Maximales Bipartites Matching Stabiles Heiraten Zusammenfassung Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

46 Partition einer Menge Definition A, B sind eine Partition von C A C, B C A B = A B = C Hier kurz: {A, B} Part(C) Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

47 Schnitt Definition {S, T } Part(V ), mit s S und t T "Partition in zwei Teilmengen, so dass die Quelle in der einen und die Senke in der anderen ist" Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

48 Schnitt Definition {S, T } Part(V ), mit s S und t T "Partition in zwei Teilmengen, so dass die Quelle in der einen und die Senke in der anderen ist" Kapazität des Schnitts = u(e) e=(a,b) E a S b T Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

49 Schnitt Definition {S, T } Part(V ), mit s S und t T "Partition in zwei Teilmengen, so dass die Quelle in der einen und die Senke in der anderen ist" Kapazität des Schnitts = u(e) Fluss des Schnitts = e=(a,b) E a S b T e=(a,b) E a S b T f (e) e=(a,b) E a S b T f (e) Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

50 Beispielschnitt 12/12 11/16 15/20 s 1/4 4/9 7/7 t 8/13 4/4 11/14 Kapazität: = 31 Fluss: = 19 Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

51 Eigenschaften von Schnitten Fluss für beliebigen Schnitt = Fluss durch das Gesamtnetzwerk Betrag des Flusses ist von oben beschränkt durch Kapazität jedes Schnittes Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

52 Eigenschaften von Schnitten Fluss für beliebigen Schnitt = Fluss durch das Gesamtnetzwerk Betrag des Flusses ist von oben beschränkt durch Kapazität jedes Schnittes Also auch: Betrag des Flusses ist von oben beschränkt durch Kapazität des minimalen Schnittes Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

53 Eigenschaften von Schnitten Fluss für beliebigen Schnitt = Fluss durch das Gesamtnetzwerk Betrag des Flusses ist von oben beschränkt durch Kapazität jedes Schnittes Also auch: Betrag des Flusses ist von oben beschränkt durch Kapazität des minimalen Schnittes Entfernen der Kanten im Schnitt mit minimaler Kapazität trennt s und t mit minimalen Kosten Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

54 Max-Flow-Min-Cut-Theorem Für Fluss f in einem Netzwerk N sind äquivalent: f ist maximaler Fluss in N Residualgraph für f und N hat keine erweiternden Pfade Es existiert ein Schnitt von N mit Kapazität f Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

55 Max-Flow-Min-Cut-Theorem Für Fluss f in einem Netzwerk N sind äquivalent: f ist maximaler Fluss in N Residualgraph für f und N hat keine erweiternden Pfade Es existiert ein Schnitt von N mit Kapazität f Daraus folgt: f ist die Kapazität des minimalen Schnitts von N Max-Flow = Min-Cut (Beweis siehe Cormen) Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

56 Minimalen Schnitt finden Wenn Algorithmus für maximalen Fluss beendet: Alle im Residualgraphen von s aus erreichbaren Knoten bilden S Alle anderen Knoten bilden T Minimaler Schnitt, da die Kapazität voll ausgeschöpft ist Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

57 Residualgraph: s t Fluss: Kapazität = Fluss = /16 12/12 19/20 s 11/13 0/4 0/9 7/7 t 11/14 4/4 Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

58 Überblick Flussnetzwerke Ford-Fulkerson-Methode Edmonds-Karp-Strategie Dualität Maximaler Fluss / Minimaler Schnitt Reduktionen Bipartite Graphen Anwendungen: Maximales Bipartites Matching Stabiles Heiraten Zusammenfassung Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

59 Reduktionen Problem Netzwerke oft in ungeeigneter Form... Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

60 Reduktionen Problem Netzwerke oft in ungeeigneter Form aber man kann sie oft transformieren Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

61 Reduktionen Problem Netzwerke oft in ungeeigneter Form aber man kann sie oft transformieren Typisch Ungerichtete Kanten Quelle oder Senke haben keine unendliche Kapazität Die Knoten haben auch Gewichte Es gibt mehrere Quellen oder Senken Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

62 Ungerichtete Kanten 5 v 1 v 2 Lösung Erzeuge neuen Knoten mit Indirektion Führe zwei gerichtete Kanten ein v v 1 5 v 2 v 1 v 2 5 Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

63 s/t haben beschränkte Kapazität s t Lösung Führe zwei gewichtete Kanten ein s s t t Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

64 Knoten haben auch Kapazitäten s 5 t Lösung Führe neuen Knoten ein und verbinde diesen mit gewichteter Kante s a b t Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

65 Es gibt mehrere Quellen oder Senken s 1 t s 2 a b t 2 s t 3 Lösung Führe neuen s/t-knoten ein s s 1 s a 5 b t 1 t 2 t s t 3 Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

66 Überblick Flussnetzwerke Ford-Fulkerson-Methode Edmonds-Karp-Strategie Dualität Maximaler Fluss / Minimaler Schnitt Reduktionen Bipartite Graphen Anwendungen: Maximales Bipartites Matching Stabiles Heiraten Zusammenfassung Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

67 Bipartiter Graph Definition: Ungerichteter Graph G = (V, E) heißt bipartit, wenn: {A, B} Part(V ), mit {u, v} E : (u A v B) (u B v A) "Jede Kante verbindet einen Knoten aus A mit einem Knoten aus B" Zum Beispiel: Studenten und Tutoren, Tanzpaare, Schachbretter Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

68 Bipartiter Graph: Beispiel L 1 V 1 L 2 V 2 L 3 V 3 Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

69 Bipartites Matching Matching: Kantenauswahl, so dass jeder Knoten zu maximal einer Kante inzident ist Anzahl der Kanten maximal: maximales bipartites Matching Damit kann man ausrechnen, wieviele Kanten man sparen kann Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

70 Überblick Flussnetzwerke Ford-Fulkerson-Methode Edmonds-Karp-Strategie Dualität Maximaler Fluss / Minimaler Schnitt Reduktionen Bipartite Graphen Anwendungen: Maximales Bipartites Matching Stabiles Heiraten Zusammenfassung Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

71 Beispielaufgabe: Klausur Folgende Situation: Klausur muss wiederholt werden wegen Feueralarm Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

72 Beispielaufgabe: Klausur Folgende Situation: Klausur muss wiederholt werden wegen Feueralarm Es gibt eine Facebookseite, auf der sich Studenten als abschreibewillig outen Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

73 Beispielaufgabe: Klausur Folgende Situation: Klausur muss wiederholt werden wegen Feueralarm Es gibt eine Facebookseite, auf der sich Studenten als abschreibewillig outen Du musst herausfinden, ob genügend Aufsichtskräfte da sind um Betrug zu bemerken Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

74 Beispielaufgabe: Klausur Folgende Situation: Klausur muss wiederholt werden wegen Feueralarm Es gibt eine Facebookseite, auf der sich Studenten als abschreibewillig outen Du musst herausfinden, ob genügend Aufsichtskräfte da sind um Betrug zu bemerken Jede Aufsichtskraft kann genau zwei direkt nebeneinander oder hintereinander sitzende Studenten überwachen Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

75 Beispielaufgabe: Klausur Folgende Situation: Klausur muss wiederholt werden wegen Feueralarm Es gibt eine Facebookseite, auf der sich Studenten als abschreibewillig outen Du musst herausfinden, ob genügend Aufsichtskräfte da sind um Betrug zu bemerken Jede Aufsichtskraft kann genau zwei direkt nebeneinander oder hintereinander sitzende Studenten überwachen Jeder potenzielle Abschreiber muss überwacht werden Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

76 Interpretation: bipartites Matching Auf einem 2d-Grid Schachbrettmuster annehmen Alle weißen Felder bilden die eine Teilmenge, alle schwarzen die andere Alle nicht-abschreibwilligen Studenten ignorieren Neben- oder hintereinander sitzende Studenten haben eine Kante zwischen sich Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

77 Visualisierung Tafel Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

78 Interpretation als Flussproblem Vorgehensweise Füge Quelle hinzu für weiße Felder Füge Senke hinzu für schwarze Felder Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

79 Interpretation als Flussproblem Vorgehensweise Füge Quelle hinzu für weiße Felder Füge Senke hinzu für schwarze Felder Ändere die ungerichteten Kanten in gerichtete Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

80 Interpretation als Flussproblem Vorgehensweise Füge Quelle hinzu für weiße Felder Füge Senke hinzu für schwarze Felder Ändere die ungerichteten Kanten in gerichtete Jede Kante hat Gewicht 1 Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

81 Interpretation als Flussproblem Vorgehensweise Füge Quelle hinzu für weiße Felder Füge Senke hinzu für schwarze Felder Ändere die ungerichteten Kanten in gerichtete Jede Kante hat Gewicht 1 Maximalen Fluss ergibt maximales bipartites Matching Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

82 Interpretation als Flussproblem Vorgehensweise Füge Quelle hinzu für weiße Felder Füge Senke hinzu für schwarze Felder Ändere die ungerichteten Kanten in gerichtete Jede Kante hat Gewicht 1 Maximalen Fluss ergibt maximales bipartites Matching Lösung: Anzahl Abschreiber - Fluss Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

83 Interpretation als Flussproblem Vorgehensweise Füge Quelle hinzu für weiße Felder Füge Senke hinzu für schwarze Felder Ändere die ungerichteten Kanten in gerichtete Jede Kante hat Gewicht 1 Maximalen Fluss ergibt maximales bipartites Matching Lösung: Anzahl Abschreiber - Fluss Laufzeit schlimmster Fall: O( V E ) Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

84 Überblick Flussnetzwerke Ford-Fulkerson-Methode Edmonds-Karp-Strategie Dualität Maximaler Fluss / Minimaler Schnitt Reduktionen Bipartite Graphen Anwendungen: Maximales Bipartites Matching Stabiles Heiraten Zusammenfassung Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

85 Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

86 Wählerische Pinguine Es gibt n weibliche und n männliche Pinguine Pinguine haben eine Prioritätsliste für die Paarung Pinguine leben monogam Jeder möchte einen Partner mit möglichst hoher Priorität Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

87 Wählerische Pinguine Lösung: Es gibt n weibliche und n männliche Pinguine Pinguine haben eine Prioritätsliste für die Paarung Pinguine leben monogam Jeder möchte einen Partner mit möglichst hoher Priorität Stabiles Heiraten Stabilität: Am Ende gibt es keine unglücklichen Paare Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

88 Algorithmus Alle Pinguine sind ungebunden, mit Prioritätslisten p Solange es ungebundenes Weibchen w gibt { } curm = take(p(w)) Wenn curm ungebunden: w und curm sind Paar sonst: (curm ist Teil eines Paares) curwforcurm = Weibchen von curm Wenn curm w lieber mag als curwforcurm: w und curm sind Paar curwforcurm ist wieder ungebunden Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

89 Überblick Flussnetzwerke Ford-Fulkerson-Methode Edmonds-Karp-Strategie Dualität Maximaler Fluss / Minimaler Schnitt Reduktionen Bipartite Graphen Anwendungen: Maximales Bipartites Matching Stabiles Heiraten Zusammenfassung Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

90 Zusammenfassung Viele Probleme lassen sich als Flussnetzwerke modellieren Maximaler Fluss entspricht minimalem Schnitt Probleme auf bipartiten Graphen lassen sich mit Flussnetzwerken lösen Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

91 Ausblick Weitere Themen Preflow-Push-Algorithmen (Komplexität je nach Implementierung O( V 3 ), O( V 2 E), O( V E log ( V 2 / E )) Ungarische Methode (Maximales gewichtetes bipartites Matching) (Komplexität: O( V 3 ) Knoten/Kanten-Konnektivität Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

92 Quellen HW-Vorträge der Vorjahre (Thomas Fersch 2010, Christopher Dennl 2011) "Introductions to Algorithms"(Cormen) Schnitte_in_Netzwerken http: //de.wikipedia.org/wiki/bipartiter_graph (Graphentheorie) Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni / 48

Wiederholung zu Flüssen

Wiederholung zu Flüssen Universität Konstanz Methoden der Netzwerkanalyse Fachbereich Informatik & Informationswissenschaft SS 2008 Prof. Dr. Ulrik Brandes / Melanie Badent Wiederholung zu Flüssen Wir untersuchen Flüsse in Netzwerken:

Mehr

Flüsse, Schnitte, bipartite Graphen. Martin Oettinger

Flüsse, Schnitte, bipartite Graphen. Martin Oettinger Flüsse, Schnitte, bipartite Graphen Martin Oettinger Übersicht Einführung Algorithmen für maximalen Fluss Preflow-Push Ford-Fulkerson Spezialfall: Maximaler Fluss bei minimalen Kosten Reduktionen Bipartites

Mehr

Anwendungen von Netzwerkfluss. Wojciech Polcwiartek Institut für Informatik FU Berlin

Anwendungen von Netzwerkfluss. Wojciech Polcwiartek Institut für Informatik FU Berlin Anwendungen von Netzwerkfluss Wojciech Polcwiartek Institut für Informatik FU Berlin 13. 01. 2009 Gliederung Einführung Netzwerk, Fluss und Schnitt Max-Flow-Min-Cut Theorem Algorithmen zum Bestimmen vom

Mehr

6. Flüsse in Netzwerken Berechnung maximaler Flüsse. dann berechnet der Markierungsalgorithmus für beliebige Kapazitätsfunktionen

6. Flüsse in Netzwerken Berechnung maximaler Flüsse. dann berechnet der Markierungsalgorithmus für beliebige Kapazitätsfunktionen 6. Flüsse in Netzwerken Berechnung maximaler Flüsse Satz 6.4. Ersetzt man in Algorithmus 6.1 den Schritt 2 durch 2a. Wähle den Knoten, der zuerst in eingefügt wurde. Setze. dann berechnet der arkierungsalgorithmus

Mehr

Bipartite Graphen. Beispiele

Bipartite Graphen. Beispiele Bipartite Graphen Ein Graph G = (V, E) heiÿt bipartit (oder paar), wenn die Knotenmenge in zwei disjunkte Teilmengen zerfällt (V = S T mit S T = ), sodass jede Kante einen Knoten aus S mit einem Knoten

Mehr

Flüsse, Schnitte, Bipartite Graphen II

Flüsse, Schnitte, Bipartite Graphen II Flüsse, Schnitte, Bipartite Graphen II Jonathan Hacker 06.06.2016 Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 1 / 42 Gliederung Einführung Jonathan Hacker Flüsse, Schnitte, Bipartite

Mehr

KAPITEL 4 FLÜSSE IN NETZWERKEN

KAPITEL 4 FLÜSSE IN NETZWERKEN KAPITEL 4 FLÜSSE IN NETZWERKEN F. VALLENTIN, A. GUNDERT 1. Das Max-Flow-Min-Cut Theorem Es sei D = (V, A) ein gerichteter Graph, s, t V zwei Knoten. Wir nennen s Quelle und t Senke. Definition 1.1. Eine

Mehr

VU Algorithmen auf Graphen Übungsblatt 2 - Aufgabe 2 Transformation einer MaxFlow- in eine MinCost Circulation Instanz

VU Algorithmen auf Graphen Übungsblatt 2 - Aufgabe 2 Transformation einer MaxFlow- in eine MinCost Circulation Instanz VU Algorithmen auf Graphen Übungsblatt 2 - Aufgabe 2 Transformation einer MaxFlow- in eine MinCost Circulation Instanz Gruppe A: Bernhard Stader, Georg Ziegler, Andreas Zugaj 10. November 2004 Inhaltsverzeichnis

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen 2 Sommersemester 2006 5. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Wdhlg.: Dijkstra-Algorithmus I Bestimmung der

Mehr

Algorithmen und Datenstrukturen Kapitel 10

Algorithmen und Datenstrukturen Kapitel 10 Algorithmen und Datenstrukturen Kapitel 10 Flüsse Frank Heitmann heitmann@informatik.uni-hamburg.de 6. Januar 2016 Frank Heitmann heitmann@informatik.uni-hamburg.de 1/8 Flüsse Graphen Grundlagen Definition

Mehr

6. Flüsse und Zuordnungen

6. Flüsse und Zuordnungen 6. Flüsse und Zuordnungen In diesem Kapitel werden Bewertungen von Kanten als maximale Kapazitäten interpretiert, die über solch eine Kante pro Zeiteinheit transportiert werden können. Wir können uns einen

Mehr

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

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung Gliederung der Vorlesung. Fallstudie Bipartite Graphen. Grundbegriffe. Elementare Graphalgorithmen und Anwendungen. Minimal spannende Bäume. Kürzeste Pfade. Traveling Salesman Problem. Flüsse in Netzwerken

Mehr

Flüsse, Schnitte, bipartite Graphen

Flüsse, Schnitte, bipartite Graphen Flüsse, Schnitte, bipartite Graphen Vlad Popa 08.06.2010 Inhaltsverzeihnis 1. Flussnetzwerke und Flüsse 1.1 Ford- Fulkerson 1.2 Edmond Karp 1.3 Dinic 2. Schnitte 3. Maximaler Fluss bei minimalen Kosten

Mehr

Effiziente Algorithmen und Datenstrukturen II

Effiziente Algorithmen und Datenstrukturen II Effiziente Algorithmen und Datenstrukturen II Prof. Dr. Christian Scheideler Technische Universität München, 25. April 2006 1 Algorithmen für maximale Flüsse 1.1 Flüsse Ein Flussnetzwerk G = (V, E) ist

Mehr

Formale Grundlagen der Informatik

Formale Grundlagen der Informatik Formale Grundlagen der Informatik / 2015 1 Die Elemente einer (endlichen) Menge sollen den Elementen einer zweiten, gleichmächtigen Menge zugeordnet werden Problemstellung Bipartite Graphen Zuordnungsprobleme

Mehr

KAPITEL 3 MATCHINGS IN BIPARTITEN GRAPHEN

KAPITEL 3 MATCHINGS IN BIPARTITEN GRAPHEN KAPITEL 3 MATCHINGS IN BIPARTITEN GRAPHEN F. VALLENTIN, A. GUNDERT 1. Definitionen Notation 1.1. Ähnlich wie im vorangegangenen Kapitel zunächst etwas Notation. Wir beschäftigen uns jetzt mit ungerichteten

Mehr

Effiziente Algorithmen I

Effiziente Algorithmen I H 10. Präsenzaufgabenblatt, Wintersemester 2015/16 Übungstunde am 18.01.2015 Aufgabe Q Ein Reiseveranstalter besitzt ein Flugzeug, das maximal p Personen aufnehmen kann. Der Veranstalter bietet einen Flug

Mehr

5. Musterlösung. Problem 1: Vitale Kanten * ω(f) > ω(f ). (a) Untersuchen Sie, ob es in jedem Netzwerk vitale Kanten gibt.

5. Musterlösung. Problem 1: Vitale Kanten * ω(f) > ω(f ). (a) Untersuchen Sie, ob es in jedem Netzwerk vitale Kanten gibt. Universität Karlsruhe Algorithmentechnik Fakultät für Informatik WS 05/06 ITI Wagner 5. Musterlösung Problem : Vitale Kanten * In einem Netzwerk (D = (V, E); s, t; c) mit Maximalfluß f heißen Kanten e

Mehr

Seminar über aktuelle Forschungsthemen in der Algorithmik, Dozent Prof. Dr. Alt;

Seminar über aktuelle Forschungsthemen in der Algorithmik, Dozent Prof. Dr. Alt; Seminar über aktuelle Forschungsthemen in der Algorithmik, Dozent Prof. Dr. Alt Referent Matthias Rost 1 Einleitung Definitionen Maximaler Dynamischer Fluss Algorithmus von Ford-Fulkerson Techniken zur

Mehr

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datenstrukturen Der Tragödie IV. Theyl Peter F. Stadler & Konstantin Klemm Bioinformatics Group, Dept. of Computer Science & Interdisciplinary Center for Bioinformatics, University

Mehr

Algorithmentheorie. 13 - Maximale Flüsse

Algorithmentheorie. 13 - Maximale Flüsse Algorithmentheorie 3 - Maximale Flüsse Prof. Dr. S. Albers Prof. Dr. Th. Ottmann . Maximale Flüsse in Netzwerken 5 3 4 7 s 0 5 9 5 9 4 3 4 5 0 3 5 5 t 8 8 Netzwerke und Flüsse N = (V,E,c) gerichtetes Netzwerk

Mehr

Algorithmen II Vorlesung am

Algorithmen II Vorlesung am Algorithmen II Vorlesung am 0..0 Minimale Schnitte in Graphen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales Forschungszentrum

Mehr

Flüsse in Netzwerken. Seminar über Algorithmen SoSe 2005. Mike Rohland & Julia Schenk

Flüsse in Netzwerken. Seminar über Algorithmen SoSe 2005. Mike Rohland & Julia Schenk Flüsse in Netzwerken Seminar über Algorithmen SoSe 2005 Mike Rohland & Julia Schenk Inhalt Einführung Definition Maximale Flüsse Schnitte Restgraphen Zunehmende Wege Max-Fluss Min-Schnitt Theorem Ford-Fulkerson

Mehr

maximaler Fluss & minimaler Schnitt

maximaler Fluss & minimaler Schnitt maximaler Fluss & minimaler Schnitt Referat in angewandte Logistik Marcus Pottendorfer HTBLuVA Sankt Pölten Inhalt Maximaler Fluss minimaler Schnitt... 2 Grundbegriffe... 2 Erklärung... 2 Minimaler Schnitt...

Mehr

Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen

Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen WS 08/09 Friedhelm Meyer auf der Heide Vorlesung 8, 4.11.08 Friedhelm Meyer auf der Heide 1 Organisatorisches Am Dienstag, 11.11., fällt die

Mehr

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Fortgeschrittene Netzwerk- und Graph-Algorithmen Fortgeschrittene Netzwerk- und Graph-Algorithmen Dr. Hanjo Täubig Lehrstuhl für Eziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Wintersemester 2007/08

Mehr

Kombinatorische Optimierung

Kombinatorische Optimierung Juniorprof. Dr. Henning Meyerhenke 1 Henning Meyerhenke: KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Vorlesung 1 Programm des

Mehr

Maximaler Fluß und minimaler Schnitt. Von Sebastian Thurm sebastian.thurm@student.uni-magedburg.de

Maximaler Fluß und minimaler Schnitt. Von Sebastian Thurm sebastian.thurm@student.uni-magedburg.de Maximaler Fluß und minimaler Schnitt Von Sebastian Thurm sebastian.thurm@student.uni-magedburg.de Maximaler Fluß und minimaler Schnitt Wasist das? Maximaler Fluss Minimaler Schnitt Warumtut man das? Logistische

Mehr

Very simple methods for all pairs network flow analysis

Very simple methods for all pairs network flow analysis Very simple methods for all pairs network flow analysis Tobias Ludes 02.07.07 Inhalt Einführung Algorithmen Modifikation der Gomory-Hu Methode Einführung Nach Gomory-Hu nur n-1 Netzwerk-Fluss- Berechnungen

Mehr

Durchschnitt von Matroiden

Durchschnitt von Matroiden Durchschnitt von Matroiden Satz von Edmonds Dany Sattler 18. Januar 2007/ Seminar zur ganzzahligen Optimierung / Wallenfels Definition: Unabhängigkeitssystem Definition: Ein Mengensystem (S, J ) nennt

Mehr

4.7 Der Algorithmus von Dinic für maximalen Fluss

4.7 Der Algorithmus von Dinic für maximalen Fluss 4.7 Der Algorithmus von Dinic für maximalen Fluss Wir kennen bereits den Algorithmus von Ford Fulkerson zur Suche nach einem maximalen Fluss in einem Graphen. Wir lernen nun einen Algorithmus für maximalen

Mehr

Effiziente Algorithmen Übung 2 Lösungen

Effiziente Algorithmen Übung 2 Lösungen TU Ilmenau, Fakultät für Informatik und Automatisierung FG Komplexitätstheorie und Effiziente Algorithmen Univ.-Prof. Dr. M. Dietzfelbinger, M. Sc. Stefan Walzer https://www.tu-ilmenau.de/iti/lehre/lehre-ws-016017/ea/

Mehr

Kombinatorische Optimierung

Kombinatorische Optimierung Juniorprof. Dr. Henning Meyerhenke 1 Henning Meyerhenke: KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Vorlesungen 5 und 6 Programm

Mehr

Algorithmische Graphentheorie

Algorithmische Graphentheorie Algorithmische Graphentheorie Sommersemester 204 4. Vorlesung Matchings / Paarungen Kombinatorische Anwendungen des Max-Flow-Min-Cut-Theorems Prof. Dr. Alexander Wolff 2 Paarungen (Matchings) Def. Sei

Mehr

Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 6: Matchings und TSP-Problem

Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 6: Matchings und TSP-Problem Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 6: Matchings und TSP-Problem Dipl-Math. Wolfgang Kinzner 4.4.2012 Kapitel 6: Matchings und TSP-Problem Matching und Matchingproblem Flussalgorithmus

Mehr

Kombinatorische Optimierung

Kombinatorische Optimierung Juniorprof. Dr. Henning Meyerhenke 1 Henning Meyerhenke: KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Vorlesung 4 Programm des

Mehr

Algorithmen zur Berechnung von Matchings

Algorithmen zur Berechnung von Matchings Algorithmen zur Berechnung von Matchings Berthold Vöcking 1 Einleitung Matchingprobleme sind Zuordnungsprobleme. Es geht darum z.b. Studierenden Plätze in Seminaren zuzuordnen, Bewerber auf freie Stellen

Mehr

Graphentheorie. Maximale Flüsse. Maximale Flüsse. Maximale Flüsse. Rainer Schrader. 31. Oktober Gliederung. sei G = (V, A) ein gerichteter Graph

Graphentheorie. Maximale Flüsse. Maximale Flüsse. Maximale Flüsse. Rainer Schrader. 31. Oktober Gliederung. sei G = (V, A) ein gerichteter Graph Graphentheorie Rainer Schrader Zentrum ür Angewandte Inormatik Köln 31. Oktober 2007 1 / 30 2 / 30 Gliederung maximale Flüsse Schnitte Edmonds-Karp-Variante sei G = (V, A) ein gerichteter Graph sei c eine

Mehr

Grundlagen Datenstrukturen Transitive Hülle Traversierung Kürzeste Wege Spannender Baum Max. Fluss Zuordnungen. 6. Graphen

Grundlagen Datenstrukturen Transitive Hülle Traversierung Kürzeste Wege Spannender Baum Max. Fluss Zuordnungen. 6. Graphen . Graphen viele praktische (Optimierungs-)Probleme sind als graphentheoretische Probleme formulierbar z.b. in Produktionsplanung, Personaleinsatzplanung,.... Grundlagen gerichteter, ungerichteter und gewichteter

Mehr

Algo&Komp. - Wichtige Begriffe Mattia Bergomi Woche 6 7

Algo&Komp. - Wichtige Begriffe Mattia Bergomi Woche 6 7 1 Kürzeste Pfade Woche 6 7 Hier arbeiten wir mit gewichteten Graphen, d.h. Graphen, deren Kanten mit einer Zahl gewichtet werden. Wir bezeichnen die Gewichtsfunktion mit l : E R. Wir wollen einen kürzesten

Mehr

Bäume und Wälder. Definition 1

Bäume und Wälder. Definition 1 Bäume und Wälder Definition 1 Ein Baum ist ein zusammenhängender, kreisfreier Graph. Ein Wald ist ein Graph, dessen Zusammenhangskomponenten Bäume sind. Ein Knoten v eines Baums mit Grad deg(v) = 1 heißt

Mehr

15. Elementare Graphalgorithmen

15. Elementare Graphalgorithmen Graphen sind eine der wichtigste Modellierungskonzepte der Informatik Graphalgorithmen bilden die Grundlage vieler Algorithmen in der Praxis Zunächst kurze Wiederholung von Graphen. Dann Darstellungen

Mehr

Graphen: Datenstrukturen und Algorithmen

Graphen: Datenstrukturen und Algorithmen Graphen: Datenstrukturen und Algorithmen Ein Graph G = (V, E) wird durch die Knotenmenge V und die Kantenmenge E repräsentiert. G ist ungerichtet, wenn wir keinen Start- und Zielpunkt der Kanten auszeichnen.

Mehr

4. Kreis- und Wegeprobleme Abstände in Graphen

4. Kreis- und Wegeprobleme Abstände in Graphen 4. Kreis- und Wegeprobleme Abstände in Graphen Abstände in Graphen Definition 4.4. Es sei G = (V,E) ein Graph. Der Abstand d(v,w) zweier Knoten v,w V ist die minimale Länge eines Weges von v nach w. Falls

Mehr

Graphen. Leonhard Euler ( )

Graphen. Leonhard Euler ( ) Graphen Leonhard Euler (1707-1783) 2 Graph Ein Graph besteht aus Knoten (nodes, vertices) die durch Kanten (edges) miteinander verbunden sind. 3 Nachbarschaftsbeziehungen Zwei Knoten heissen adjazent (adjacent),

Mehr

Ausarbeitung über den Satz von Menger und den Satz von König

Ausarbeitung über den Satz von Menger und den Satz von König Ausarbeitung über den Satz von Menger und den Satz von König Myriam Ezzedine, 0326943 Anton Ksernofontov, 0327064 Jürgen Platzer, 0025360 Nataliya Sokolovska, 0326991 1. Beweis des Satzes von Menger Bevor

Mehr

Längen-beschränkte Schnitte und Flüsse

Längen-beschränkte Schnitte und Flüsse Seminarausarbeitung über G. Baiers et al. Abhandlung über: Längen-beschränkte Schnitte und Flüsse (oder: Length-bounded Cuts and Flows) Frank Obermüller 06. Dezember 2009 1 Einleitung Sei G = (V, E) ein

Mehr

Vorlesung 2 KÜRZESTE WEGE

Vorlesung 2 KÜRZESTE WEGE Vorlesung 2 KÜRZESTE WEGE 34 Kürzeste Wege im Graphen Motivation! Heute:! Kürzeste Wege von einem Knoten (SSSP)! Kürzeste Wege zwischen allen Knotenpaaren (APSP)! Viele Anwendungen:! Navigationssysteme!

Mehr

Definition Ein gerichteter Graph G = (V, E) ist ein Graph von geordneten Paaren (u, v) mit u V und v V.

Definition Ein gerichteter Graph G = (V, E) ist ein Graph von geordneten Paaren (u, v) mit u V und v V. Kapitel 4 Graphenalgorithmen 4.1 Definitionen Definition 4.1.1. Der Graph G = (V, E) ist über die beiden Mengen V und E definiert, wobei V die Menge der Knoten und E die Menge der Kanten in dem Graph ist.

Mehr

Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen

Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen 186.172 Algorithmen und Datenstrukturen 1 VL 4.0 Übungsblatt 4 für die Übung

Mehr

Vorwort. 1 Flüsse in Planaren Graphen. 1.1 Flüssen in Planaren Graphen als Kürzeste-Wege-Problem

Vorwort. 1 Flüsse in Planaren Graphen. 1.1 Flüssen in Planaren Graphen als Kürzeste-Wege-Problem Vorwort Es handelt sich hierbei um einen vorläufigen Aufschrieb zu Flüssen in planaren Graphen. Die Darstellung basiert auf dem Artikel Maximum Flows and Parametric Shortest Paths in Planar Graphs von

Mehr

Effiziente Algorithmen und Datenstrukturen I. Kapitel 9: Minimale Spannbäume

Effiziente Algorithmen und Datenstrukturen I. Kapitel 9: Minimale Spannbäume Effiziente Algorithmen und Datenstrukturen I Kapitel 9: Minimale Spannbäume Christian Scheideler WS 008 19.0.009 Kapitel 9 1 Minimaler Spannbaum Zentrale Frage: Welche Kanten muss ich nehmen, um mit minimalen

Mehr

Matchings (Paarungen) in Graphen. PS Algorithmen auf Graphen SS `06 Steven Birr

Matchings (Paarungen) in Graphen. PS Algorithmen auf Graphen SS `06 Steven Birr Matchings (Paarungen) in Graphen PS Algorithmen auf Graphen SS `06 Steven Birr 1 Gliederung 1) Definitionen und Beispiele 2) Algorithmus des maximalen Matchings 3) Das Personal-Zuteilungsproblem Ungarischer

Mehr

6. Übung zur Linearen Optimierung SS08

6. Übung zur Linearen Optimierung SS08 6 Übung zur Linearen Optimierung SS08 1 Sei G = (V, E) ein schlichter ungerichteter Graph mit n Ecken und m Kanten Für eine Ecke v V heißt die Zahl der Kanten (u, v) E Grad der Ecke (a) Ist die Anzahl

Mehr

2. Übungsblatt zu Algorithmen II im WS 2016/2017

2. Übungsblatt zu Algorithmen II im WS 2016/2017 Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Peter Sanders Dr. Christian Schulz, Dr. Simon Gog Michael Axtmann. Übungsblatt zu Algorithmen II im WS 016/017 Aufgabe

Mehr

\ E) eines Graphen G = (V, E) besitzt die gleiche Knotenmenge V und hat als Kantenmenge alle Kanten des vollständigen Graphen ohne die Kantenmenge E.

\ E) eines Graphen G = (V, E) besitzt die gleiche Knotenmenge V und hat als Kantenmenge alle Kanten des vollständigen Graphen ohne die Kantenmenge E. Das Komplement Ḡ = (V, ( V ) \ E) eines Graphen G = (V, E) besitzt die gleiche Knotenmenge V und hat als Kantenmenge alle Kanten des vollständigen Graphen ohne die Kantenmenge E. Ein Graph H = (V, E )

Mehr

WS 2008/09. Diskrete Strukturen

WS 2008/09. Diskrete Strukturen WS 2008/09 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0809

Mehr

WS 2009/10. Diskrete Strukturen

WS 2009/10. Diskrete Strukturen WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910

Mehr

Vorlesung Kombinatorische Optimierung (Wintersemester 2016/17)

Vorlesung Kombinatorische Optimierung (Wintersemester 2016/17) Vorlesung Kombinatorische Optimierung (Wintersemester 06/7) Kapitel : Flüsse und Zirkulationen Volker Kaibel Otto-von-Guericke Universität Magdeburg (Version vom 4. Oktober 06) Definition. Ein Netzwerk

Mehr

Felix Brandt, Jan Johannsen. Vorlesung im Wintersemester 2008/09

Felix Brandt, Jan Johannsen. Vorlesung im Wintersemester 2008/09 Felix Brandt, Jan Johannsen Vorlesung im Wintersemester 2008/09 Übersicht Übersicht Definition Ein Matching in G = (V, E) ist eine Menge M E mit e 1 e 2 = für e 1, e 2 M, e 1 e 2 Ein Matching M ist perfekt,

Mehr

Graphalgorithmen 2. Oleksiy Rybakov. 3. Juni Betreuer: Tobias Werth, Daniel Brinkers

Graphalgorithmen 2. Oleksiy Rybakov. 3. Juni Betreuer: Tobias Werth, Daniel Brinkers Graphalgorithmen 2 Oleksiy Rybakov 3. Juni 2015 Betreuer: Tobias Werth, Daniel Brinkers 1 / 40 Inhaltsverzeichnis 1 Minimale Spannbäume und Datenstrukturen 2 Kürzeste Wege 3 Spezielle Graphen 2 / 40 Minimale

Mehr

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

Kürzeste Wege in Graphen. Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik Kürzeste Wege in Graphen Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik Gliederung Einleitung Definitionen Algorithmus von Dijkstra Bellmann-Ford Algorithmus Floyd-Warshall Algorithmus

Mehr

Matching markets Seminar maschinelles Lernen WS 10/11

Matching markets Seminar maschinelles Lernen WS 10/11 Matching markets Seminar maschinelles Lernen WS 10/11 08.12.2010 Matching markets Rebekka Gohla 1 Einführung Matching markets ist das erste Kapitel des Themenkomplexes Märkte und strategische Interaktionen

Mehr

Algorithmen & Komplexität

Algorithmen & Komplexität Algorithmen & Komplexität Angelika Steger Institut für Theoretische Informatik steger@inf.ethz.ch Kürzeste Pfade Problem Gegeben Netzwerk: Graph G = (V, E), Gewichtsfunktion w: E N Zwei Knoten: s, t Kantenzug/Weg

Mehr

7. Transitive Hülle. Kante des Graphen. Zusatz-Kante der transitiven Hülle

7. Transitive Hülle. Kante des Graphen. Zusatz-Kante der transitiven Hülle In Anwendungen ist es oft interessant zu wissen, ob man überhaupt von einem Knoten v zu einem Knoten w gelangen kann, ganz gleich wie lang der Weg auch ist. Gegeben sei dabei ein gerichteter Graph G =

Mehr

Netzwerk-Simplex. MinCostFlow als Lineares Programm. 1 of 12 Netzwerksimplex

Netzwerk-Simplex. MinCostFlow als Lineares Programm. 1 of 12 Netzwerksimplex Netzwerk-Simplex MinCostFlow als Lineares Programm of 2 Netzwerksimplex MinCostFlow geg: gerichteter Graph G, Kapazitäten u R R 0 { }, Bedarfe b V R, Pfeilkosten c R R ges: zulässiger b-fluss f mit minimalen

Mehr

Algorithmische Mathematik

Algorithmische Mathematik Algorithmische Mathematik Wintersemester 2013 Prof. Dr. Marc Alexander Schweitzer und Dr. Einar Smith Patrick Diehl und Daniel Wissel Übungsblatt 6. Abgabe am 02.12.2013. Aufgabe 1. (Netzwerke und Definitionen)

Mehr

Klausur Theoretische Informatik I WS 2004/2005

Klausur Theoretische Informatik I WS 2004/2005 Technische Universität Chemnitz Chemnitz, den 22.02.2005 Fakultät für Informatik Prof. Dr. Andreas Goerdt Klausur Theoretische Informatik I WS 2004/2005 Studiengang Mechatronik Aufgabe 1 (2+2+2 Punkte)

Mehr

Minimal spannende Bäume

Minimal spannende Bäume http://www.uni-magdeburg.de/harbich/ Minimal spannende Fakultät für Informatik Otto-von-Guericke-Universität 2 Inhalt Definition Wege Untergraphen Kantengewichtete Graphen Minimal spannende Algorithmen

Mehr

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 6 Vorlesung Theoretische Grundlagen der Informatik im WS 16/17 Ausgabe 22. Dezember 2016 Abgabe 17. Januar 2017, 11:00 Uhr

Mehr

Netzwerkfluß. Gegeben ist ein System von Wasserrohren: Die Kapazität jedes Rohres ist 3, 5 oder 8 l/s.

Netzwerkfluß. Gegeben ist ein System von Wasserrohren: Die Kapazität jedes Rohres ist 3, 5 oder 8 l/s. Netzwerkfluß (Folie, Seite 78 im Skript) Gegeben ist ein System von Wasserrohren: Quelle s t Senke Die Kapazität jedes Rohres ist, oder 8 l/s. Frage: Wieviel Wasser kann von der Quelle zur Senke fließen?

Mehr

Teil III. Komplexitätstheorie

Teil III. Komplexitätstheorie Teil III Komplexitätstheorie 125 / 160 Übersicht Die Klassen P und NP Die Klasse P Die Klassen NP NP-Vollständigkeit NP-Vollständige Probleme Weitere NP-vollständige Probleme 127 / 160 Die Klasse P Ein

Mehr

1. Klausur zur Vorlesung Algorithmentechnik Wintersemester 2009/2010

1. Klausur zur Vorlesung Algorithmentechnik Wintersemester 2009/2010 . Klausur zur Vorlesung Algorithmentechnik Wintersemester 2009/200 Lösung! Beachten Sie: Bringen Sie den Aufkleber mit Ihrem Namen und Matrikelnummer auf diesem Deckblatt an und beschriften Sie jedes Aufgabenblatt

Mehr

Maximale s t-flüsse in Planaren Graphen

Maximale s t-flüsse in Planaren Graphen Maximale s t-flüsse in Planaren Graphen Vorlesung Algorithmen für planare Graphen June 18, 2012 Ignaz Rutter INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg

Mehr

Das Heiratsproblem. Definition Matching

Das Heiratsproblem. Definition Matching Das Heiratsproblem Szenario: Gegeben: n Frauen und m > n Männer. Bekanntschaftsbeziehungen zwischen allen Männern und Frauen. Fragestellung: Wann gibt es für jede der Frauen einen Heiratspartner? Modellierung

Mehr

Verteilen von Bällen auf Urnen

Verteilen von Bällen auf Urnen Verteilen von Bällen auf Urnen Szenario: Wir verteilen n Bälle auf m Urnen, d.h. f : B U mit B = {b 1,..., b n } und U = {u 1,..., u m }. Dabei unterscheiden wir alle Kombinationen der folgenden Fälle

Mehr

Vorlesung Diskrete Strukturen Transportnetze

Vorlesung Diskrete Strukturen Transportnetze Vorlesung Diskrete Strukturen Transportnetze Bernhard Ganter WS 2013/14 1 Transportnetze Gerichtete Graphen Ein schlingenloser gerichteter Graph ist ein Paar (V, A), wobei V eine beliebige Menge ist, deren

Mehr

1. Übung Graphentheorie WS2016/17

1. Übung Graphentheorie WS2016/17 1. Übung Graphentheorie WS2016/17 1. Schreiben Sie für jede Ecke der folgenden 7 Graphen den Grad auf! Welche der Graphen sind regulär? G 1 G 2 G 5 G 3 2. Bestimmen Sie alle paarweise nicht-isomorphen

Mehr

Kürzeste Wegealgorithmen

Kürzeste Wegealgorithmen Kürzeste Wegealgorithmen Berechnung kürzester Wege Ein gewichteter Graph G ist ein Tupel (V,E) zusammen mit einer Gewichtsfunktion f, wobei E V V und f: E Seien u,v V. Ein kürzester Weg von u nach v ist

Mehr

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

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

Mehr

Gliederung. Kapitel 4. Lokale Suchverfahren. Meta-Heuristiken. Simulated Annealing. Lokale Suchverfahren. Optimierungsalgorithmen

Gliederung. Kapitel 4. Lokale Suchverfahren. Meta-Heuristiken. Simulated Annealing. Lokale Suchverfahren. Optimierungsalgorithmen Kapitel Optimierungsalgorithmen Gunnar Klau Institut für Computergraphik und Algorithmen Gliederung Kombinatorische vs. Ganzzahlige Optimierung Exakte Verfahren Branch-and-Bound Schnittebenenverfahren

Mehr

Definition Gerichteter Pfad. gerichteter Pfad, wenn. Ein gerichteter Pfad heißt einfach, falls alle u i paarweise verschieden sind.

Definition Gerichteter Pfad. gerichteter Pfad, wenn. Ein gerichteter Pfad heißt einfach, falls alle u i paarweise verschieden sind. 3.5 Gerichteter Pfad Definition 291 Eine Folge (u 0, u 1,..., u n ) mit u i V für i = 0,..., n heißt gerichteter Pfad, wenn ( i {0,..., n 1} ) [ (u i, u i+1 ) A]. Ein gerichteter Pfad heißt einfach, falls

Mehr

entheoretische Konzepte und Algorithmen

entheoretische Konzepte und Algorithmen Sven Oliver Krumke, Hartmut Noitemeier entheoretische Konzepte und Algorithmen Teubner Inhaltsverzeichnis 1 Einleitung 1 1.1 Routenplanung 1 1.2 Frequenzplanung im Mobilfunk I 1.3 Museumswärter 3 1.4 Das

Mehr

Algorithmen zum Lösen von Vertex und Set Cover Instanzen zur Planung von Angriffen auf Netzwerke

Algorithmen zum Lösen von Vertex und Set Cover Instanzen zur Planung von Angriffen auf Netzwerke Algorithmen zum Lösen von Vertex und Set Cover Instanzen zur Planung von Angriffen auf Netzwerke Steve Göring 13.07.2012 1/18 Gliederung Einleitung Grundlagen Vertex-Cover-Problem Set-Cover-Problem Lösungsalgorithmen

Mehr

4 Greedy-Algorithmen (gierige Algorithmen)

4 Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen werden oft für die exakte oder approximative Lösung von Optimierungsproblemen verwendet. Typischerweise konstruiert ein Greedy-Algorithmus eine

Mehr

3. Musterlösung. Problem 1: Boruvka MST

3. Musterlösung. Problem 1: Boruvka MST Universität Karlsruhe Algorithmentechnik Fakultät für Informatik WS 06/07 ITI Wagner. Musterlösung Problem : Boruvka MST pt (a) Beweis durch Widerspruch. Sei T MST von G, e die lokal minimale Kante eines

Mehr

3.4 Maximale Flüsse und der Algorithmus von Ford Fulkerson

3.4 Maximale Flüsse und der Algorithmus von Ford Fulkerson 3.4 Maximale Flüsse und der Algorithmus von Ford Fulkerson Definition 3.4.1 Die Aufgabe, zu jedem Netzwerk N = (s, t, V, E, c o ) mit n = V Knoten und m = E Kanten den Fluß f IR m mit maximalem Wert zu

Mehr

Systems of Distinct Representatives

Systems of Distinct Representatives Rheinisch-Westfälische Technische Hochschule Aachen Lehr- und Forschungsgebiet Theoretische Informatik Prof. Dr. Peter Rossmanith Systems of Distinct Representatives Seminar: Extremal Combinatorics SS

Mehr

16. All Pairs Shortest Path (ASPS)

16. All Pairs Shortest Path (ASPS) . All Pairs Shortest Path (ASPS) All Pairs Shortest Path (APSP): Eingabe: Gewichteter Graph G=(V,E) Ausgabe: Für jedes Paar von Knoten u,v V die Distanz von u nach v sowie einen kürzesten Weg a b c d e

Mehr

Guten Morgen und Willkommen zur Saalübung!

Guten Morgen und Willkommen zur Saalübung! Guten Morgen und Willkommen zur Saalübung! 1 Wie gewinnt man ein Spiel? Was ist ein Spiel? 2 Verschiedene Spiele Schach, Tic-Tac-Toe, Go Memory Backgammon Poker Nim, Käsekästchen... 3 Einschränkungen Zwei

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 11: Graphen Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2010/2011 1/59 Graphische Darstellung von Zusammenhängen schon

Mehr

Übungsblatt 2 - Lösung

Übungsblatt 2 - Lösung Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 2 - Lösung Vorlesung Algorithmentechnik im WS 08/09 Ausgabe 04. November 2008 Abgabe 8. November, 5:0 Uhr (im Kasten vor Zimmer

Mehr

3. Übungsblatt zu Algorithmen II im WS 2011/2012

3. Übungsblatt zu Algorithmen II im WS 2011/2012 Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Peter Sanders Moritz Kobitzsch, Dennis Schieferdecker 3. Übungsblatt zu Algorithmen II im WS 20/202 http://algo2.iti.kit.edu/algorithmenii.php

Mehr

Einführung in Netzwerk-Fluss-Probleme Das min-cut max-flow Theorem

Einführung in Netzwerk-Fluss-Probleme Das min-cut max-flow Theorem Einführung in Netzwerk-Fluss-robleme Das min-cut max-flow Theorem Felix Meyner Betreuer: Stephan Günther Hauptseminar Innovative Internet-Technologien und Mobilkommunikation WS 11/12 Lehrstuhl Netzarchitekturen

Mehr

Flüsse in Netzwerken

Flüsse in Netzwerken Skript zum Seminar Flüsse in Netzwerken WS 2008/09 David Meier Inhaltsverzeichnis 1 Einführende Definitionen und Beispiele 3 2 Schnitte in Flussnetzwerken 12 2.1 Maximaler s t Fluss..........................

Mehr

TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK

TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 2009 Grundlagen: Algorithmen und Datenstrukturen Übungsblatt 11 Prof. Dr. Helmut Seidl, S. Pott,

Mehr

Minimal spannende Bäume

Minimal spannende Bäume Minimal spannende Bäume Ronny Harbich 4. Mai 006 (geändert 19. August 006) Vorwort Ich danke Patrick Bahr und meinem Bruder Steffen Harbich für die Unterstützung bei dieser Arbeit. Sie haben sowohl zu

Mehr

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

Seminarvortag zum Thema Virtual Private Network Design im Rahmen des Seminars Network Design an der Universität Paderborn Seminarvortag zum Thema Virtual Private Network Design im Rahmen des Seminars Network Design an der Universität Paderborn Ein 5.55-Approximationsalgorithmus für das VPND-Problem Lars Schäfers Inhalt Einführung:

Mehr

1. Einleitung wichtige Begriffe

1. Einleitung wichtige Begriffe 1. Einleitung wichtige Begriffe Da sich meine besondere Lernleistung mit dem graziösen Färben (bzw. Nummerieren) von Graphen (speziell von Bäumen), einem Teilgebiet der Graphentheorie, beschäftigt, und

Mehr

Grundlagen: Algorithmen und Datenstrukturen

Grundlagen: Algorithmen und Datenstrukturen Grundlagen: Algorithmen und Datenstrukturen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 00

Mehr