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

Ähnliche Dokumente
WS 2013/14. Diskrete Strukturen

Formale Grundlagen der Informatik

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

Welches Problem denn? Das Heiratsproblem. Formale Beschreibung. Paarungen

WS 2009/10. Diskrete Strukturen

Wiederholung zu Flüssen

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

WS 2009/10. Diskrete Strukturen

Diskrete Strukturen Kapitel 2: Grundlagen (Beweise)

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

Algorithmische Graphentheorie

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

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

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Diskrete Strukturen Kapitel 2: Grundlagen (Relationen)

Kombinatorische Optimierung

Klausur Informatik-Propädeutikum (Niedermeier/Hartung/Nichterlein, Wintersemester 2012/13)

Minimal spannender Baum

Technische Universität München Zentrum Mathematik Propädeutikum Diskrete Mathematik. Weihnachtsblatt

Diskrete Strukturen Kapitel 1: Einleitung

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

Flüsse, Schnitte, Bipartite Graphen II

Kombinatorische Optimierung

Graphenalgorithmen. Kurz-Vorstellung. Forschungsinteressen. Algorithm Engineering. Themen der VO: Probleme

Flüsse, Schnitte, bipartite Graphen

Systems of Distinct Representatives

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Graphen und Algorithmen

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

Alle bislang betrachteten Sortieralgorithmen hatten (worst-case) Laufzeit Ω(nlog(n)).

Matching markets Seminar maschinelles Lernen WS 10/11

Minimal spannende Bäume

1. Einleitung wichtige Begriffe

WS 2008/09. Diskrete Strukturen

Vier-Farben-Vermutung (1)

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

Vollständiger Graph. Definition 1.5. Sei G =(V,E) ein Graph. Gilt {v, w} E für alle v, w V,v w, dann heißt G vollständig (complete).

3 Klassifikation wichtiger Optimierungsprobleme

William Rowan Hamilton,

Das Briefträgerproblem

Eulerweg, Eulerkreis. Das Königsberger Brückenproblem. Definition 3.1. Ein Weg, der jede Kante von G genau einmal

Kapitel 5: Minimale spannende Bäume Gliederung der Vorlesung

Algorithmen für schwierige Probleme

Algorithmentheorie Maximale Flüsse

Übungsblatt 2 - Lösung

KAPITEL 4 FLÜSSE IN NETZWERKEN

Algorithmen für Matching-Märkte

4.7 Der Algorithmus von Dinic für maximalen Fluss

Anmerkungen zur Übergangsprüfung

2. Repräsentationen von Graphen in Computern

22. Algorithmus der Woche Partnerschaftsvermittlung Drum prüfe, wer sich ewig bindet

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

Scheduling und Lineare ProgrammierungNach J. K. Lenstra, D. B. Shmoys und É.

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

Am Dienstag, den 16. Dezember, ist Eulenfest. 1/48

Westfählische Wilhelms-Universität. Eulersche Graphen. Autor: Jan-Hendrik Hoffeld

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

Stefan Schmid TU Berlin & T-Labs, Berlin, Germany. Reduktionen in der Berechenbarkeitstheorie

4 Greedy-Algorithmen (gierige Algorithmen)

3. Musterlösung. Problem 1: Boruvka MST

Graphen und Bäume. A.1 Graphen

ELEMENTARE DISKRETE MATHEMATIK Kapitel 4: Mächtigkeit von Mengen

Algorithmen und Datenstrukturen 2

entheoretische Konzepte und Algorithmen

Ausarbeitung zum Modulabschluss. Graphentheorie. spannende Bäume, bewertete Graphen, optimale Bäume, Verbindungsprobleme

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

10. Vorlesung Spieltheorie in der Nachrichtentechnik

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

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

Baum-Matching in einer Anwendung auf Gefäßsysteme im menschlichen Körper (Andre Bläul)

Algorithmen zur Berechnung von Matchings

Die Verbindung von Linearer Programmierung und Graphentheorie

5. Verschiedene Repräsentanten

Algorithmen und Datenstrukturen Kapitel 10

Dynamische Programmierung. Problemlösungsstrategie der Informatik

Notizen zu Transformationen und Permutationen. T (A) = {f : A A}

Algorithmen II Vorlesung am

Durchschnitt von Matroiden

WS 2009/10. Diskrete Strukturen

9. Übung Algorithmen I

Verteilen von Bällen auf Urnen

ADS: Algorithmen und Datenstrukturen 2

Dijkstra, Kalmann und der Heiratssatz. Anwendung von Algorithmen am Beispiel der innovativen Mobilitätslösung car2go

Algorithmische Mathematik

Algebra I. Also sind die vier angebenen Gruppen paarweise nicht isomorph.

Überblick. TSP Vergleich der Lösungen. Das Travelling Salesman Problem. Nearest-Neighbor Heuristik für TSP

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

Vervollständigung Lateinischer Quadrate

Gemischt-ganzzahlige und Kombinatorische Optimierung

Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Probleme über Sprachen. Teil II.

Diskrete Strukturen. Hausaufgabe 1 (5 Punkte)

Freie Universität Berlin. Diskrete Mathematik. Ralf Borndörfer, Stephan Schwartz. Freie Universität. 08. April 2013

Grundbegriffe der Informatik

WS 2009/10. Diskrete Strukturen

2 Tiefen- und Breitensuche

6. Flüsse und Zuordnungen

Very simple methods for all pairs network flow analysis

Vorlesung Diskrete Strukturen Eulersche und Hamiltonsche Graphen

5 Graphen und Polyeder

8 Diskrete Optimierung

Transkript:

WS 2015/16 Diskrete Strukturen Kapitel 4: Graphen (Matchings) Hans-Joachim Bungartz Lehrstuhl für wissenschaftliches Rechnen Fakultät für Informatik Technische Universität München http://www5.in.tum.de/wiki/index.php/diskrete_strukturen_-_winter_15

Graphentheorie Grundlagen Bäume Euler- und Hamiltonkreise Planarität und Färbungen Matchings 2

Das Heiratsproblem: Gegeben seien heiratswillige Damen und Herren. Jede Dame gibt an, mit welchem der Herren sie sich eventuell vermählen würde. Das Problem besteht nun darin, möglichst viele Damen so zu verheiraten, dass jede Dame einen Herren ihrer Wahl erhält, und dass selbstverständlich keine zwei Damen mit demselben Herrn verheiratet sind. 3

Das Heiratsproblem: Der einer konkreten Situation zugrunde liegende bipartite Graph. Das Problem: Finde eine maximale Menge M von Kanten, sodass keine zwei Kanten aus M einen gemeinsamen Endknoten haben. 4

Job-Zuordnung: Gegeben m Arbeitnehmer mit unterschiedlichen Fähigkeiten und n Jobs. Gesucht ist eine Zuordnung, sodass möglichst viele Jobs vermittelt werden. 5

Job-Zuordnung: Gesucht ist eine Zuordnung, sodass möglichst viele Jobs vermittelt werden. P1 P2 P3 P4 P1 P2 P3 P4 Zuordnung P1 P2 P3 P4 J1 J2 J3 Bipartiter Graph J1 J2 J3 Optimale Zuordnung J1 J2 J3 6

Matchings: Definition: Sei G = (V, E) ein Graph. Ein Matching ist eine Menge M E von paarweise disjunkten Kanten. Ein Maching M ist perfekt, falls jeder Knoten zu (genau) einer Kante von M gehört. Fakt: Ein Matching M ist perfekt gdw. M = V /2. 7

Der Heiratssatz sagt: Jede Dame kann mit einem Wunschkandidaten verheiratet werden genau dann, wenn jede Untermenge von Frauen sich für mindestens genauso viele Männer interessiert. 8

Matchings in bipartiten Graphen. Der Heiratssatz sagt: Jede Dame kann mit einem Wunschkandidaten verheiratet werden genau dann, wenn jede k-untermenge von Damen sich für mindestens k Herren interessiert. 9

Satz (Heiratssatz Hall 1935): Für einen bipartiten Graphen G = (A, B, E) gibt es genau dann ein Matching M der Kardinalität M = A, wenn gilt X X für alle X A. Hierbei ist (X) die Nachbarschaft der Knotenmenge X, d.h. (X) = v X Γ v. 10

Beweis des Heiratssatzes: ( ) Indirekter Beweis: Wenn es ein X A gibt mit X > (X) gibt, dann können nicht alle Knoten aus X zugleich gematcht werden. Es gibt also kein Matching M mit M = A. 11

Vorbereitung für ( ): Definition: Sei M ein Matching. Ein Pfad heißt augmentierend oder Verbesserungspfad bezüglich M, wenn: 1. bei dem Pfad sich gematchte und ungematchte Kanten (bezüglich M) abwechseln (wir sagen, dass der Pfad alternierend ist), und 2. Anfangs- und Endknoten ungematcht sind. 12

13

( ): Sei M ein Matching mit M < A. Wir behaupten: Es gibt einen augmentierenden Pfad bezüglich M. Wenn diese Behauptung gilt, dann können die Endknoten des Pfades gematcht werden. Damit gibt es ein neues Matching M mit M = M + 1, und die Aussage folgt. Wir zeigen nun, dass die Behauptung gilt. 14

Beweis der Behauptung: Da M < A, gibt es ein a A, welches in M ungematcht ist. Sei Π n die Menge der alternierenden Pfade aus a mit gerader Länge n. Kann ein Element von Π n zu einem augmentierenden Pfad erweitert werden, dann sind wir fertig. Sonst: Seien A n, B n die Knoten von A, B, die in Π n vorkommen. a 15

Beweis der Behauptung: Da M < A, gibt es ein a A, welches in M ungematcht ist. Sei Π n die Menge der alternierenden Pfade aus a mit gerader Länge n. Kann ein Element von Π n zu einem augmentierenden Pfad erweitert werden, dann sind wir fertig. Sonst: Seien A n, B n die Knoten von A, B, die in Π n vorkommen. a A 2 Π 2 B 2 16

Es gilt: A n > B n. (B n enthält nur gematchte Knoten und A n enthält alle entsprechenden Matches plus a.) Mit Γ A n A n (Annahme) gilt B n Γ A n. Es folgt: Mindestens ein Pfad aus Π n kann zu einem längeren alternierenden Pfad erweitert werden (Π n+2 ). a A 2 Π 2 B 2 17

Da alternierende Pfade jeden Knoten aus A höchstens einmal enthalten, wird irgendwann ein n erreicht, sodass ein Pfad aus Π n zu einem augmentierenden Pfad erweitert werden kann. Damit sind Behauptung und Satz bewiesen. a A 2 Π 2 B 2 18

Aus dem Beweis kann ein Algorithmus zur Berechnung eines perfekten Matchings gewonnen werden: Finde iterativ für jeden noch ungematchten Knoten aus A einen augmentierenden Pfad. Aus dem Heiratssatz kann direkt das folgende Korollar abgeleitet werden. Korollar: Sei G ein k-regulärer bipartiter Graph. Dann enthält G ein perfektes Matching. 19

Stabile Heirat: Seien F, M zwei Mengen von je n Frauen und Männern. Eine Heirat ist ein Matching H { f, m f F, m M}. Jede Person hat eine Präferenzliste für die Personen vom anderen Geschlecht (totale Ordnung auf F bzw. M). Eine Heirat ist stabil, wenn alle Personen verheiratet sind und es keine Paare a, b, a, b H gibt mit: a bevorzugt b vor b und b bevorzugt a vor a. (Sonst lassen sich a und b scheiden und heiraten einander.) 20

Der Gale-Shapley Algorithmus berechnet eine stabile Heirat. Im Algorithmus werden Personen verlobt oder verheiratet. Eine Verlobung darf gelöst werden, eine Heirat nicht. Am Anfang ist niemand verlobt oder verheiratet. Der folgende Schritt wird iteriert, solange es mindestens einen unverlobten Mann b gibt: b macht derjenigen Dame a einen Antrag, die er noch nicht gefragt hatte und er unter diesen Damen bevorzugt. a verlobt sich mit b, wenn sie noch nicht verlobt ist, oder sie b ihrem derzeitigen Verlobten vorzieht. Sind alle Männer verlobt, so heiratet jeder seine Verlobte. 21

Satz (Gale, Shapley 1962): Der Algorithmus berechnet in maximal n 2 Schritten eine stabile Heirat. Beweis: Der Algorithmus terminiert mit einer Heirat. Solange es einen unverlobten Mann b gibt, gibt es auch mindestens eine unverlobte Frau. Da verlobte Frauen verlobt bleiben, haben unverlobte Frauen noch keinen Antrag erhalten, auch nicht von b. Daher gilt in jeder Runde: entweder verlobt sich eine Frau zum ersten Mal, oder sie verbessert sich. Da eine Frau sich höchstens n-mal verbessern kann, sind irgendwann alle Frauen und somit alle Männer verlobt. Der Algorithmus terminiert nach höchstens n 2 Schritten. Ein Mann fragt eine Frau höchstens einmal. 22

Die Heirat ist stabil. Durch Widerspruch: Ist die Heirat instabil, dann gibt es a, b, (a, b ) mit: a bevorzugt b und b bevorzugt a. Da Frauen sich nur verbessern können, hat a keinen Antrag von b erhalten. Der Grund dafür kann nur sein, dass b sich mit einer Frau verlobt hat, die er zu a vorzieht, und diese Verlobung nicht gelöst wurde. Diese Frau kann aber nur a sein, im Widerspruch zur Annahme, dass a diejenige ist, die von b bevorzugt wird. 23

Praktische Anwendungen in der Informatik: Zuordnungsprobleme (Arbeitsvermittlung, Partnervermittlung, ) Analyse und Algorithmen auf großen Daten 24