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 Kapitel IV – Graphentheorie • Graphentheorie – Grundlagen – Bäume – Eigenschaften von Graphen – Graphen-Algorithmen – Matchings 2 Vorlesung Diskrete Strukturen WS 08/09 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel IV – Graphen; Matchings • 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 Vorlesung Diskrete Strukturen WS 08/09 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel IV – Graphen; Matchings • Das Heiratsproblem – Der einer konkreten Situation zugrundeliegende bipartite Graph. – Das Problem: Finde eine maximale Menge M von Kanten, so dass keine zwei Kanten aus M einen gemeinsamen Endknoten haben. 4 Vorlesung Diskrete Strukturen WS 08/09 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel IV – Graphen; Matchings • Job-Zuordnung – Gegeben m Arbeitnehmer mit unterschiedlichen Fähigkeiten und n Jobs. – Gesucht ist eine Zuordnung, so dass möglichst viele Jobs vermittelt werden. 5 Vorlesung Diskrete Strukturen WS 08/09 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel IV – Graphen; Matchings • Job-Zuordnung – Gesucht ist eine Zuordnung, so dass möglichst viele Jobs vermittelt werden. P1 P1 P2 P3 P2 P3 P4 P4 Zuordnung P1 P2 P3 P4 J1 J1 J2 J3 J3 Optimale Zuordnung Bipartiter Graph 6 J2 J1 J2 J3 Vorlesung Diskrete Strukturen WS 08/09 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel IV – Graphen; Matchings • Matchings Definition: Sei G = (V,E) ein Graph. – M E heißt Matching in G, falls alle Kanten in M paarweise disjunkt sind, d.h. kein Knoten ist zu mehr als einer Kante inzident. – Ein Knoten wird von M überdeckt, wenn er inzident zu einer Kante M ist. 7 Vorlesung Diskrete Strukturen WS 08/09 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel IV – Graphen; Matchings • Matchings Definition: Sei G = (V,E) ein Graph. – M heißt perfektes Matching, falls jeder Knoten durch genau eine Kante M überdeckt ist, d.h. |M| = |V| / 2. • D.h., Graphen mit ungerader Anzahl Knoten enthalten kein perfektes Matching. – |M| ist die Größe des Matchings. 8 Vorlesung Diskrete Strukturen WS 08/09 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel IV – Graphen; Matchings • Matching und perfektes Matching: 9 (größtes) Matching eines Sterngraphen Vorlesung Diskrete Strukturen WS 08/09 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel IV – Graphen; Matchings • Matchings in bipartiten Graphen. 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 Vorlesung Diskrete Strukturen WS 08/09 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel IV – Graphen; Matchings • Matchings in bipartiten Graphen. Der Name Heiratssatz stammt daher, dass es nach diesem Satz möglich ist, jede Frau zu verheiraten, wenn es für jede Gruppe von Frauen mindestens genauso viele Männer gibt, die sich für wenigstens eine der Frauen in der Gruppe interessieren. 11 Vorlesung Diskrete Strukturen WS 08/09 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel IV – Graphen; Matchings • Beweis des Heiratssatzes. „ “ Wir beweisen die Kontraposition. Wenn es ein X µ A gibt mit |X| > | (X)| ist, dann können nicht alle Knoten aus X zugleich gematcht werden. Es gibt also kein matching M mit |M| = |A|. 12 Vorlesung Diskrete Strukturen WS 08/09 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel IV – Graphen; Matchings „ “ Wir müssen zeigen: wenn | (X)| |X| für alle X A, dann gibt es ein Matching M mit |M|=|A|. Beweis durch Widespruch. Annahme: es gilt | (X)| |X| für alle X A und es gibt kein Matching M mit |M| = |A|. Sei M´ein Matching maximaler Kardinalität (d.h., kein Matching enthält mehr Kanten). 13 Vorlesung Diskrete Strukturen WS 08/09 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel IV – Graphen; Matchings „ “ Lemma: Es gibt einen Pfad 1. bei dem sich gematchte und ungematchte Kanten (bezüglich M´) abwechseln, und 2. Anfangs- und Endknoten ungematcht sind. Beweis des Lemmas: Da |M´|< |A| gibt es einen Knoten a = a0 A der in M´ ungematcht ist. Wir beginnen in a0 eine Breitensuche wobei wir in den ungeraden Schichten (also von A aus) nur ungematchte und in den geraden Schichten (also von B aus) nur gematchte Kanten verwenden. 14 Vorlesung Diskrete Strukturen WS 08/09 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel IV – Graphen; Matchings Die Breitensuche definiert einen Baum von G. Grafische Darstellung der Vorgehensweise. b1 b0 a2 a1 b2 a5 b5 a6 a3 a0 b3 b4 b6 a7 b7 a8 a4 15 Vorlesung Diskrete Strukturen WS 08/09 Prof. Dr. J. Esparza – Institut für Informatik, TU München b8 Kapitel IV – Graphen; Matchings „ “ Behauptung: wenn nach Vollendung einer geraden Schicht (mit gematchten Kanten) alle Blätter des BFS-Baums gematcht sind, dann kann die alternierende BFS forgesetzt werden. Seien A´ (bzw. B´) die Knoten des aktuellen BFSBaums in A (bzw. B ). Da alle Knoten von B´ mindestens ein Kind in A´ haben, gilt |A´| > |B´|. Mit X=A´ gilt auf Grund der Annahme ¡(A´) ¸ |A´|> |B´|. Damit kann die Suche fortgesetzt werden und die Behauptung gilt. 16 Vorlesung Diskrete Strukturen WS 08/09 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel IV – Graphen; Matchings „ “ Da G endlich ist, muss die BFS irgendwann terminieren. Aus der Behauptung folgt, dass sie nur nach Vollendung einer geraden Schicht (mit gematchten Kanten) terminieren kann, die einen ungematchtes Blatt bi enthält. Dann erfüllt der Pfad, der im Baum von a0 zu bi führt, die Bedingungen 1. und 2. Ende des Beweises des Lemmas. 17 Vorlesung Diskrete Strukturen WS 08/09 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel IV – Graphen; Matchings • „ “ Also existiert ein Pfad wie in folgender Abbildung: u0 v1 u1 v2 u2 uk-1 vk Vertauscht man auf diesem Pfad gematchte und ungematchte Kanten u0 v1 u1 v2 u2 uk-1 vk dann erhält man ein neues Matching M´´ mit |M´| = |M´| + 1, was die Maximalität von M´ widerspricht. 18 Vorlesung Diskrete Strukturen WS 08/09 Prof. Dr. J. Esparza – Institut für Informatik, TU München Kapitel IV – Graphen; Matchings • 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. Beweise: Durch einfaches Nachprüfen! 19 Vorlesung Diskrete Strukturen WS 08/09 Prof. Dr. J. Esparza – Institut für Informatik, TU München