19
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 WS 2008/09 Diskrete Strukturen

WS 2008/09 Diskrete Strukturen - in.tum.de · bipartite Graph. –Das Problem: Finde eine maximale Menge Mvon Kanten, so dass keine zwei Kanten aus M einen gemeinsamen Endknoten haben

  • Upload
    ngokiet

  • View
    221

  • Download
    0

Embed Size (px)

Citation preview

Page 1: WS 2008/09 Diskrete Strukturen - in.tum.de · bipartite Graph. –Das Problem: Finde eine maximale Menge Mvon Kanten, so dass keine zwei Kanten aus M einen gemeinsamen Endknoten haben

Prof. Dr. J. Esparza

Lehrstuhl für Grundlagen derSoftwarezuverlässigkeit und theoretische

InformatikFakultät für Informatik

Technische Universität München

http://www7.in.tum.de/um/courses/ds/ws0809

WS 2008/09

Diskrete Strukturen

Page 2: WS 2008/09 Diskrete Strukturen - in.tum.de · bipartite Graph. –Das Problem: Finde eine maximale Menge Mvon Kanten, so dass keine zwei Kanten aus M einen gemeinsamen Endknoten haben

Vorlesung Diskrete Strukturen WS 08/09Prof. Dr. J. Esparza – Institut für Informatik, TU München

2

Kapitel IV – Graphentheorie• Graphentheorie

– Grundlagen

– Bäume

– Eigenschaften von Graphen

– Graphen-Algorithmen

– Matchings

Page 3: WS 2008/09 Diskrete Strukturen - in.tum.de · bipartite Graph. –Das Problem: Finde eine maximale Menge Mvon Kanten, so dass keine zwei Kanten aus M einen gemeinsamen Endknoten haben

Vorlesung Diskrete Strukturen WS 08/09Prof. Dr. J. Esparza – Institut für Informatik, TU München

3

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.

Page 4: WS 2008/09 Diskrete Strukturen - in.tum.de · bipartite Graph. –Das Problem: Finde eine maximale Menge Mvon Kanten, so dass keine zwei Kanten aus M einen gemeinsamen Endknoten haben

Vorlesung Diskrete Strukturen WS 08/09Prof. Dr. J. Esparza – Institut für Informatik, TU München

4

Kapitel IV – Graphen; Matchings• Das Heiratsproblem

– Der einer konkreten Situation zugrundeliegendebipartite Graph.

– Das Problem:

Finde eine maximale MengeM von Kanten, so dass keine zwei Kanten aus Meinen gemeinsamen Endknoten haben.

Page 5: WS 2008/09 Diskrete Strukturen - in.tum.de · bipartite Graph. –Das Problem: Finde eine maximale Menge Mvon Kanten, so dass keine zwei Kanten aus M einen gemeinsamen Endknoten haben

Vorlesung Diskrete Strukturen WS 08/09Prof. Dr. J. Esparza – Institut für Informatik, TU München

5

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.

Page 6: WS 2008/09 Diskrete Strukturen - in.tum.de · bipartite Graph. –Das Problem: Finde eine maximale Menge Mvon Kanten, so dass keine zwei Kanten aus M einen gemeinsamen Endknoten haben

Vorlesung Diskrete Strukturen WS 08/09Prof. Dr. J. Esparza – Institut für Informatik, TU München

6

Kapitel IV – Graphen; Matchings• Job-Zuordnung

– Gesucht ist eine Zuordnung, so dass möglichst viele Jobs vermittelt werden.

P1 P2 P3 P4

J1 J2 J3

Bipartiter Graph

P1 P2 P3 P4

J1 J2 J3

Optimale Zuordnung

P1 P2 P3 P4

J1 J2 J3

Zuordnung

Page 7: WS 2008/09 Diskrete Strukturen - in.tum.de · bipartite Graph. –Das Problem: Finde eine maximale Menge Mvon Kanten, so dass keine zwei Kanten aus M einen gemeinsamen Endknoten haben

Vorlesung Diskrete Strukturen WS 08/09Prof. Dr. J. Esparza – Institut für Informatik, TU München

7

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.

Page 8: WS 2008/09 Diskrete Strukturen - in.tum.de · bipartite Graph. –Das Problem: Finde eine maximale Menge Mvon Kanten, so dass keine zwei Kanten aus M einen gemeinsamen Endknoten haben

Vorlesung Diskrete Strukturen WS 08/09Prof. Dr. J. Esparza – Institut für Informatik, TU München

8

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.

Page 9: WS 2008/09 Diskrete Strukturen - in.tum.de · bipartite Graph. –Das Problem: Finde eine maximale Menge Mvon Kanten, so dass keine zwei Kanten aus M einen gemeinsamen Endknoten haben

Vorlesung Diskrete Strukturen WS 08/09Prof. Dr. J. Esparza – Institut für Informatik, TU München

9

Kapitel IV – Graphen; Matchings• Matching und perfektes Matching:

(größtes) Matching eines Sterngraphen

Page 10: WS 2008/09 Diskrete Strukturen - in.tum.de · bipartite Graph. –Das Problem: Finde eine maximale Menge Mvon Kanten, so dass keine zwei Kanten aus M einen gemeinsamen Endknoten haben

Vorlesung Diskrete Strukturen WS 08/09Prof. Dr. J. Esparza – Institut für Informatik, TU München

10

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).

Page 11: WS 2008/09 Diskrete Strukturen - in.tum.de · bipartite Graph. –Das Problem: Finde eine maximale Menge Mvon Kanten, so dass keine zwei Kanten aus M einen gemeinsamen Endknoten haben

Vorlesung Diskrete Strukturen WS 08/09Prof. Dr. J. Esparza – Institut für Informatik, TU München

11

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.

Page 12: WS 2008/09 Diskrete Strukturen - in.tum.de · bipartite Graph. –Das Problem: Finde eine maximale Menge Mvon Kanten, so dass keine zwei Kanten aus M einen gemeinsamen Endknoten haben

Vorlesung Diskrete Strukturen WS 08/09Prof. Dr. J. Esparza – Institut für Informatik, TU München

12

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 Mmit |M| = |A|.

Page 13: WS 2008/09 Diskrete Strukturen - in.tum.de · bipartite Graph. –Das Problem: Finde eine maximale Menge Mvon Kanten, so dass keine zwei Kanten aus M einen gemeinsamen Endknoten haben

Vorlesung Diskrete Strukturen WS 08/09Prof. Dr. J. Esparza – Institut für Informatik, TU München

13

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).

Page 14: WS 2008/09 Diskrete Strukturen - in.tum.de · bipartite Graph. –Das Problem: Finde eine maximale Menge Mvon Kanten, so dass keine zwei Kanten aus M einen gemeinsamen Endknoten haben

Vorlesung Diskrete Strukturen WS 08/09Prof. Dr. J. Esparza – Institut für Informatik, TU München

14

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.

Page 15: WS 2008/09 Diskrete Strukturen - in.tum.de · bipartite Graph. –Das Problem: Finde eine maximale Menge Mvon Kanten, so dass keine zwei Kanten aus M einen gemeinsamen Endknoten haben

Vorlesung Diskrete Strukturen WS 08/09Prof. Dr. J. Esparza – Institut für Informatik, TU München

15

Kapitel IV – Graphen; MatchingsDie Breitensuche definiert einen Baum von G.

Grafische Darstellung der Vorgehensweise.

a0

b0

b3

a1

b1 a2

b2 a3

b6 a7

b7 a8

a4

b8

b4 a5

b5 a6

Page 16: WS 2008/09 Diskrete Strukturen - in.tum.de · bipartite Graph. –Das Problem: Finde eine maximale Menge Mvon Kanten, so dass keine zwei Kanten aus M einen gemeinsamen Endknoten haben

Vorlesung Diskrete Strukturen WS 08/09Prof. Dr. J. Esparza – Institut für Informatik, TU München

16

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 BFS-Baums 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.

Page 17: WS 2008/09 Diskrete Strukturen - in.tum.de · bipartite Graph. –Das Problem: Finde eine maximale Menge Mvon Kanten, so dass keine zwei Kanten aus M einen gemeinsamen Endknoten haben

Vorlesung Diskrete Strukturen WS 08/09Prof. Dr. J. Esparza – Institut für Informatik, TU München

17

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.

Page 18: WS 2008/09 Diskrete Strukturen - in.tum.de · bipartite Graph. –Das Problem: Finde eine maximale Menge Mvon Kanten, so dass keine zwei Kanten aus M einen gemeinsamen Endknoten haben

Vorlesung Diskrete Strukturen WS 08/09Prof. Dr. J. Esparza – Institut für Informatik, TU München

18

Kapitel IV – Graphen; Matchings• „ “

Also existiert ein Pfad wie in folgender Abbildung:

Vertauscht man auf diesem Pfad gematchte und ungematchte Kanten

dann erhält man ein neues Matching M´´ mit |M´| = |M´| + 1, was die Maximalität von M´ widerspricht.

u0 v1 u1 v2 u2 uk-1 vk

u0 v1 u1 v2 u2 uk-1 vk

Page 19: WS 2008/09 Diskrete Strukturen - in.tum.de · bipartite Graph. –Das Problem: Finde eine maximale Menge Mvon Kanten, so dass keine zwei Kanten aus M einen gemeinsamen Endknoten haben

Vorlesung Diskrete Strukturen WS 08/09Prof. Dr. J. Esparza – Institut für Informatik, TU München

19

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!