4.5 Perfekte Matchings in bipartiten Graphen
Wenn das leichteste perfekte Matching eindeutig ist
Theorem 4.5.1
Sei ein bipartiter Graph und eine Gewichtung
der
Kanten.
Falls ein eindeutiges perfektes Matching von kleinstem Gewicht hat, dann
können
wir und auch parallel in Arbeit und Zeit finden.
Beweis.
Sei die bipartite Adjazenzmatrix, allerdings mit folgenden
Einträgen:
Wir betrachten die Determinante von :
Zur Erinnerung: wir identifizieren perfekte Matchings in dem vollständigen bipartiten
Graphen mit Permutationen .
Die Menge aller perfekten Matchings in ist somit eine Menge von
Permutationen, und wir erlauben uns, Dinge wie und zu
schreiben,
wobei wir im ersten Fall als Permutation lesen und im zweiten Fall als
perfektes Matching. Ein Summand in () ist genau dann ,
wenn das Produkt eine Nicht-Kante enthält; die Summanden,
die nicht sind, entsprechen genau den perfekten Matchings von .
Es gilt somit
Da nun ein perfektes Matching von Gewicht ist und nach Annahme alle anderen
Matchings Gewicht mindestens hat, schreiben wir als
und sehen, dass der erste Term ist und alle weiteren Terme
durch teilbar sind. Es gilt daher
Beobachtung ist gleich der
höchsten ganzen Zahl , die teilt.
Wir können also berechnen, indem wir berechnen und dann bestimmen,
was die höchste Zweierpotenz ist, die teilt. Da die Einträge von
höchstens sind, brauchen sie höchstens Bits, und wir können die Determinante
parallel
in Arbeit und Zeit bestimmen.
Um schließlich selbst zu bestimmen, benutzen wir folgende Beobachtung:
Beobachtung 4.5.2
Sei eine Kante und sei . Es ist also die Matrix, die
wir erhalten, wenn wir nehmen und setzen.
Es gilt: genau dann, wenn nicht durch teilbar ist.
Beweis.
Wir betrachten
Wenn nun ist, dann ist ; jedes
ist in und hat somit
Gewicht mindestens ; es ist also jeder Summand von ()
durch teilbar. Wenn jedoch ist, so ist
; die Summe () hat also genau
einen Term , und alle anderen sind durch teilbar.
Wir wenden nun Beobachtung 4.5.2 parallel
auf jede Kante an, berechnen (parallel) die Determinante und
wissen nun, ob gilt; in anderen Worten: wir kennen .
Die Gesamtarbeit ist ungefähr mal die Arbeit, die für die Berechnung einer
Determinante einer -Matrix mit -stelligen ganzzahligen Einträgen
nötig ist; die Zeit ist die für die Berechnung einer solcher Determinante, plus .
Übungsaufgabe 4.5.1
Woher kommt das "plus in der Laufzeit am Ende des obigen Beweises? Zeigen
Sie konkret, wie man
- Die Matrix effizient parallel herstellen kann,
- arithmetische Operationen wie und effizient berechnen kann, also in
Zeit und
- man für effizient die größte bestimmen kann, so dass
gilt.
Wie man das leichteste perfekte Matching eindeutig macht
Wir haben nun einen bipartiten Graphen ohne Kantengewichte. Wir wollen
eine Gewichtsfunktion finden, so dass folgendes gilt:
- wenn ein perfektes Matching hat, dann gibt es genau ein solches, das minimiert;
-
die Gewichte sind polynomiell in .
Punkt 2 ist wichtig, weil wir ansonsten die gewichtete Adjazenzmatrix nicht effizient
herstellen können: bereits ihre Darstellung hätte superpolynomielle Größe.
Lemma 4.5.3 (Isolation Lemma,
[Mulmuley, Vazirani, and Vazirani]).
Wähle jedes Gewicht
zufällig aus der Menge , unabhängig für jede Kante.
Dann ist
Beweis.
Was muss passieren, damit das leichteste perfekte Matching nicht eindeutig ist? Es muss
zwei verschiedene perfekte Matchings geben mit
. Diese Matchings müssen sich
unterscheiden: es muss eine Kante geben.
Dies motiviert folgende Definition: Kante ist schlecht, wenn es
zwei perfekte Matchings und mit minimalem Gewicht gibt und
. Wir stellen uns nun zwei Fragen:
(1) Wenn die Gewichte wie
beschrieben zufällig gewählt werden, mit welcher
Wahrscheinlichkeit gibt es dann überhaupt eine schlechte Kante?
(2) Mit welcher Wahrscheinlichkeit ist eine spezifische Kante schlecht?
Um Frage (2) zu beantworten, definieren wir
Wir wählen nun die Gewichtsfunktion in zwei Schritten: in einem ersten
wählen wir für alle ; nur das Gewicht von
bleibt noch offen. Dies ist jedoch genug, um und zu bestimmen.
Nun wählen wir in einem weiteren Schritt . Wann kann nun schlecht sein?
Genau dann, wenn es perfekte Matchings minimalen Gewichts gibt mit
und . Dann gilt aber und
und somit
Da und bereits feststehen, kann es nur eine Wahl für geben,
die () erfüllt: nämlich . Was ist die
Wahrscheinlichkeit,
dass wir genau diesen Wert für wählen? Entweder , wenn
der Wert sich in \{1,\dots,2m\} befindet, oder , falls nicht.
Die Wahrscheinlichkeit, dass schlecht ist, ist also höchstens . Nun gilt
Und somit gilt: mit Wahrscheinlichkeit mindestens gibt es ein eindeutiges perfektes
Matching
von geringstem Gewicht.
Beachten Sie, dass wir zu keinem Zeitpunkt verwendet haben, dass es sich bei den
Objekten um perfekte Matchings handelt. Und in der Tat: das Isolationslemma
von MVV funktioniert ganz allgemein für Familien von Mengen.
Übungsaufgabe 4.5.2
Was geschieht, wenn die Wahl der Gewichtsfunktion im Isolationslemma
fehlschlägt und das Minimum von mehreren perfekten Matchings erreicht wird?
Welchen Fehler könnte unser Algorithmus dann machen?