Flüsse, Schnitte, Bipartite Graphen II

Ähnliche Dokumente
Satz 324 Sei M wie oben. Dann gibt es für ein geeignetes k Konstanten c i > 0 und Permutationsmatrizen P i, i = 1,...

Flüsse, Schnitte, Bipartite Graphen

Optimierung. Optimierung. Vorlesung 9 Lineare Programmierung & Kombinatorische Optimierung Fabian Kuhn

FLÜSSE, SCHNITTE UND - TEIL 2 - BIPARTITE GRAPHEN. Vortrag im Seminar Hallo Welt Für Fortgeschrittene Dozenten: Werth, T. & Brinkers, D.

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Kapitel 8: Bipartite Graphen Gliederung der Vorlesung

Flüsse, Schnitte, bipartite Graphen

Formale Grundlagen der Informatik

Flüsse und Schnitte von Graphen

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

Kombinatorische Optimierung

Algorithmen für schwierige Probleme

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

1 Matroide. 1.1 Definitionen und Beispiele. Seminar zur ganzzahligen Optimierung Thema: Durchschnitt von Matroiden - Satz von Edmonds von Dany Sattler

KAPITEL 3 MATCHINGS IN BIPARTITEN GRAPHEN

Klausur zum Modul Einführung in die Diskrete Mathematik

Durchschnitt von Matroiden

Die Ungarische Methode für das Assignment Problem von H. W. Kuhn (1955)

Flüsse, Schnitte, bipartite Graphen

Betriebliche Optimierung

Effiziente Algorithmen I

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

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

Betriebswirtschaftliche Optimierung

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

Approximationsalgorithmen. 19. Dezember / 28

Maximaler Fluß und minimaler Schnitt. Von Sebastian Thurm

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

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

Wiederholung zu Flüssen

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

Theoretische Informatik 1

Einführung in die Mathematik des Operations Research

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

Bemerkung: Es gibt Algorithmen für minimale Spannbäume der Komplexität O(m + n log n) und, für dünnbesetzte Graphen, der Komplexität O(m log n), wobei

1.Aufgabe: Minimal aufspannender Baum

Studientag zur Algorithmischen Mathematik

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

WS 2013/14. Diskrete Strukturen

Prüfungsklausur Operations Research,

Systems of Distinct Representatives

Prüfungsklausur Operations Research,

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

Flüsse, Schnitte, bipartite Graphen. Martin Oettinger

Effiziente Algorithmen II

Bäume und Wälder. Definition 1

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

Bäume und Wälder. Definition 1

Matchings in Graphen. Praktikum Diskrete Optimierung (Teil 5)

Algorithmische Graphentheorie

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

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

Optimieren von Schnittplänen

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

Effiziente Algorithmen I

Kapitel 1: Fallstudie Bipartite Graphen Gliederung der Vorlesung

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

8.4 Digraphen mit negativen Kantengewichten Grundsätzliches Betrachte Startknoten s und einen Kreis C mit Gesamtlänge < 0.

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

Theoretische Informatik 1

Kombinatorische Algorithmen zur Berechnung von Marktequilibria

Nachklausur Grundlagen der Algorithmik (Niedermeier/Froese/Chen/Fluschnik, Wintersemester 2015/16)

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

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

Flüsse, Schnitte, bipartite Graphen

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

Bipartite Graphen. Beispiele

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

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

Algorithmen II Vorlesung am

Datenstrukturen & Algorithmen Lösungen zu Blatt 11 FS 14

Local Search Algorithmen 1

Das Heiratsproblem. Definition Matching

Optimierung. Vorlesung 08

Algorithmen und Datenstrukturen Kapitel 10

Algorithmen II Vorlesung am

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

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

Diskrete Mathematik Graphentheorie (Übersicht)

1 Kürzeste Pfade in Graphen

Approximationsalgorithmen

Diskrete Mathematik 1 WS 2008/09

Anhang: Ungarische Methode

Datenstrukturen und Algorithmen SS07

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

9 Minimum Spanning Trees

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

Minimal spannende Bäume

Effiziente Algorithmen I 11. Übungsblatt, Wintersemester 2015/16 Abgabetermin:

Datenstrukturen und Algorithmen (SS 2013)

Kombinatorische Optimierung

Zuordnungsproblem. Beispiele. Mathematisches Modell. Lösungsmethoden. auch Ernennungs-, Zuweisungs-, Assignmentproblem

Rundreiseproblem und Stabilität von Approximationsalg.

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

Die Ungarische Methode für das Assignmentproblem

Kombinatorische Optimierung

Wie wird ein Graph dargestellt?

NP-vollständige Probleme

6. Flüsse und Zuordnungen

WS 2008/09. Diskrete Strukturen

Transkript:

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 Graphen II 06.06.2016 2 / 42

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

Gliederung Einführung Maximales Matching Minimales Vertex Cover Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 2 / 42

Gliederung Einführung Maximales Matching Minimales Vertex Cover Ungarische Methode Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 2 / 42

Gliederung Einführung Maximales Matching Minimales Vertex Cover Ungarische Methode Stabiles Heiraten Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 2 / 42

Gliederung Einführung Maximales Matching Minimales Vertex Cover Ungarische Methode Stabiles Heiraten Quellen Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 2 / 42

Gliederung Einführung Maximales Matching Minimales Vertex Cover Ungarische Methode Stabiles Heiraten Quellen Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 3 / 42

Einführung Definition bipartiter Graph G=(V,E), wobei gilt: Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 4 / 42

Einführung Definition bipartiter Graph G=(V,E), wobei gilt: V = L R, ( : disjunkte Vereinigung) Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 4 / 42

Einführung Definition bipartiter Graph G=(V,E), wobei gilt: V = L R, ( : disjunkte Vereinigung) e = {u, v} E : (u L v R) Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 4 / 42

Einführung Definition bipartiter Graph G=(V,E), wobei gilt: V = L R, ( : disjunkte Vereinigung) e = {u, v} E : (u L v R) Graph, der sich in zwei Mengen aufteilen lässt Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 4 / 42

Bipartit?? Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 5 / 42

Bipartit? Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 5 / 42

Bipartit? Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 5 / 42

Anwendungen Aufgabenverteilung Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 6 / 42

Anwendungen Aufgabenverteilung Paarbildung Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 6 / 42

Anwendungen Aufgabenverteilung Paarbildung Petri-Netze Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 6 / 42

Gliederung Einführung Maximales Matching Minimales Vertex Cover Ungarische Methode Stabiles Heiraten Quellen Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 7 / 42

Definitionen Matching Ein Matching M E ist eine Menge von Kanten, wobei kein Knoten an zwei Kanten aus M liegt. Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 8 / 42

Definitionen Matching Ein Matching M E ist eine Menge von Kanten, wobei kein Knoten an zwei Kanten aus M liegt. Maximal Ein Matching ist maximal, wenn es kein Matching mit mehr Kanten gibt. Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 8 / 42

Definitionen Matching Ein Matching M E ist eine Menge von Kanten, wobei kein Knoten an zwei Kanten aus M liegt. Maximal Ein Matching ist maximal, wenn es kein Matching mit mehr Kanten gibt. Perfekt Ein Matching ist perfekt, wenn jeder Knoten an einer Kante in M liegt. Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 8 / 42

Beispiel Wie findet man ein maximales Matching in Bipartitem Graph? Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 9 / 42

Beispiel Wie findet man ein maximales Matching in Bipartitem Graph? Lösung: Zurückführen auf maximalen Fluss Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 9 / 42

Beispiel Wie findet man ein maximales Matching in Bipartitem Graph? Lösung: Zurückführen auf maximalen Fluss Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 9 / 42

Maximales Matching Flussgraph Residualgraph Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 10 / 42

Maximales Matching Flussgraph Residualgraph Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 10 / 42

Maximales Matching Flussgraph Residualgraph Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 10 / 42

Maximales Matching Flussgraph Residualgraph Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 10 / 42

Maximales Matching Flussgraph Residualgraph Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 10 / 42

Maximales Matching Flussgraph Residualgraph Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 10 / 42

Maximales Matching Flussgraph Residualgraph Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 10 / 42

Maximales Matching Flussgraph Residualgraph Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 10 / 42

Maximales Matching Flussgraph Residualgraph Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 10 / 42

Laufzeit Ford-Fulkerson: O( E f ) Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 11 / 42

Laufzeit Ford-Fulkerson: O( E f ) f : maximaler Fluss Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 11 / 42

Laufzeit Ford-Fulkerson: O( E f ) f : maximaler Fluss in Bipartitem Graph: f = V Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 11 / 42

Laufzeit Ford-Fulkerson: O( E f ) f : maximaler Fluss in Bipartitem Graph: f = V Maximales Matching in O( V E ) Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 11 / 42

Gliederung Einführung Maximales Matching Minimales Vertex Cover Ungarische Methode Stabiles Heiraten Quellen Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 12 / 42

Minimales Vertex Cover Vertex Cover Ein Vertex Cover U V ist eine Menge von Knoten, wobei jede Kante an einem Knoten aus U liegt. Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 13 / 42

Minimales Vertex Cover Vertex Cover Ein Vertex Cover U V ist eine Menge von Knoten, wobei jede Kante an einem Knoten aus U liegt. Minimal Ein Vertex Cover ist minimal, wenn es kein Vertex Cover mit weniger Knoten gibt. Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 13 / 42

Bestimmen des minimalen VC Berechne maximales Matching M Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 14 / 42

Bestimmen des minimalen VC Berechne maximales Matching M Füge alle nicht am Matching beteiligten Knoten aus L zu Menge T hinzu Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 14 / 42

Bestimmen des minimalen VC Berechne maximales Matching M Füge alle nicht am Matching beteiligten Knoten aus L zu Menge T hinzu Solange sich T vergrößert: Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 14 / 42

Bestimmen des minimalen VC Berechne maximales Matching M Füge alle nicht am Matching beteiligten Knoten aus L zu Menge T hinzu Solange sich T vergrößert: Gehe auf Kanten / M nach rechts Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 14 / 42

Bestimmen des minimalen VC Berechne maximales Matching M Füge alle nicht am Matching beteiligten Knoten aus L zu Menge T hinzu Solange sich T vergrößert: Gehe auf Kanten / M nach rechts Gehe auf Kanten M nach links Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 14 / 42

Bestimmen des minimalen VC Berechne maximales Matching M Füge alle nicht am Matching beteiligten Knoten aus L zu Menge T hinzu Solange sich T vergrößert: Gehe auf Kanten / M nach rechts Gehe auf Kanten M nach links Füge alle erreichten Knoten zu T hinzu Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 14 / 42

Bestimmen des minimalen VC Berechne maximales Matching M Füge alle nicht am Matching beteiligten Knoten aus L zu Menge T hinzu Solange sich T vergrößert: Gehe auf Kanten / M nach rechts Gehe auf Kanten M nach links Füge alle erreichten Knoten zu T hinzu Minimales Vertex Cover U Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 14 / 42

Bestimmen des minimalen VC Berechne maximales Matching M Füge alle nicht am Matching beteiligten Knoten aus L zu Menge T hinzu Solange sich T vergrößert: Gehe auf Kanten / M nach rechts Gehe auf Kanten M nach links Füge alle erreichten Knoten zu T hinzu Minimales Vertex Cover U = (L \ T ) (R T ) Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 14 / 42

Bestimmen des minimalen VC Berechne maximales Matching M Füge alle nicht am Matching beteiligten Knoten aus L zu Menge T hinzu Solange sich T vergrößert: Gehe auf Kanten / M nach rechts Gehe auf Kanten M nach links Füge alle erreichten Knoten zu T hinzu Minimales Vertex Cover U = (L \ T ) (R T ) Alle nicht markierten Knoten aus L und alle markierten Knoten aus R Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 14 / 42

Beispiel Gesucht: minimales Vertex Cover Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 15 / 42

Beispiel 1. Berechne maximales Matching Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 15 / 42

Beispiel 1. Berechne maximales Matching Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 15 / 42

Beispiel 2. Füge alle nicht am Matching beteiligten Knoten aus L zu Menge T hinzu Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 15 / 42

Beispiel 2. Füge alle nicht am Matching beteiligten Knoten aus L zu Menge T hinzu Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 15 / 42

Beispiel 3.1 Gehe auf Kanten / Matching nach rechts Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 15 / 42

Beispiel 3.1 Gehe auf Kanten / Matching nach rechts Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 15 / 42

Beispiel 3.3 Füge alle erreichten Knoten zu T hinzu Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 15 / 42

Beispiel 3.3 Füge alle erreichten Knoten zu T hinzu Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 15 / 42

Beispiel 3.2 Gehe auf Kanten Matching nach links Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 15 / 42

Beispiel 3.2 Gehe auf Kanten Matching nach links Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 15 / 42

Beispiel 3.3 Füge alle erreichten Knoten zu T hinzu Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 15 / 42

Beispiel 3.3 Füge alle erreichten Knoten zu T hinzu Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 15 / 42

Beispiel 3.1 Gehe auf Kanten / Matching nach rechts Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 15 / 42

Beispiel 3.1 Gehe auf Kanten / Matching nach rechts Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 15 / 42

Beispiel 3.3 Füge alle erreichten Knoten zu T hinzu Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 15 / 42

Beispiel T hat sich nicht vergrößert Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 15 / 42

Beispiel T hat sich nicht vergrößert Minimales Vertex Cover: Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 15 / 42

Beispiel T hat sich nicht vergrößert Minimales Vertex Cover: Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 15 / 42

Zusammenhang VC-Matching Satz von König In einem bipartiten Graphcn ist die Anzahl an Knoten in einem minimalem Vertex Cover gleich der Anzahl an Kanten in einem maximalen Matching. Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 16 / 42

Gliederung Einführung Maximales Matching Minimales Vertex Cover Ungarische Methode Stabiles Heiraten Quellen Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 17 / 42

Assignment-Problem Arbeiter L und Aufträge R Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 18 / 42

Assignment-Problem Arbeiter L und Aufträge R Jeder Arbeiter kann jeden Auftrag bearbeiten Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 18 / 42

Assignment-Problem Arbeiter L und Aufträge R Jeder Arbeiter kann jeden Auftrag bearbeiten Aber die jeweiligen Kosten variieren Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 18 / 42

Assignment-Problem Arbeiter L und Aufträge R Jeder Arbeiter kann jeden Auftrag bearbeiten Aber die jeweiligen Kosten variieren Gesamtkosten so gering wie möglich halten Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 18 / 42

Ungarische Methode Löst das Assignment-Problem Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 19 / 42

Ungarische Methode Löst das Assignment-Problem Minimiert Gesamtkosten Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 19 / 42

Ungarische Methode Löst das Assignment-Problem Minimiert Gesamtkosten Benutzt maximales Matching und minimales Vertex Cover Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 19 / 42

Ungarische Methode Löst das Assignment-Problem Minimiert Gesamtkosten Benutzt maximales Matching und minimales Vertex Cover Läuft in O(n 4 ) Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 19 / 42

Ungarische Methode Löst das Assignment-Problem Minimiert Gesamtkosten Benutzt maximales Matching und minimales Vertex Cover Läuft in O(n 4 ) Voraussetzung: nichtnegative Kantengewichte Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 19 / 42

Vorarbeiten Beispiel: WG-Putzplan Alfred Bertram Chris Dieter Esszimmer Fegen Geschirrspüler Hausmüll Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 20 / 42

Vorarbeiten Beispiel: WG-Putzplan Maximiere Prioritäten Alfred Bertram Chris Dieter Esszimmer Fegen Geschirrspüler Hausmüll Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 20 / 42

Vorarbeiten Beispiel: WG-Putzplan Maximiere Prioritäten Esszimmer Fegen Geschirrspüler Hausmüll Alfred -5-4 -6-6 Bertram -2 1-4 -5 Chris -3 2-1 -6 Dieter 1 0 1-3 Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 20 / 42

Vorarbeiten Beispiel: WG-Putzplan Maximiere Prioritäten E F G H A -5-4 -6-6 B -2 1-4 -5 C -3 2-1 -6 D 1 0 1-3 Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 20 / 42

Vorarbeiten 0.1 Addiere Betrag des kleinsten Wertes auf alle Werte E F G H A -5-4 -6-6 B -2 1-4 -5 C -3 2-1 -6 D 1 0 1-3 Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 21 / 42

Vorarbeiten 0.1 Addiere Betrag des kleinsten Wertes auf alle Werte E F G H A -5-4 -6-6 B -2 1-4 -5 C -3 2-1 -6 D 1 0 1-3 Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 21 / 42

Vorarbeiten 0.1 Addiere Betrag des kleinsten Wertes auf alle Werte E F G H A 1 2 0 0 B 4 7 2 1 C 3 8 5 0 D 7 6 7 3 Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 21 / 42

Vorarbeiten 0.2 Ziehe jede Zelle vom Maximum ab E F G H A 1 2 0 0 B 4 7 2 1 C 3 8 5 0 D 7 6 7 3 Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 21 / 42

Vorarbeiten 0.2 Ziehe jede Zelle vom Maximum ab E F G H A 1 2 0 0 B 4 7 2 1 C 3 8 5 0 D 7 6 7 3 Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 21 / 42

Vorarbeiten 0.2 Ziehe jede Zelle vom Maximum ab E F G H A 7 6 8 8 B 4 1 6 7 C 5 0 3 8 D 1 2 1 5 Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 21 / 42

Algorithmus Zeilen-/Spaltenminimierung Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 22 / 42

Algorithmus Zeilen-/Spaltenminimierung Solange kein perfektes Matching gefunden wurde: Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 22 / 42

Algorithmus Zeilen-/Spaltenminimierung Solange kein perfektes Matching gefunden wurde: Finde maximales Matching Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 22 / 42

Algorithmus Zeilen-/Spaltenminimierung Solange kein perfektes Matching gefunden wurde: Finde maximales Matching Bei perfektem Matching: Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 22 / 42

Algorithmus Zeilen-/Spaltenminimierung Solange kein perfektes Matching gefunden wurde: Finde maximales Matching Bei perfektem Matching: Optimale Lösung gefunden Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 22 / 42

Algorithmus Zeilen-/Spaltenminimierung Solange kein perfektes Matching gefunden wurde: Finde maximales Matching Bei perfektem Matching: Optimale Lösung gefunden Finde minimales Vertex Cover des Matchings Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 22 / 42

Algorithmus Zeilen-/Spaltenminimierung Solange kein perfektes Matching gefunden wurde: Finde maximales Matching Bei perfektem Matching: Optimale Lösung gefunden Finde minimales Vertex Cover des Matchings Minimiere Kanten Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 22 / 42

Ungarische Methode 1. Zeilen-/Spaltenminimierung E F G H A 7 6 8 8 B 4 1 6 7 C 5 0 3 8 D 1 2 1 5 Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 23 / 42

Ungarische Methode 1. Zeilen-/Spaltenminimierung E F G H A 7 6 8 8-6 B 4 1 6 7-1 C 5 0 3 8-0 D 1 2 1 5-1 Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 23 / 42

Ungarische Methode 1. Zeilen-/Spaltenminimierung E F G H A 1 0 2 2 B 3 0 5 6 C 5 0 3 8 D 0 1 0 4 Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 23 / 42

Ungarische Methode 1. Zeilen-/Spaltenminimierung E F G H A 1 0 2 2 B 3 0 5 6 C 5 0 3 8 D 0 1 0 4-0 -0-0 -2 Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 23 / 42

Ungarische Methode 1. Zeilen-/Spaltenminimierung E F G H A 1 0 2 0 B 3 0 5 4 C 5 0 3 6 D 0 1 0 2 Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 23 / 42

Ungarische Methode 2. Finde maximales Matching E F G H A 1 0 2 0 B 3 0 5 4 C 5 0 3 6 D 0 1 0 2 Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 24 / 42

Ungarische Methode 2. Finde maximales Matching E F G H A 1 0 2 0 B 3 0 5 4 C 5 0 3 6 D 0 1 0 2 Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 24 / 42

Ungarische Methode 2. Finde maximales Matching E F G H A 1 0 2 0 B 3 0 5 4 C 5 0 3 6 D 0 1 0 2 Perfekt? Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 24 / 42

Ungarische Methode 2. Finde maximales Matching E F G H A 1 0 2 0 B 3 0 5 4 C 5 0 3 6 D 0 1 0 2 Perfekt? Nein. Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 24 / 42

Ungarische Methode 2. Finde maximales Matching E F G H A 1 0 2 0 B 3 0 5 4 C 5 0 3 6 D 0 1 0 2 Perfekt? Nein. Schritt 3 Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 24 / 42

Ungarische Methode 3. Finde minimales Vertex Cover E F G H A 1 0 2 0 B 3 0 5 4 C 5 0 3 6 D 0 1 0 2 Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 25 / 42

Ungarische Methode 3. Finde minimales Vertex Cover E F G H A 1 0 2 0 B 3 0 5 4 C 5 0 3 6 D 0 1 0 2 Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 25 / 42

Ungarische Methode 4. Minimiere Kanten E F G H A 1 0 2 0 B 3 0 5 4 C 5 0 3 6 D 0 1 0 2 Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 26 / 42

Ungarische Methode 4. Minimiere Kanten Suche Minimum in nicht überdeckten Zellen E F G H A 1 0 2 0 B 3 0 5 4 C 5 0 3 6 D 0 1 0 2 Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 26 / 42

Ungarische Methode 4. Minimiere Kanten Suche Minimum in nicht überdeckten Zellen E F G H A 1 0 2 0 B 3 0 5 4 C 5 0 3 6 D 0 1 0 2 Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 26 / 42

Ungarische Methode 4. Minimiere Kanten Subtrahiere Minimum in nicht überdeckten Zellen und addiere Minimum in doppelt überdeckten Zellen E F G H A 1 0 2 0 B 3 0 5 4 C 5 0 3 6 D 0 1 0 2 Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 26 / 42

Ungarische Methode 4. Minimiere Kanten Subtrahiere Minimum in nicht überdeckten Zellen und addiere Minimum in doppelt überdeckten Zellen E F G H A 1 0 2 0 B 3 0 5 4-3 C 5 0 3 6-3 D 0 1 0 2 Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 26 / 42

Ungarische Methode 4. Minimiere Kanten Subtrahiere Minimum in nicht überdeckten Zellen und addiere Minimum in doppelt überdeckten Zellen E F G H A 1 0 2 0 B 3 0 5 4-3 C 5 0 3 6-3 D 0 1 0 2 +3 Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 26 / 42

Ungarische Methode 4. Minimiere Kanten Subtrahiere Minimum in nicht überdeckten Zellen und addiere Minimum in doppelt überdeckten Zellen E F G H A 1 3 2 0 B 0 0 2 1 C 2 0 0 3 D 0 4 0 2 Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 26 / 42

Ungarische Methode 2. Finde maximales Matching E F G H A 1 3 2 0 B 0 0 2 1 C 2 0 0 3 D 0 4 0 2 Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 27 / 42

Ungarische Methode 2. Finde maximales Matching E F G H A 1 3 2 0 B 0 0 2 1 C 2 0 0 3 D 0 4 0 2 Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 27 / 42

Ungarische Methode 2. Finde maximales Matching E F G H A 1 3 2 0 B 0 0 2 1 C 2 0 0 3 D 0 4 0 2 Perfektes Matching gefunden Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 27 / 42

Ungarische Methode 2. Finde maximales Matching E F G H A 1 3 2 0 B 0 0 2 1 C 2 0 0 3 D 0 4 0 2 Perfektes Matching gefunden Algorithmus terminiert Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 27 / 42

Ungarische Methode WG-Putzplan Esszimmer Fegen Geschirrspüler Hausmüll Alfred -5-4 -6-6 Bertram -2 1-4 -5 Chris -3 2-1 -6 Dieter 1 0 1-3 Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 28 / 42

Ungarische Methode WG-Putzplan Esszimmer Fegen Geschirrspüler Hausmüll Alfred -5-4 -6-6 Bertram -2 1-4 -5 Chris -3 2-1 -6 Dieter 1 0 1-3 Gesamtspaß wurde auf -5 maximiert Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 28 / 42

Laufzeit Zeilen-/Spaltenminimierung Solange kein perfektes Matching gefunden wurde: Finde maximales Matching Bei perfektem Matching: Optimale Lösung gefunden Finde minimales VC des Matchings Minimiere Kanten Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 29 / 42

Laufzeit Zeilen-/Spaltenminimierung O(n 2 ) Solange kein perfektes Matching gefunden wurde: Finde maximales Matching Bei perfektem Matching: Optimale Lösung gefunden Finde minimales VC des Matchings Minimiere Kanten Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 29 / 42

Laufzeit Zeilen-/Spaltenminimierung O(n 2 ) Solange kein perfektes Matching gefunden wurde: O(n 2 ) Finde maximales Matching Bei perfektem Matching: Optimale Lösung gefunden Finde minimales VC des Matchings Minimiere Kanten Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 29 / 42

Laufzeit Zeilen-/Spaltenminimierung O(n 2 ) Solange kein perfektes Matching gefunden wurde: O(n 2 ) Finde maximales Matching O( V E ) Bei perfektem Matching: Optimale Lösung gefunden Finde minimales VC des Matchings Minimiere Kanten Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 29 / 42

Laufzeit Zeilen-/Spaltenminimierung O(n 2 ) Solange kein perfektes Matching gefunden wurde: O(n 2 ) Finde maximales Matching O(n 3 ) Bei perfektem Matching: Optimale Lösung gefunden Finde minimales VC des Matchings Minimiere Kanten Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 29 / 42

Laufzeit Zeilen-/Spaltenminimierung O(n 2 ) Solange kein perfektes Matching gefunden wurde: O(n 2 ) Finde maximales Matching O(n 3 ) Bei perfektem Matching: Optimale Lösung gefunden Finde minimales VC des Matchings O(n 2 ) Minimiere Kanten Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 29 / 42

Laufzeit Zeilen-/Spaltenminimierung O(n 2 ) Solange kein perfektes Matching gefunden wurde: O(n 2 ) Finde maximales Matching O(n 3 ) Bei perfektem Matching: Optimale Lösung gefunden Finde minimales VC des Matchings O(n 2 ) Minimiere Kanten O(n 2 ) Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 29 / 42

Laufzeit Zeilen-/Spaltenminimierung O(n 2 ) Solange kein perfektes Matching gefunden wurde: O(n 2 ) Finde maximales Matching O(n 3 ) Bei perfektem Matching: Optimale Lösung gefunden Finde minimales VC des Matchings O(n 2 ) Minimiere Kanten O(n 2 ) Gesamtlaufzeit O(n 5 ) Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 29 / 42

Optimierungen Verwenden des letzten Matchings verringert Laufzeit von Schritt 2 auf O(n 2 ) Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 30 / 42

Optimierungen Verwenden des letzten Matchings verringert Laufzeit von Schritt 2 auf O(n 2 ) Gesamt: O(n 4 ) Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 30 / 42

Optimierungen Verwenden des letzten Matchings verringert Laufzeit von Schritt 2 auf O(n 2 ) Gesamt: O(n 4 ) Komplexe Implementierung in O(n 3 ) existiert Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 30 / 42

Gliederung Einführung Maximales Matching Minimales Vertex Cover Ungarische Methode Stabiles Heiraten Quellen Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 31 / 42

Stabiles Heiraten Zwei zu verheiratende Gruppen: Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 32 / 42

Stabiles Heiraten Zwei zu verheiratende Gruppen: Alfred Bertram Chris Dieter Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 32 / 42

Stabiles Heiraten Zwei zu verheiratende Gruppen: Alfred Bertram Chris Dieter Elke Frauke Gertrud Hannah Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 32 / 42

Stabiles Heiraten Prioritätslisten von jeder Person: Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 33 / 42

Stabiles Heiraten Prioritätslisten von jeder Person: Alfred Bertram Chris Dieter Elfriede Hannah Elfriede Elfriede Gertrud Gertrud Hannah Hannah Frauke Elfriede Gertrud Gertrud Hannah Frauke Frauke Frauke Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 33 / 42

Stabiles Heiraten Prioritätslisten von jeder Person: Alfred Bertram Chris Dieter Elfriede Hannah Elfriede Elfriede Gertrud Gertrud Hannah Hannah Frauke Elfriede Gertrud Gertrud Hannah Frauke Frauke Frauke Elfriede Frauke Gertrud Hannah Chris Chris Bertram Dieter Bertram Bertram Chris Chris Dieter Dieter Alfred Bertram Alfred Alfred Dieter Alfred Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 33 / 42

Stabiles Heiraten Instabil Es gibt eine Person A, die eine andere Person B mehr mag als ihren Partner und Person B mag Person A mehr als ihren Partner Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 34 / 42

Stabiles Heiraten Instabil Es gibt eine Person A, die eine andere Person B mehr mag als ihren Partner und Person B mag Person A mehr als ihren Partner Ziel: Paare so bilden, dass sie zusammenbleiben (nicht instabil sind). Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 34 / 42

1. Tag Männer machen ihren ersten Prioritäten einen Antrag. Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 35 / 42

1. Tag Männer machen ihren ersten Prioritäten einen Antrag. Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 35 / 42

1. Tag Männer machen ihren ersten Prioritäten einen Antrag. Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 35 / 42

1. Tag Männer machen ihren ersten Prioritäten einen Antrag. Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 35 / 42

1. Tag Männer machen ihren ersten Prioritäten einen Antrag. Frauen suchen ihre höchsten Prioritäten aus. Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 35 / 42

1. Tag Männer machen ihren ersten Prioritäten einen Antrag. Frauen suchen ihre höchsten Prioritäten aus. Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 35 / 42

1. Tag Männer machen ihren ersten Prioritäten einen Antrag. Frauen suchen ihre höchsten Prioritäten aus. Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 35 / 42

1. Tag Männer machen ihren ersten Prioritäten einen Antrag. Frauen suchen ihre höchsten Prioritäten aus. Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 35 / 42

2. Tag Noch freie Männer machen ihren nächsten Prioritäten einen Antrag. Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 36 / 42

2. Tag Noch freie Männer machen ihren nächsten Prioritäten einen Antrag. Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 36 / 42

2. Tag Noch freie Männer machen ihren nächsten Prioritäten einen Antrag. Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 36 / 42

2. Tag Noch freie Männer machen ihren nächsten Prioritäten einen Antrag. Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 36 / 42

2. Tag Noch freie Männer machen ihren nächsten Prioritäten einen Antrag. Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 36 / 42

2. Tag Noch freie Männer machen ihren nächsten Prioritäten einen Antrag. Frauen wechseln bei besseren Aussichten Mann. Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 36 / 42

2. Tag Noch freie Männer machen ihren nächsten Prioritäten einen Antrag. Frauen wechseln bei besseren Aussichten Mann. Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 36 / 42

2. Tag Noch freie Männer machen ihren nächsten Prioritäten einen Antrag. Frauen wechseln bei besseren Aussichten Mann. Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 36 / 42

2. Tag Noch freie Männer machen ihren nächsten Prioritäten einen Antrag. Frauen wechseln bei besseren Aussichten Mann. Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 36 / 42

2. Tag Noch freie Männer machen ihren nächsten Prioritäten einen Antrag. Frauen wechseln bei besseren Aussichten Mann. Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 36 / 42

3. Tag Noch freie Männer machen ihren nächsten Prioritäten einen Antrag. Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 37 / 42

3. Tag Noch freie Männer machen ihren nächsten Prioritäten einen Antrag. Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 37 / 42

3. Tag Noch freie Männer machen ihren nächsten Prioritäten einen Antrag. Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 37 / 42

3. Tag Noch freie Männer machen ihren nächsten Prioritäten einen Antrag. Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 37 / 42

3. Tag Noch freie Männer machen ihren nächsten Prioritäten einen Antrag. Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 37 / 42

3. Tag Noch freie Männer machen ihren nächsten Prioritäten einen Antrag. Frauen wechseln bei besseren Aussichten Mann. Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 37 / 42

3. Tag Noch freie Männer machen ihren nächsten Prioritäten einen Antrag. Frauen wechseln bei besseren Aussichten Mann. Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 37 / 42

3. Tag Noch freie Männer machen ihren nächsten Prioritäten einen Antrag. Frauen wechseln bei besseren Aussichten Mann. Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 37 / 42

3. Tag Noch freie Männer machen ihren nächsten Prioritäten einen Antrag. Frauen wechseln bei besseren Aussichten Mann. Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 37 / 42

3. Tag Noch freie Männer machen ihren nächsten Prioritäten einen Antrag. Frauen wechseln bei besseren Aussichten Mann. Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 37 / 42

4. Tag Noch freie Männer machen ihren nächsten Prioritäten einen Antrag. Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 38 / 42

4. Tag Noch freie Männer machen ihren nächsten Prioritäten einen Antrag. Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 38 / 42

4. Tag Noch freie Männer machen ihren nächsten Prioritäten einen Antrag. Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 38 / 42

4. Tag Noch freie Männer machen ihren nächsten Prioritäten einen Antrag. Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 38 / 42

4. Tag Noch freie Männer machen ihren nächsten Prioritäten einen Antrag. Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 38 / 42

4. Tag Noch freie Männer machen ihren nächsten Prioritäten einen Antrag. Frauen wechseln bei besseren Aussichten Mann. Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 38 / 42

4. Tag Noch freie Männer machen ihren nächsten Prioritäten einen Antrag. Frauen wechseln bei besseren Aussichten Mann. Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 38 / 42

4. Tag Noch freie Männer machen ihren nächsten Prioritäten einen Antrag. Frauen wechseln bei besseren Aussichten Mann. Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 38 / 42

4. Tag Noch freie Männer machen ihren nächsten Prioritäten einen Antrag. Frauen wechseln bei besseren Aussichten Mann. Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 38 / 42

4. Tag Noch freie Männer machen ihren nächsten Prioritäten einen Antrag. Frauen wechseln bei besseren Aussichten Mann. Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 38 / 42

Analyse Terminierung: Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 39 / 42

Analyse Terminierung: Spätestens wenn jeder Mann alle Anträge gemacht hat Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 39 / 42

Analyse Terminierung: Spätestens wenn jeder Mann alle Anträge gemacht hat Laufzeit: Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 39 / 42

Analyse Terminierung: Spätestens wenn jeder Mann alle Anträge gemacht hat Laufzeit: O(n 2 ) Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 39 / 42

Analyse Terminierung: Spätestens wenn jeder Mann alle Anträge gemacht hat Laufzeit: O(n 2 ) Stabilität: Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 39 / 42

Analyse Terminierung: Spätestens wenn jeder Mann alle Anträge gemacht hat Laufzeit: O(n 2 ) Stabilität: Jeder Mann bekommt die schlechtmöglichste Frau Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 39 / 42

Analyse Terminierung: Spätestens wenn jeder Mann alle Anträge gemacht hat Laufzeit: O(n 2 ) Stabilität: Jeder Mann bekommt die schlechtmöglichste Frau Jede Frau bekommt den bestmöglichen Mann Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 39 / 42

Analyse Terminierung: Spätestens wenn jeder Mann alle Anträge gemacht hat Laufzeit: O(n 2 ) Stabilität: Jeder Mann bekommt die schlechtmöglichste Frau Jede Frau bekommt den bestmöglichen Mann Eine Gruppe wird benachteiligt: Antragsteller Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 39 / 42

Gliederung Einführung Maximales Matching Minimales Vertex Cover Ungarische Methode Stabiles Heiraten Quellen Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 40 / 42

Quellen Cormen/Leiserson/Rivest: Introduction to Algorithms Kolman/Beck: Elementary Linear Programming with Applications Numberphile: Stable Marriage Problem Topcoder: Assignment Problem and Hungarian Algorithm Vergangene Hallo Welt Vorträge: Jana Martschinke: Flüsse, Schnitte, bipartite Graphen I Lukas Dresel: Flüsse, Schnitte, bipartite Graphen II Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 41 / 42

Das wars! Fragen? Fragen! Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 42 / 42