Algorithmische Graphentheorie

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

Algorithmische Graphentheorie

Wiederholung zu Flüssen

Algorithmik WS 07/ Vorlesung, Andreas Jakoby Universität zu Lübeck. 10 Matching-Probleme

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

Algorithmen zur Berechnung von Matchings

Univ.-Prof. Dr. Goulnara ARZHANTSEVA

WS 2008/09. Diskrete Strukturen

Das Heiratsproblem. Definition Matching

4.7 Der Algorithmus von Dinic für maximalen Fluss

Algorithmentheorie Maximale Flüsse

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

Datenstrukturen & Algorithmen Lösungen zu Blatt 11 FS 14

Algorithmische Graphentheorie

Übungsaufgaben Graphentheorie, Wintersemester 2011/12

Algorithmen zur Berechnung von Matchings

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

Algorithmen und Datenstrukturen Kapitel 10

Proseminar Graphentheorie Vortrag 3 Matching. Inhalt: 1. Grundlagen 2. Matchings in bipatiten Graphen 3. Matchings in allgemeinen Graphen

Inhalt. 1. Flußprobleme. 2. Matching. 3. Lineares Programmieren. 4. Ganzzahliges Programmieren. 5. NP-Vollständigkeit. 6. Approximationsalgorithmen

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

Klausur zum Modul Einführung in die Diskrete Mathematik

WS 2015/16 Diskrete Strukturen Kapitel 4: Graphen (Matchings)

Bipartite Graphen. Beispiele

Flüsse und Zuordnungen. Kapitel 6. Peter Becker (H-BRS) Graphentheorie Wintersemester 2018/ / 296

Matchings in Graphen. Praktikum Diskrete Optimierung (Teil 5)

Kapitel 8: Bipartite Graphen Gliederung der Vorlesung

Effiziente Algorithmen I

Graphentheorie. Zusammenhang. Zusammenhang. Zusammenhang. Rainer Schrader. 13. November 2007

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

Approximationsalgorithmen

Operations Research. Flüsse in Netzwerken. Flüsse in Netzwerken. Unimodularität. Rainer Schrader. 2. Juli Gliederung.

Graphentheorie. Kardinalitätsmatchings. Kardinalitätsmatchings. Kardinalitätsmatchings. Rainer Schrader. 11. Dezember 2007

6 Flüsse und Matchings

Klausurvorbereitung. 1 Zentrale Begriffe. 2 Bipartite Graphen. 2.1 Begriffe. Vorlesung Graphen und Optimierung Sommersemester 2011 Prof. S.

2. Entsprechende Listen P i von Vorgängern von i 3. for i := 1 to n do. (ii) S i = Knoten 2 + 1}

Algorithmen II Vorlesung am

Zählen perfekter Matchings in planaren Graphen

Wir betrachten einen einfachen Algorithmus, der den Zusammenhang eines Graphen testen soll.

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

KAPITEL 3 MATCHINGS IN BIPARTITEN GRAPHEN

WS 2013/14. Diskrete Strukturen

Algorithmische Graphentheorie

6. Flüsse und Zuordnungen

Flüsse, Schnitte, bipartite Graphen

Trennender Schnitt. Wie groß kann der Fluss in dem folgenden Flussnetzwerk höchstens sein?

Überblick. Kap. 1.4: Minimum Weight Perfect Matching. 1.3 Blüten-Schrumpf Algorithmus für Maximum Matching

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

A Berlin, 10. April 2017

Effiziente Algorithmen I

Einführung in die Mathematik des Operations Research

1.Aufgabe: Minimal aufspannender Baum

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

Kapitel 4: Minimal spannende Bäume Gliederung der Vorlesung

lässt sich auch ableiten, dass es einen augmentierenden Pfad der Länge höchstens

Flüsse, Schnitte, bipartite Graphen

Matching. Organisatorisches. VL-18: Matching. (Datenstrukturen und Algorithmen, SS 2017) Gerhard Woeginger. Tanzabend

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

Kapitel 4: Minimale spannende Bäume Gliederung der Vorlesung

Datenstrukturen & Algorithmen

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

Algorithmische Graphentheorie

Richtig oder falsch? Richtig oder falsch? Richtig oder falsch? Mit dynamischer Programmierung ist das Knapsack- Problem in Polynomialzeit lösbar.

Kapitel 5: Minimale spannende Bäume Gliederung der Vorlesung

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

Lösungsskizzen zu den Klausuraufgaben zum Kurs 1142 Algorithmische Mathematik

Das Matching Polytop

Algorithmen und Datenstrukturen

Gemischt-ganzzahlige und Kombinatorische Optimierung

Name:... Vorname:... Matr.-Nr.:... Studiengang:...

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

3-Färbbarkeit. Korollar: Zu Entscheiden, ob ein Graph k-färbbar ist mit k 3, ist NP-vollständig.

7. Der Entwurf von Algorithmen (Fortsetzung)

1 Pfade in azyklischen Graphen

Algorithmen und Datenstrukturen

Diskrete Mathematik Graphentheorie (Übersicht)

6. Übung zur Linearen Optimierung SS08

Globalübungsaufgabe1 (All Pair Shortest Path):

Bäume und Wälder. Definition 1

Bipartites Matching. Gegeben: Ein bipartiter, ungerichteter Graph (V 1, V 2, E). Gesucht: Ein Matching (Paarung) maximaler Kardinalität.

Bäume und Wälder. Definition 1

Kapitel 9: Lineare Programmierung Gliederung

Flüsse, Schnitte, bipartite Graphen. Martin Oettinger

Algorithmen II Vorlesung am

Optimierung. Vorlesung 08

Graphentheorie. Eulersche Graphen. Eulersche Graphen. Eulersche Graphen. Rainer Schrader. 14. November Gliederung.

Transkript:

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 G = (V, E) ein ungerichteter Graph. M E ist eine Paarung (engl. matching), wenn je zwei Kanten in M keinen gleichen Endpunkt haben. Falls für jede Kante e M gilt, dass M {e} keine Paarung ist, so ist M nicht erweiterbar (engl. maximal). Falls für alle Paarungen M in G gilt, dass M M, so ist M eine größte Paarung (engl. maximum). Falls jeder Knoten in G durch M gepaart ist, so ist M eine perfekte Paarung (engl. perfect).

4 Ganzzahligkeitssatz s 2 2 / / 2 / u v {}}{ + 2 2 / G t Nebenbemerkung: Sei E = {e,..., e m }. Dann ist {( f (e ),..., f (e m ) ) f zulässig } ein konvexer Unterraum. (wovon?) Gibt es noch einen maximalen s t Fluss? Ja! Wenn es mind. zwei verschiedene maximale Flüsse gibt, so gibt es ein ganzes Kontinuum maximaler Flüsse. Aber: Korollar. Sind alle Kapazitäten ganzzahlig, d.h. c : E N, so existiert ein maximaler Fluss, der ganzzahlig ist. Beweis. Wende FordFulkerson oder EdmondsKarp an!

Kantendisjunkte Wege card(s, T ) = S T Raus(S) = 3 5 Satz. Menger, 927 Beweis. Sei G = (V, E) ein gerichteter Graph und s, t V. Dann ist die maximale Anz. kantendisjunkter s-t-wege gleich der minimalen Kardinalität eines s-t-schnittes. Wähle c. Sei f max. s-t-fluss. obda. f : E {0, }. Folge einer Kante mit Fluss, die s verlässt: s Ganzz.-Satz S T e t da c(e) = und Flusserhaltung Karl Menger Wien 902 Illinois 985 A := max. Anz. kantendisj. s-t-wege f Sei (S, T ) ein minimaler s-t-schnitt. jeder s-t-weg trägt Kante zu Raus(S) bei. card(s, T ) = c(raus(s)) = c(s) A f

Satz von Menger max. Anz. kantendisjunkter s-t-wege 6 Wir wissen nun card(s, T ) = c(raus(s)) = c(s) A f card(s, T ) = c(s) = A = f. Kapazität eines = min. Schnittes Wert eines max. Flusses Max-Flow-Min-Cut-Theorem Minimale Kardinalität eines s-t-schnitts = maximale Anzahl kantendisjunkter s-t-wege Satz. Sei G = (V, E) gerichteter Graph, s, t V, st E. Dann ist die max. Anzahl knotendisjunkter s-t-wege gleich der Kardinalität einer kleinsten Knotenmenge, die s und t trennt. [Menger, 927]

7 Perfekte Paarungen Gegeben: eine Menge D = {d,..., d n } von n Damen und eine Menge H = {h,..., h n } von n Herren mit D H =, sowie ein unger. Sympathiegraph G = (D H, E). Gesucht: eine Massenhochzeit, d.h. eine perfekte Paarung: jede Dame wird mit genau einem Herren gepaart, den sie sympatisch findet und umgekehrt. Modell. d V d n G h N(V ) h n Nachbarschaft von v V ist N(v) := {u V uv E} Nachbarschaft von V V ist N(V ) := v V N(v )

8 Der Heiratssatz Aufgabe. Finden Sie eine notwendige Bedingung für die Existenz einer perfekten Paarung! Lösung. Für jedes D D muss gelten: D N(D ). Satz. Modell. d Dies ist auch hinreichend. Das heißt: G hat eine perfekte Paarung für jedes D D gilt D N(D ). h Beweis später! [Hall 935] D N(D ) d n G h n Philip Hall 904 London 982 Cambridge

9 Größte Paarungen in bipartiten Graphen s t Aufgabe. Beob. G G, c : E {} Geben Sie eine effiziente Methode an, die in bipartiten Graphen größte Paarungen berechnet. größter Ganzzahliger Fluss in G -zu- größte Paarung in G größte Menge kantendisjunkter s-t-wege in G größte Menge unabhängiger Kanten in G

0 Ergebnis Wir haben das Problem größte Paarungen in bipartiten Graphen in O(V ) Zeit reduziert auf das Problem maximale Flüsse in gerichteten Graphen. {}}{{}}{ sehr speziellen mit Kap. Satz. Sei G = (V, E) ein bipartiter Graph. Dann lässt sich eine größte Paarung in G in O(V E 2 ) Zeit bestimmen. ausnutzen! Laufzeit Beweis. Konstruktion von G : O(V ) Aufruf von EdmondsKarp (o.ä.) für G : Berechne V s-t-wege in je O(E ) Zeit O(V (E ) 2 ) = O(V E 2 ) O(V E 2 )

Anmerkungen Bem. Satz. Der Fluss-Algorithmus von Dinic berechnet maximale Flüsse in allg. Graphen in O(V 2 E) Zeit Matchings in bipartiten Graphen in O( V E) Zeit. [KN, Kapitel 9.6] Selbst in einem beliebigen Graphen G = (V, E) lässt sich eine größte Paarung in O( V E) Zeit berechnen. [Micali & Vazirani, FOCS 80]

2-7 Beweis des Heiratssatzes s H D G G V V = V {s, t} c : E {} Satz. Beweis. S T H S D S t H T D T G hat eine perfekte Paarung für jedes D D gilt D N(D ). G hat eine perfekte Paarung G hat Fluss f mit f = D = H für jeden s-t-schnitt (S, T ) in G gilt c(s) D }{{} zu zeigen!

2-22 Beweis des Heiratssatzes s H D G G V V = V {s, t} c : E {} Satz. S T H S D S t H T D T G hat eine perfekte Paarung für jedes D D gilt D N(D ). Beweis. z.z.: (S, T ) s-t-schnitt in G c(s) D Es gilt c(s) = c(raus(s)) = e Raus(S) c(e) = Raus(S) H T + D S + N G (D T ) H S N G (D T ) H T + D S + N G (D T ) H S = D S + N G (D T ) H = D S + N G (D T ) D S + D T = D