Folien - TCS RWTH - RWTH

Werbung
Systems of Distinct Representatives
Seminar: Extremal Combinatorics
Peter Fritz
Lehr- und Forschungsgebiet Theoretische Informatik
RWTH Aachen
Systems of Distinct Representatives – p. 1/41
Gliederung
•
•
•
•
Einführung
Anwendung: Lateinische Quadrate
Maximale Matchings in bipartiten Graphen
Zusammenfassung, Ausblick
Systems of Distinct Representatives – p. 2/41
Einführung
•
Heiratsproblem:
gegeben: m Frauen, n Männer, m ≤ n
Frau heiratet nur Mann, den sie kennt
nur monogame Ehen erlaubt
gesucht: alle Frauen verheiraten
Systems of Distinct Representatives – p. 3/41
Einführung
•
•
Heiratsproblem:
gegeben: m Frauen, n Männer, m ≤ n
Frau heiratet nur Mann, den sie kennt
nur monogame Ehen erlaubt
gesucht: alle Frauen verheiraten
als Graphproblem formalisierbar:
finde maximales Matching in bipartiten Graph
G = (F, M, E)
Systems of Distinct Representatives – p. 3/41
Einführung
•
•
•
Heiratsproblem:
gegeben: m Frauen, n Männer, m ≤ n
Frau heiratet nur Mann, den sie kennt
nur monogame Ehen erlaubt
gesucht: alle Frauen verheiraten
als Graphproblem formalisierbar:
finde maximales Matching in bipartiten Graph
G = (F, M, E)
wann ist Heirat, bzw. Matching von F nach M
möglich?
Systems of Distinct Representatives – p. 3/41
Systems of Distinct Representatives, SDR
•
formuliere Heiratsproblem als Mengenproblem:
Frauen: S1 , . . . , Sm
Männer, die die i-te Frau kennt:
Si = {xi1 , . . . , xik }
Systems of Distinct Representatives – p. 4/41
Systems of Distinct Representatives, SDR
•
•
formuliere Heiratsproblem als Mengenproblem:
Frauen: S1 , . . . , Sm
Männer, die die i-te Frau kennt:
Si = {xi1 , . . . , xik }
DEF: x1 , . . . , xm sind ein SDR von S1 , . . . , Sm
⇔ xi ∈ Si für 1 ≤ i ≤ m und xi 6= xj für i 6= j
Systems of Distinct Representatives – p. 4/41
Systems of Distinct Representatives, SDR
•
•
•
formuliere Heiratsproblem als Mengenproblem:
Frauen: S1 , . . . , Sm
Männer, die die i-te Frau kennt:
Si = {xi1 , . . . , xik }
DEF: x1 , . . . , xm sind ein SDR von S1 , . . . , Sm
⇔ xi ∈ Si für 1 ≤ i ≤ m und xi 6= xj für i 6= j
Zuordnung der Mengen zu Elementen ist
injektive „Heiratsabbildung“:
f (Si ) 6= f (Sj ) für i 6= j
Systems of Distinct Representatives – p. 4/41
Beispiel
{1, 3 , 4, 5}
{ 2 , 4, 5, 6}
{3, 4 }
{3, 4, 5 }
Systems of Distinct Representatives – p. 5/41
Beispiel
{1, 3 , 4, 5}
{ 2 , 4, 5, 6}
{3, 4 }
{3, 4, 5 }
Systems of Distinct Representatives – p. 5/41
Satz von Hall (1935)
•
Hall-Bedingung:
[
Si ≥ |I| für alle I ⊆ {1, . . . , m}
(1)
i∈I
•
S1 , S2 , . . . , Sm besitzen SDR ⇔ wenn (1) zutrifft
Systems of Distinct Representatives – p. 6/41
Satz von Hall (1935)
•
Hall-Bedingung:
[
Si ≥ |I| für alle I ⊆ {1, . . . , m}
(2)
i∈I
•
S1 , S2 , . . . , Sm besitzen SDR ⇔ wenn (1) zutrifft
Beweis:
⇐: klar
⇒: per Induktion über m
Systems of Distinct Representatives – p. 6/41
Beweis zum Satz von Hall(I)
Fall 1: falls
[ Si > |I| für alle I ⊆ {1, . . . , m}
i∈I
Systems of Distinct Representatives – p. 7/41
Beweis zum Satz von Hall(I)
Fall 1: falls
[ Si > |I| für alle I ⊆ {1, . . . , m}
i∈I
•
•
Ordne irgendeiner Menge Sim+1 einen beliebigen
Repräsentanten xi ∈ Sim+1 zu
entferne xi aus den restlichen Mengen
Systems of Distinct Representatives – p. 7/41
Beweis zum Satz von Hall(I)
Fall 1: falls
[ Si > |I| für alle I ⊆ {1, . . . , m}
i∈I
•
•
•
Ordne irgendeiner Menge Sim+1 einen beliebigen
Repräsentanten xi ∈ Sim+1 zu
entferne xi aus den restlichen Mengen
Vereinigung von k beliebigen Si der restlichen m
Mengen besitzt immer noch
√ mindestens k
Elemente und erfüllt (1)
Systems of Distinct Representatives – p. 7/41
Beweis zum Satz von Hall(II)
Fall 2: Für k der Si mit 1 ≤ k ≤ m gilt:
[
Si = |J| = k für alle J = {j1 , . . . , jk } ⊆ {1, . . . , m}
i∈J
Systems of Distinct Representatives – p. 8/41
Beweis zum Satz von Hall(II)
Fall 2: Für k der Si mit 1 ≤ k ≤ m gilt:
[
Si = |J| = k für alle J = {j1 , . . . , jk } ⊆ {1, . . . , m}
i∈J
• wegen k < m besitzen diese Mengen ein SDR
• entferne diese k Repräsentanten aus den restlichen m + 1 − k Mengen
Systems of Distinct Representatives – p. 8/41
Beweis zum Satz von Hall(II)
Fall 2: Für k der Si mit 1 ≤ k ≤ m gilt:
[
Si = |J| = k für alle J = {j1 , . . . , jk } ⊆ {1, . . . , m}
i∈J
• wegen k < m besitzen diese Mengen ein SDR
• entferne diese k Repräsentanten aus den restlichen m + 1 − k Mengen
• bleibt zu zeigen: diese Mengen erfüllen (1) und besitzen SDR
• bildet mit den anderen k Repräsentanten ein gemeinsames SDR
Systems of Distinct Representatives – p. 8/41
Beweis zum Satz von Hall(II)
Fall 2: Für k der Si mit 1 ≤ k ≤ m gilt:
[
Si = |J| = k für alle J = {j1 , . . . , jk } ⊆ {1, . . . , m}
i∈J
• wegen k < m besitzen diese Mengen ein SDR
• entferne diese k Repräsentanten aus den restlichen m + 1 − k Mengen
• bleibt zu zeigen: diese Mengen erfüllen (1) und besitzen SDR
• bildet mit den anderen k Repräsentanten ein gemeinsames SDR
• Falls s der restlichen m + 1 − k Mengen weniger als s Elemente
besitzen:
Vereinigung dieser s Mengen mit den ersten k Mengen haben weniger
als s + k Elemente
Widerspruch zur Induktionsvorraussetzung
Systems of Distinct Representatives – p. 8/41
Nachweis der Hall-Bedingung
•
•
•
zu aufwendig, da alle 2m Teilmengen der Si zu
überprüfen sind
Satz von König (1931):
Größe eines Maximum Matchings in
G = (A, B, E) = Größe des minimalen
Vertex-Covers
Min-Vertex-Cover ist aber NP-vollständig
Systems of Distinct Representatives – p. 9/41
Nachweis der Hall-Bedingung
•
•
•
•
zu aufwendig, da alle 2m Teilmengen der Si zu
überprüfen sind
Satz von König (1931):
Größe eines Maximum Matchings in
G = (A, B, E) = Größe des minimalen
Vertex-Covers
Min-Vertex-Cover ist aber NP-vollständig
es gibt einfache Spezialfälle
Systems of Distinct Representatives – p. 9/41
Korollar
Falls
•
•
•
S1 , . . . , Sm jeweils r Elemente besitzen
S
= n gilt
S
i
1≤i≤m alle Elemente der Si in der selben Anzahl d von
Mengen enthalten sind
besitzen S1 , . . . , Sm ein SDR.
Systems of Distinct Representatives – p. 10/41
Beweis des Korrolar(I)
Beweis: Zähle die Anzahl des Enthaltenseins von
Elementen in Mengen:
• die m Si besitzen r Elemente:
|S1 | + |S2 | + . . . + |Sm | = m · r
Systems of Distinct Representatives – p. 11/41
Beweis des Korrolar(I)
Beweis: Zähle die Anzahl des Enthaltenseins von
Elementen in Mengen:
• die m Si besitzen r Elemente:
|S1 | + |S2 | + . . . + |Sm | = m · r
• jedes der n Elemente in genau d Mengen:
m · r = n · d (doppeltes Abzählen)
• wegen m ≤ n muss, d ≤ r gelten
Systems of Distinct Representatives – p. 11/41
Beweis des Korrolar(II)
falls S1 , . . . , Sm kein SDR besitzen gilt d > r:
Systems of Distinct Representatives – p. 12/41
Beweis des Korrolar(II)
falls S1 , . . . , Sm kein SDR besitzen gilt d > r:
• wegen Hall verletzen Si , . . . , Si (1)
1
k
•
Y := |Si1 ∪ . . . ∪ Sik | < k
Systems of Distinct Representatives – p. 12/41
Beweis des Korrolar(II)
falls S1 , . . . , Sm kein SDR besitzen gilt d > r:
• wegen Hall verletzen Si , . . . , Si (1)
1
k
•
•
Y := |Si1 ∪ . . . ∪ Sik | < k
Pk
r · k = j=1 |Sij | = |Y | · d < k · d
⇒ Widerspruch d > r
Systems of Distinct Representatives – p. 12/41
gute Jungen, böse Jungen
•
•
•
r der n Jungen sind äußerst unbeliebt
Ziel: so viele glückliche Hochzeiten, wie möglich
Ist es möglich, höchstens t unglückliche
Hochzeiten zu haben?
Systems of Distinct Representatives – p. 13/41
gute Jungen, böse Jungen
•
•
•
•
•
•
r der n Jungen sind äußerst unbeliebt
Ziel: so viele glückliche Hochzeiten, wie möglich
Ist es möglich, höchstens t unglückliche
Hochzeiten zu haben?
Verallgemeinerung des Heiratsproblems
gute Elemente: blau, schlechte Elemente: rot
Chvátal und Szemerédi zeigten 1988:
Systems of Distinct Representatives – p. 13/41
Satz von Chvátal-Szemerédi
S1 , . . . , Sm haben genau dann ein SDR mit höchstens
t roten Elementen,
• wenn sie ein SDR besitzen
• für alle 1 ≤ k ≤ m die Vereinigung von k
beliebigen Mengen mindestens k − t blaue
Elemente besitzt. (*)
Systems of Distinct Representatives – p. 14/41
Satz von Chvátal-Szemerédi
S1 , . . . , Sm haben genau dann ein SDR mit höchstens
t roten Elementen,
• wenn sie ein SDR besitzen
• für alle 1 ≤ k ≤ m die Vereinigung von k
beliebigen Mengen mindestens k − t blaue
Elemente besitzt. (*)
Beweis: ⇐: klar
⇒:
• sei R Menge der roten Elemente mit |R| > t
Systems of Distinct Representatives – p. 14/41
Satz von Chvátal-Szemerédi
S1 , . . . , Sm haben genau dann ein SDR mit höchstens
t roten Elementen,
• wenn sie ein SDR besitzen
• für alle 1 ≤ k ≤ m die Vereinigung von k
beliebigen Mengen mindestens k − t blaue
Elemente besitzt. (*)
Beweis: ⇐: klar
⇒:
• sei R Menge der roten Elemente mit |R| > t
• erweitere S1 , . . . , Sm zu
S1 , . . . , Sm , Sm+1 , . . . , Sm+r
mit r = |R| − t Kopien von |R|
Systems of Distinct Representatives – p. 14/41
Beweis (Fortsetzung)
•
S1 , . . . , Sm+r haben ein SDR
⇒ S1 , . . . , Sm haben ein SDR höchstens t roten
Elementen:
Systems of Distinct Representatives – p. 15/41
Beweis (Fortsetzung)
•
•
S1 , . . . , Sm+r haben ein SDR
⇒ S1 , . . . , Sm haben ein SDR höchstens t roten
Elementen:
zeige Hall-Bedingung für erweiterte
Mengenfolge
mit Indizes I ⊆ {1, . . . , m + r} und |I| = k:
Systems of Distinct Representatives – p. 15/41
Beweis (Fortsetzung)
•
•
S1 , . . . , Sm+r haben ein SDR
⇒ S1 , . . . , Sm haben ein SDR höchstens t roten
Elementen:
zeige Hall-Bedingung für erweiterte
Mengenfolge
mit Indizes I ⊆ {1, . . . , m + r} und |I| = k:
[ Si i∈I
Systems of Distinct Representatives – p. 15/41
Beweis (Fortsetzung)
•
•
S1 , . . . , Sm+r haben ein SDR
⇒ S1 , . . . , Sm haben ein SDR höchstens t roten
Elementen:
zeige Hall-Bedingung für erweiterte
Mengenfolge
mit Indizes I ⊆ {1, . . . , m + r} und |I| = k:
[ [
Si = (Si − R) + |R|
i∈I
i∈I
Systems of Distinct Representatives – p. 15/41
Beweis (Fortsetzung)
•
•
S1 , . . . , Sm+r haben ein SDR
⇒ S1 , . . . , Sm haben ein SDR höchstens t roten
Elementen:
zeige Hall-Bedingung für erweiterte
Mengenfolge
mit Indizes I ⊆ {1, . . . , m + r} und |I| = k:
[ Si i∈I
=
[
(Si − R) + |R|
i∈I
≥(∗) k − t + |R|
Systems of Distinct Representatives – p. 15/41
Beweis (Fortsetzung)
•
•
S1 , . . . , Sm+r haben ein SDR
⇒ S1 , . . . , Sm haben ein SDR höchstens t roten
Elementen:
zeige Hall-Bedingung für erweiterte
Mengenfolge
mit Indizes I ⊆ {1, . . . , m + r} und |I| = k:
[ Si i∈I
=
[
(Si − R) + |R|
i∈I
≥(∗) k − t + |R| ≥ k = |I|
Systems of Distinct Representatives – p. 15/41
Lateinische Rechtecke
•
•
Anwendung von Korollar
sehr altes kombinatorisches Problem
(2800 v.Chr.)
Systems of Distinct Representatives – p. 16/41
Lateinische Rechtecke
•
•
Anwendung von Korollar
sehr altes kombinatorisches Problem
(2800 v.Chr.)
DEF: lateinisches Rechteck: r × n Matrix mit r ≤ n
in der die Zahlen 1, 2, . . . , n in jeder Zeile genau
und in jeder Spalte höchstens einmal auftreten.
Systems of Distinct Representatives – p. 16/41
Lateinische Rechtecke
•
•
Anwendung von Korollar
sehr altes kombinatorisches Problem
(2800 v.Chr.)
DEF: lateinisches Rechteck: r × n Matrix mit r ≤ n
in der die Zahlen 1, 2, . . . , n in jeder Zeile genau
und in jeder Spalte höchstens einmal auftreten.
•
•
•
lateinisches Quadrat: r = n
Aufgabe: leeres Rechteck mit Zahlen Auffüllen
bereits ab n Einträgen kann Vervollständigung
nicht mehr möglich sein
Systems of Distinct Representatives – p. 16/41
Beispiel
1 5 2 4 ?
3
Abbildung 1: unvollständiges Lateinische Rechteck,
und vollständiges Lateinisches Quadrat
Systems of Distinct Representatives – p. 17/41
Beispiel
5 4 3 2 1
1 5 2 4 ?
3
Abbildung 2: unvollständiges Lateinische Rechteck,
und vollständiges Lateinisches Quadrat
Systems of Distinct Representatives – p. 17/41
Beispiel
1 5 2 4 ?
3
5 4 3 2 1
2 1 5 4 3
Abbildung 3: unvollständiges Lateinische Rechteck,
und vollständiges Lateinisches Quadrat
Systems of Distinct Representatives – p. 17/41
Beispiel
1 5 2 4 ?
3
5 4 3 2 1
2 1 5 4 3
4 3 2 1 5
Abbildung 4: unvollständiges Lateinische Rechteck,
und vollständiges Lateinisches Quadrat
Systems of Distinct Representatives – p. 17/41
Beispiel
1 5 2 4 ?
3
5
2
4
1
3
4
1
3
5
2
3
5
2
4
1
2
4
1
3
5
1
3
5
2
4
Abbildung 5: unvollständiges Lateinische Rechteck,
und vollständiges Lateinisches Quadrat
Systems of Distinct Representatives – p. 17/41
Satz von Ryser (1951)
Jedes r × n Lateinische Rechteck R zu einem
(r + 1) × n Rechteck erweiterbar, falls r < n
Systems of Distinct Representatives – p. 18/41
Satz von Ryser (1951)
Jedes r × n Lateinische Rechteck R zu einem
(r + 1) × n Rechteck erweiterbar, falls r < n
Beweis:
• Seien Si =
{xi |xi ist nicht in der i-ten Spalte von R enthalten}
Systems of Distinct Representatives – p. 18/41
Satz von Ryser (1951)
Jedes r × n Lateinische Rechteck R zu einem
(r + 1) × n Rechteck erweiterbar, falls r < n
Beweis:
• Seien Si =
{xi |xi ist nicht in der i-ten Spalte von R enthalten}
• Zeige: S1 , . . . , Sn besitzen SDR
• definiere diese Repräsentanten als r + 1. Zeile
(x1 , x2 , . . . , xn ) von R
Systems of Distinct Representatives – p. 18/41
Beweis zum Satz von Ryser
wegen Korollar besitzen S1 , . . . , Sn ein SDR, da:
Systems of Distinct Representatives – p. 19/41
Beweis zum Satz von Ryser
wegen Korollar besitzen S1 , . . . , Sn ein SDR, da:
• S1 , . . . , Sn sind n − r elementige Teilmengen
einer n-elementigen Menge
S
• jedes Element xj ∈
1≤i≤n Si ist in genau n − r
Si enthalten, da es bereits in r anderen Spalten
eingefügt wurde
Systems of Distinct Representatives – p. 19/41
Beweis zum Satz von Ryser
wegen Korollar besitzen S1 , . . . , Sn ein SDR, da:
• S1 , . . . , Sn sind n − r elementige Teilmengen
einer n-elementigen Menge
S
• jedes Element xj ∈
1≤i≤n Si ist in genau n − r
Si enthalten, da es bereits in r anderen Spalten
eingefügt wurde
weitere Anwendungen von lateinischen Rechtecken:
• Scheduling-Theorie
• statistische Experimente
• kryptographische Protokolle
Systems of Distinct Representatives – p. 19/41
Matchings in bipartiten Graphen
•
•
Nachweis mit Hall und König schwierig und gibt
nur Aussage bzgl. Existenz
Gesucht: effizienter Algorithmus
Systems of Distinct Representatives – p. 20/41
Matchings in bipartiten Graphen
•
•
•
•
Nachweis mit Hall und König schwierig und gibt
nur Aussage bzgl. Existenz
Gesucht: effizienter Algorithmus
hier: Algorithmus basierend auf lokaler Suche
Greedy-Ansatz führt nicht zum Ziel:
Systems of Distinct Representatives – p. 20/41
Nachbarschaft
DEF: Erweiternder Pfad bzgl. Matching M :
• Pfad, dessen Kanten abwechselnd gematched und
frei sind
• Start- und Zeilknoten liegen nicht in M
Systems of Distinct Representatives – p. 21/41
Nachbarschaft
DEF: Erweiternder Pfad bzgl. Matching M :
• Pfad, dessen Kanten abwechselnd gematched und
frei sind
• Start- und Zeilknoten liegen nicht in M
Verbesserung möglich:
Systems of Distinct Representatives – p. 21/41
Ford-Fulkerson
•
•
Mögliche Lösung: mit Ford-Fulkerson
Algorithmus
Problem: verbessernde Pfade sind auf
Netzwerken anders definiert
Systems of Distinct Representatives – p. 22/41
Ford-Fulkerson
•
•
Mögliche Lösung: mit Ford-Fulkerson
Algorithmus
Problem: verbessernde Pfade sind auf
Netzwerken anders definiert
Systems of Distinct Representatives – p. 22/41
Ford-Fulkerson
•
•
Mögliche Lösung: mit Ford-Fulkerson
Algorithmus
Problem: verbessernde Pfade sind auf
Netzwerken anders definiert
Systems of Distinct Representatives – p. 22/41
Ford-Fulkerson
•
•
Mögliche Lösung: mit Ford-Fulkerson
Algorithmus
Problem: verbessernde Pfade sind auf
Netzwerken anders definiert
Systems of Distinct Representatives – p. 22/41
Ford-Fulkerson
•
•
Mögliche Lösung: mit Ford-Fulkerson
Algorithmus
Problem: verbessernde Pfade sind auf
Netzwerken anders definiert
Systems of Distinct Representatives – p. 22/41
Satz von Berger
bleibt zu zeigen, dass verbessernde Pfade hinreichend
für Optimalität eines Matchings ist
Systems of Distinct Representatives – p. 23/41
Satz von Berger
bleibt zu zeigen, dass verbessernde Pfade hinreichend
für Optimalität eines Matchings ist
Satz (Berger, 1957)
Ein Matching M in einem Graph G ist genau dann
maximal, wenn es keinen erweiternden Pfad in G gibt.
Systems of Distinct Representatives – p. 23/41
Satz von Berger
bleibt zu zeigen, dass verbessernde Pfade hinreichend
für Optimalität eines Matchings ist
Satz (Berger, 1957)
Ein Matching M in einem Graph G ist genau dann
maximal, wenn es keinen erweiternden Pfad in G gibt.
Beweis: ⇐: klar
⇒
• Angenommen es gäbe ein Matching M ′ mit
|M | < |M ′ |
Systems of Distinct Representatives – p. 23/41
Satz von Berger
bleibt zu zeigen, dass verbessernde Pfade hinreichend
für Optimalität eines Matchings ist
Satz (Berger, 1957)
Ein Matching M in einem Graph G ist genau dann
maximal, wenn es keinen erweiternden Pfad in G gibt.
Beweis: ⇐: klar
⇒
• Angenommen es gäbe ein Matching M ′ mit
|M | < |M ′ |
•
•
Sei H := M ⊕ M ′ := (M ∪ M ′ ) \ (M ∩ M ′ )
exklusive Vereinigung ⊕ beider Mengen
keine Kante liegt in zwei Matchings
Systems of Distinct Representatives – p. 23/41
Beweis, Fortsetzung(I)
•
da |M | < |M ′ | gibt es
Zusammenhangskomponente G′ in der weniger
Knoten zu M gehören, als zu M ′ (*)
Systems of Distinct Representatives – p. 24/41
Beweis, Fortsetzung(I)
•
•
•
da |M | < |M ′ | gibt es
Zusammenhangskomponente G′ in der weniger
Knoten zu M gehören, als zu M ′ (*)
alle Knoten in M und M ′ haben Grad eins
→ alle Knoten in G′ haben höchstens Grad zwei
G′ besteht aus Zyklus gerader Länge, oder Pfad
über alle Knoten
Systems of Distinct Representatives – p. 24/41
Beweis, Fortsetzung(II)
•
wegen (*) besteht G′ aus genau einem Pfad P
Systems of Distinct Representatives – p. 25/41
Beweis, Fortsetzung(II)
•
•
•
wegen (*) besteht G′ aus genau einem Pfad P
Anfangs- und Endknoten von P müssen wegen
(*) in M ′ liegen
keine 2 Kanten desselben Matchings direkt
hintereinander
Systems of Distinct Representatives – p. 25/41
Beweis, Fortsetzung(II)
•
•
•
•
wegen (*) besteht G′ aus genau einem Pfad P
Anfangs- und Endknoten von P müssen wegen
(*) in M ′ liegen
keine 2 Kanten desselben Matchings direkt
hintereinander
P ist bezüglich M erweiternder Pfad, da
Anfangs- und Endknoten frei
und Kanten abwechselnd frei und gematched
Systems of Distinct Representatives – p. 25/41
Algorithmus für Matching Problem
Idee:
• Kanten im Graph richten: Matching-Kanten von
A nach B, andere von B nach A
• starte von freien Knoten Tiefensuche, um
verbessernden Pfad zu finden
• erweitere Matching, falls verbessernden Pfad
gefunden
Systems of Distinct Representatives – p. 26/41
Algorithmus, Schritt 1
Eingabe: G = (A, B, E)
M := ∅; {M ist das aktuelle Matching}
Systems of Distinct Representatives – p. 27/41
Begleitendes Beispiel
Systems of Distinct Representatives – p. 28/41
Algorithmus, Schritt 2
Eingabe: G = (A, B, E)
M := ∅; {M ist das aktuelle Matching}
{Richte alle Kanten e ∈ M von A nach B und die
restlichen von B nach A}
for all e ∈ E do
if e ∈ M then
e := (a, b); {für a ∈ A und b ∈ B}
else
e := (b, a);
end if
end for
Systems of Distinct Representatives – p. 29/41
Beispiel zu Schritt 2
Systems of Distinct Representatives – p. 30/41
Beispiel zu Schritt 2
Systems of Distinct Representatives – p. 30/41
Algorithmus, Schritt 3
{definiere A0 und B0 , die alle freien Knoten aus A
und B enthalten}
A0 := B0 := ∅;
for all v ∈ A und v 6∈ M do
A0 := A0 ∪ {v};
end for
for all v ∈ B und v 6∈ M do
B0 := B0 ∪ {v};
end for
Systems of Distinct Representatives – p. 31/41
Beispiel zu Schritt 3
Systems of Distinct Representatives – p. 32/41
Algorithmus, Schritt 4
for all v ∈ B0 do
starte Tiefensuche von v bis ein w ∈ A0
gefunden wurde;
{der Pfad v
w ist ein erweiternder Pfad}
end for
Systems of Distinct Representatives – p. 33/41
Beispiel zu Schritt 2
Systems of Distinct Representatives – p. 34/41
Algorithmus, Schritt 4
for all v ∈ B0 do
starte Tiefensuche von v bis ein w ∈ A0
gefunden wurde;
{der Pfad v
w ist ein erweiternder Pfad}
end for
if erweiternder Pfad gefunden then
update M ;
gehe zu Schritt 2;
else
Output M ;
end if
Systems of Distinct Representatives – p. 35/41
Laufzeitanalyse
•
nach jeder Iteration von Schritt zwei wird M um
eins größer
⇒ n/2 Durchläufe
Systems of Distinct Representatives – p. 36/41
Laufzeitanalyse
•
•
nach jeder Iteration von Schritt zwei wird M um
eins größer
⇒ n/2 Durchläufe
Tiefensuche auf n/2 Knoten aus B0
Systems of Distinct Representatives – p. 36/41
Laufzeitanalyse
•
•
•
nach jeder Iteration von Schritt zwei wird M um
eins größer
⇒ n/2 Durchläufe
Tiefensuche auf n/2 Knoten aus B0
Tiefensuchlauf enthält abwechselnd freie Knoten
und Matchingknoten
⇒ Tiefensuche ist linear
Systems of Distinct Representatives – p. 36/41
Laufzeitanalyse
•
•
•
•
nach jeder Iteration von Schritt zwei wird M um
eins größer
⇒ n/2 Durchläufe
Tiefensuche auf n/2 Knoten aus B0
Tiefensuchlauf enthält abwechselnd freie Knoten
und Matchingknoten
⇒ Tiefensuche ist linear
Gesamtlaufzeit O(n3 )
Systems of Distinct Representatives – p. 36/41
Laufzeitanalyse
•
•
•
•
•
nach jeder Iteration von Schritt zwei wird M um
eins größer
⇒ n/2 Durchläufe
Tiefensuche auf n/2 Knoten aus B0
Tiefensuchlauf enthält abwechselnd freie Knoten
und Matchingknoten
⇒ Tiefensuche ist linear
Gesamtlaufzeit O(n3 )
es gibt schnellere, trickreichere Algorithmen,
z.B. O(n5/2 ) Algorithmus von Hopcroft und Karp
Systems of Distinct Representatives – p. 36/41
Zusammenfassung
•
•
•
•
•
Heiratsproblem
Satz von Hall
Verallgemeinerungen und Spezialfälle des
Heiratsproblems
Lateinische Quadrate
Algorithmen zum Lösen von Maximum
Matching Problemen in bipartiten Graphen
Systems of Distinct Representatives – p. 37/41
Ausblick
•
•
•
•
Matchings in nicht bipartiten Graphen
Gewichtete Matchings: Zuordnung mit
Präferenzen
Matchings als Werkzeuge zur
Algorithmenkonstruktion:
Christofides-Algorithmus
Berechnen von Min-Vertex-Cover
SDR als Werkzeug für Beweise:
Beweis von unteren Schranken
Probleme in Hypergraphen
Systems of Distinct Representatives – p. 38/41
Herunterladen