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