Beispiel 1:
Im Dorf gibt es elf vereinsaktive Einwohner, aber neun Vereine.
Im Taubenzüchterverein sind A, C, I und J.
Im Eisenbahnverein sind B, D, I und K.
Im Briefmarkenverein sind C, E und F.
Im Schützenverein sind A, E, H.
Bei den Anonymen Alkoholikern sind B, H und J.
Im Fussballclub 1890 sind E, F und G.
Im Turnverein sind E, F, G, H.
Im Männerchor sind F, G und H (zur Zeit nur ein Trio).
Und schließlich bilden E, F, G und H den Computerclub.
(a) Zu einer Sitzung wegen dem geplanten gemeinsamen Vereinshaus soll je ein Vertreter aus einem Verein abgeordnet werden, aber niemand soll für zwei Vereine sprechen. Ist dies möglich? (b) Einen Tag vor der Sitzung wandert G nach Amerika aus. Ist die Sitzung immer noch möglich? |
Probieren Sie es: Durch Anklicken der Kreise werden Vertreter
ausgewählt bzw. abgewählt.
|
Beispiel 2:
20 StudentInnen sollen auf fünf Übungsgruppen (mit jeweils nur 4 Plätzen)
aufgeteilt werden. Jede StudentIn darf zwei Wünschgruppen angeben.
Die Wünsche verteilen sich folgendermaßen (dabei entsprechen
die Spalten den StudentInnen):
|
|
Offenbar ist es einfach kleine Matchings oder unabhängige Mengen,
und große E-V- oder V-E-Überdeckungen zu finden,
wir sind aber an größten Matchings oder unabhängige Mengen
und an kleinsten E-V- oder V-E-Überdeckungen interessiert.
Solche Gebilde nennen wir optimal.
Die jeweiligen Größen
bezeichnen wir mit m, üEV, u, üVE.
Wir benötigen im Folgenden ein vorbereitendes Lemma über
die Struktur von kleinsten Kanten-Ecken-Überdeckungen (1.),
sowie einige Konstruktionen
(2.-6.), mit denen man
aus solchen optimalen Gebilden optimale Gebilde erhält:
Aus 2. folgt die schon erwähnte Gleichung
u = |V| - üVE.
Aus 3. und 4. folgt
u = üEV in endlichen bipartiten Graphen. |
Satz von König (1931) In jedem endlichen bipartiten Graphen ist die minimale Anzahl von Ecken, die jede Kante berühren gleich der Mächtigkeit eines maximalen Matchings. |
Satz von
Philip Hall (1935)
Heiratsversion: Sei G ein endlichen bipartiter Graph mit Bipartition V = A È B. Genau dann gibt es ein Matching der Mächtigkeit |A|, falls für jede natürliche Zahl k je k Elemente aus A mindestens k gemeinsame Nachbarn in B haben. Vertreterversion: Zu einer Menge {Mi/i Î I} von Mengen ist ein Vertretersystem eine injektive Funktion f: I ® ÈiÎ I Mi, wobei für jedes i gilt: f(i) Î Mi. Genau dann gibt es ein Vertretersystem, falls für jede Teilmenge J von I gilt: | Èj Î J Mj | ³ |J|. |
Beweis:
Die eine Richtung ist einfach: Gibt es eine Teilmenge A' von A
mit |NG(A')| < |A'|, dann kann kein Matching
alle Ecken von A' enthalten, es also kein Matching der Mächtigkeit
|A| geben.
Gibt es umgekehrt kein Matching der Mächtigkeit |A|, so ist nach obigem Satz von König üVE < |A|. V' sei eine Ecken-Kanten-Überdeckung mit |V'| = üVE. Dann liegt jeder Nachbar jeder Ecke von A \ V' in B Ç V', also NG(A \ V') Í B Ç V', also |NG(A \ V')| £ |B Ç V'| = |V'| - |A Ç V'| = |A \ V'|. |
Übungsaufgabe: Sei k £ n/2 für natürliche Zahlen n und k. A sei die Menge aller (k-1)-elementigen Teilmengen von {1,2,...,n}, B sei die Menge aller k-elementigen Teilmengen von {1,2,...,n}, und X Î A, Y Î B seien benachbart, falls X Í B ist. Zeigen Sie mit obigem Satz von Hall, daß der so entstandene bipartite Graph ein Matching der Mächtigkeit |A| hat.
Übungsaufgabe:
Beweisen Sie damit den
Satz von Sperner.
Wie finde ich größte Matchings?
Die einfachste Idee ist, Kanten hinzuzunehmen solange das
möglich ist. Leider gerät man auf diese Art in Sackgassen,
wie man im Beispiel links sehen kann. Obwohl wir keine Kante
mehr hinzunehmen können ohne die Matchingeigenschaft zu verlieren,
ist das gegebene Matching kein größtes.
Aus diese Sackgassen führen sogenannte Verbesserungswege heraus.
Ein Weg x0, y0, x1, y1, ... ,
xk, yk ist ein Verbesserungsweg zu einem gegebenen Matching M,
falls weder x0 noch y0 von einer Kante aus M überdeckt
werden und y0x1, y1x2, ...
yk-1xk Kanten von M sind. In so einem Fall
eliminieren wir diese Kanten aus M und fügen
x0y0, x1y1, ... , xkyk hinzu
und erhalten ein grösseres Matching. Solange wir also Verbesserungswege finden, können
wir die Matchings immer weiter vergrößern.
Interessanterweise gilt auch die Umkehrung:
Wenn wir zu einem gegebenen Matching keine
Verbesserungswege mehr finden können, ist das Matching größtmöglich!
Im ersten Applet können Sie solche Verbesserungswege suchen und, falls Sie einen (blau eingezeichneten) gefunden haben, das Matching vergrössern.
Die Suche nach Verbesserungswegen wird durch den Begriff des Verbesserungsbaums
systematisiert. Zu einem gegebenen Matching M und einer nicht von M
überdeckten Ecke x möchten wir alle Verbesserungswege suchen, die in
x starten. Alle Ecken, die durch nicht-M-Kanten zu x benachbart sind
sind die Kinder von x. Ein solches Kind y ist entweder nicht von M überdeckt
(in dem Fall haben wir unseren Verbesserungsweg schon gefunden), oder
liegt in genau einer M-Kante---die andere Ecke z dieser M-Kante ist dann das Kind
von y. Die Kinder der Kindeskinder von x sind wieder alle noch nicht erfassten
Ecken, die zu Kindeskinder durch Nicht-M-Kanten benachbart sind, u.s.w.
Führt man diese Konstruktion zu Ende findet man genau dann ein
KindeskKind von x, das nicht von M überdeckt ist, also
einen Verbesserungsweg mit Anfang x, wenn so ein Weg existiert.
Wir müssen also nur alle Verbesserungsbäume von nicht von M überdeckten
Ecken durchchecken.
Im zweiten Applet können Sie Verbesserungsbäume (rot-blau) suchen,
indem Sie auf Ecken klicken, die noch nicht vom Matching überdeckt wurden.
Beispiel 1 nach der Auswanderung von G können Sie im ausführlichen Applet als Graph D studieren. Tatsächlich ist so ein |A|-Matching nicht (mehr) möglich.