Matroids, greedy algorithm, independent set polytope

Transcription

Matroids, greedy algorithm, independent set polytope
Matroids, greedy algorithm,
independent set polytope
Ingo Kleinert
Institut für Mathematik, TU Berlin
[email protected]
Seminar:
Algorithmische Diskrete Mathematik
17. Juni 2008
Übersicht
Matroide
Greedy-Algorithmus
Independent Set Polytop
Übersicht
1
Ingo Kleinert
Matroide
Definition, Begriffe
Beispiele
Alternative Charakterisierungen
Zusammenfassung
Übersicht
Matroide
Greedy-Algorithmus
Independent Set Polytop
Übersicht
Matroide
Definition, Begriffe
Beispiele
Alternative Charakterisierungen
2 Greedy-Algorithmus
Definition
Beispiele
Effizienz
1
Ingo Kleinert
Zusammenfassung
Übersicht
Matroide
Greedy-Algorithmus
Independent Set Polytop
Übersicht
Matroide
Definition, Begriffe
Beispiele
Alternative Charakterisierungen
2 Greedy-Algorithmus
Definition
Beispiele
Effizienz
3 Independent Set Polytop
Definition
Charakterisierung
Folgerung
1
Ingo Kleinert
Zusammenfassung
Übersicht
Matroide
Greedy-Algorithmus
Independent Set Polytop
Übersicht
Matroide
Definition, Begriffe
Beispiele
Alternative Charakterisierungen
2 Greedy-Algorithmus
Definition
Beispiele
Effizienz
3 Independent Set Polytop
Definition
Charakterisierung
Folgerung
4 Zusammenfassung
1
Ingo Kleinert
Zusammenfassung
Übersicht
Matroide
Greedy-Algorithmus
Independent Set Polytop
Definition, Begriffe
Matroid, unabhängig, Basis, Rang
Ingo Kleinert
Zusammenfassung
Übersicht
Matroide
Greedy-Algorithmus
Independent Set Polytop
Definition, Begriffe
Matroid, unabhängig, Basis, Rang
Matroid:
(S, I) heißt Matroid, wenn S endliche Menge ist und
∅=
6 I ⊆ 2S folgende Eigenschaften erfüllt:
Ingo Kleinert
Zusammenfassung
Übersicht
Matroide
Greedy-Algorithmus
Independent Set Polytop
Definition, Begriffe
Matroid, unabhängig, Basis, Rang
Matroid:
(S, I) heißt Matroid, wenn S endliche Menge ist und
∅=
6 I ⊆ 2S folgende Eigenschaften erfüllt:
1 I ∈ I und J ⊆ I ⇒ J ∈ I
Ingo Kleinert
Zusammenfassung
Übersicht
Matroide
Greedy-Algorithmus
Independent Set Polytop
Definition, Begriffe
Matroid, unabhängig, Basis, Rang
Matroid:
(S, I) heißt Matroid, wenn S endliche Menge ist und
∅=
6 I ⊆ 2S folgende Eigenschaften erfüllt:
1 I ∈ I und J ⊆ I ⇒ J ∈ I
2 I, J ∈ I und |I| < |J| ⇒ ∃z ∈ J \ I : I ∪ {z} ∈ I.
Ingo Kleinert
Zusammenfassung
Übersicht
Matroide
Greedy-Algorithmus
Independent Set Polytop
Zusammenfassung
Definition, Begriffe
Matroid, unabhängig, Basis, Rang
Matroid:
(S, I) heißt Matroid, wenn S endliche Menge ist und
∅=
6 I ⊆ 2S folgende Eigenschaften erfüllt:
1 I ∈ I und J ⊆ I ⇒ J ∈ I
2 I, J ∈ I und |I| < |J| ⇒ ∃z ∈ J \ I : I ∪ {z} ∈ I.
Unabhängigkeit: I ⊆ S heißt unabhängig, falls I ∈ I, andernfalls
abhängig
Ingo Kleinert
Übersicht
Matroide
Greedy-Algorithmus
Independent Set Polytop
Zusammenfassung
Definition, Begriffe
Matroid, unabhängig, Basis, Rang
Matroid:
(S, I) heißt Matroid, wenn S endliche Menge ist und
∅=
6 I ⊆ 2S folgende Eigenschaften erfüllt:
1 I ∈ I und J ⊆ I ⇒ J ∈ I
2 I, J ∈ I und |I| < |J| ⇒ ∃z ∈ J \ I : I ∪ {z} ∈ I.
Unabhängigkeit: I ⊆ S heißt unabhängig, falls I ∈ I, andernfalls
abhängig
Basis: B ⊆ U ⊆ S heißt Basis von U, falls B ∈ I und es kein
Z ∈ I gibt mit B ⊂ Z ⊆ U.
Ingo Kleinert
Übersicht
Matroide
Greedy-Algorithmus
Independent Set Polytop
Zusammenfassung
Definition, Begriffe
Matroid, unabhängig, Basis, Rang
Matroid:
(S, I) heißt Matroid, wenn S endliche Menge ist und
∅=
6 I ⊆ 2S folgende Eigenschaften erfüllt:
1 I ∈ I und J ⊆ I ⇒ J ∈ I
2 I, J ∈ I und |I| < |J| ⇒ ∃z ∈ J \ I : I ∪ {z} ∈ I.
Unabhängigkeit: I ⊆ S heißt unabhängig, falls I ∈ I, andernfalls
abhängig
Basis: B ⊆ U ⊆ S heißt Basis von U, falls B ∈ I und es kein
Z ∈ I gibt mit B ⊂ Z ⊆ U.
Rang: Die gemeinsame Größe rM (U) der Basen von U ⊆ S
heißt Rang von U.
Ingo Kleinert
Übersicht
Matroide
Greedy-Algorithmus
Independent Set Polytop
Zusammenfassung
Beispiele
uniformer Matroid:
Gegeben sei eine Menge S und eine Zahl k ∈ N. Die
unabhängigen Mengen seien die Teilmengen I ⊆ S mit |I| ≤ k .
Dieser so konstruierte Matroid heißt k-uniformer Matroid
Unk , n = |S|.
Ingo Kleinert
Übersicht
Matroide
Greedy-Algorithmus
Independent Set Polytop
Zusammenfassung
Beispiele
linearer Matroid:
Lemma
Gegeben sei eine Matrix A ∈ Rm×n . Die Menge aller
Teilmengen mit unabhängigen Spaltenvektoren von A bilden
einen Matroiden.
Ingo Kleinert
Übersicht
Matroide
Greedy-Algorithmus
Independent Set Polytop
Zusammenfassung
Beispiele
linearer Matroid:
Lemma
Gegeben sei eine Matrix A ∈ Rm×n . Die Menge aller
Teilmengen mit unabhängigen Spaltenvektoren von A bilden
einen Matroiden.
Beweis.
1
I ∈ I und J ⊆ I ⇒ J ∈ I: ist klar.
2
I, J ∈ I und |I| < |J| ⇒ ∃z ∈ J \ I : I ∪ {z} ∈ I:
Sei I, J ∈ I und |I| < |J|. Dann spannt I einen |I|
-dimensionalen Raum auf, und J einen |J| -dimensionalen
Raum. Es gibt also einen Vektor z ∈ J \ I, der unabhängig
zu den Vektoren aus I ist. Also: I + z ∈ I und z ∈ J \ I.
Ingo Kleinert
Übersicht
Matroide
Greedy-Algorithmus
Independent Set Polytop
Zusammenfassung
Beispiele
Kreis-Matroid:
Lemma
Sei G = (V , E) ein Graph und I bestehe aus allen Teilmengen
von E, die einen Wald bilden.
Dann ist M = (E, I) ein Matroid.
Ingo Kleinert
Übersicht
Matroide
Greedy-Algorithmus
Independent Set Polytop
Zusammenfassung
Beispiele
Kreis-Matroid:
Lemma
Sei G = (V , E) ein Graph und I bestehe aus allen Teilmengen
von E, die einen Wald bilden.
Dann ist M = (E, I) ein Matroid.
Beweis.
1
Ingo Kleinert
I ∈ I und J ⊆ I ⇒ J ∈ I: ist klar.
Übersicht
Matroide
Greedy-Algorithmus
Independent Set Polytop
Zusammenfassung
Beispiele
Kreis-Matroid:
Lemma
Sei G = (V , E) ein Graph und I bestehe aus allen Teilmengen
von E, die einen Wald bilden.
Dann ist M = (E, I) ein Matroid.
Beweis.
1
I ∈ I und J ⊆ I ⇒ J ∈ I: ist klar.
2
I, J ∈ I und |I| < |J| ⇒ ∃z ∈ J \ I : I ∪ {z} ∈ I:
Sei F ⊆ E. Dann ist nach Definition jede Basis B ⊆ F
maximaler Wald von F. Also ist B Spannbaum von (V , F )
mit |V | − k Elementen (k ist Anzahl an Komponenten von
(V , F )). Jede Basis von F hat also gleich viele Elemente.
Ingo Kleinert
Übersicht
Matroide
Greedy-Algorithmus
Independent Set Polytop
Alternative Charakterisierungen
Charakterisierung mittels Basen
Ingo Kleinert
Zusammenfassung
Übersicht
Matroide
Greedy-Algorithmus
Independent Set Polytop
Alternative Charakterisierungen
Charakterisierung mittels Basen
Theorem
Sei S eine Menge und ∅ =
6 B ⊆ 2S .Dann sind äquivalent:
Ingo Kleinert
Zusammenfassung
Übersicht
Matroide
Greedy-Algorithmus
Independent Set Polytop
Alternative Charakterisierungen
Charakterisierung mittels Basen
Theorem
Sei S eine Menge und ∅ =
6 B ⊆ 2S .Dann sind äquivalent:
1
Ingo Kleinert
B besteht aus Basen eines Matroiden;
Zusammenfassung
Übersicht
Matroide
Greedy-Algorithmus
Independent Set Polytop
Zusammenfassung
Alternative Charakterisierungen
Charakterisierung mittels Basen
Theorem
Sei S eine Menge und ∅ =
6 B ⊆ 2S .Dann sind äquivalent:
1
B besteht aus Basen eines Matroiden;
2
B, B 0 ∈ B ∧ x ∈ B 0 \ B ⇒ ∃y ∈ B \ B 0 : B 0 − x + y ∈ B
Ingo Kleinert
Übersicht
Matroide
Greedy-Algorithmus
Independent Set Polytop
Zusammenfassung
Alternative Charakterisierungen
Charakterisierung mittels Basen
Theorem
Sei S eine Menge und ∅ =
6 B ⊆ 2S .Dann sind äquivalent:
1
B besteht aus Basen eines Matroiden;
2
B, B 0 ∈ B ∧ x ∈ B 0 \ B ⇒ ∃y ∈ B \ B 0 : B 0 − x + y ∈ B
3
B, B 0 ∈ B ∧ x ∈ B 0 \ B ⇒ ∃y ∈ B \ B 0 : B − y + x ∈ B.
Ingo Kleinert
Übersicht
Matroide
Greedy-Algorithmus
Independent Set Polytop
Alternative Charakterisierungen
Charakterisierung mittels Kreisen
Ingo Kleinert
Zusammenfassung
Übersicht
Matroide
Greedy-Algorithmus
Independent Set Polytop
Zusammenfassung
Alternative Charakterisierungen
Charakterisierung mittels Kreisen
Theorem
Sei S eine Menge und ∅ =
6 C ⊆ 2S , so dass keine Menge in C
Teilmenge einer anderen Menge aus C ist. Dann sind
äquivalent:
Ingo Kleinert
Übersicht
Matroide
Greedy-Algorithmus
Independent Set Polytop
Zusammenfassung
Alternative Charakterisierungen
Charakterisierung mittels Kreisen
Theorem
Sei S eine Menge und ∅ =
6 C ⊆ 2S , so dass keine Menge in C
Teilmenge einer anderen Menge aus C ist. Dann sind
äquivalent:
1
Ingo Kleinert
C besteht aus Kreisen eines Matroids;
Übersicht
Matroide
Greedy-Algorithmus
Independent Set Polytop
Zusammenfassung
Alternative Charakterisierungen
Charakterisierung mittels Kreisen
Theorem
Sei S eine Menge und ∅ =
6 C ⊆ 2S , so dass keine Menge in C
Teilmenge einer anderen Menge aus C ist. Dann sind
äquivalent:
1
2
Ingo Kleinert
C besteht aus Kreisen eines Matroids;
C, C 0 ∈ C, x ∈ C ∩ C 0 ∧ y ∈ C \ C 0 ⇒ (C ∪ C 0 ) \ {x} enthält
eine Menge aus C, die y enthält.
Übersicht
Matroide
Greedy-Algorithmus
Independent Set Polytop
Alternative Charakterisierungen
Charakterisierung mittels Rangfunktion
Ingo Kleinert
Zusammenfassung
Übersicht
Matroide
Greedy-Algorithmus
Independent Set Polytop
Alternative Charakterisierungen
Charakterisierung mittels Rangfunktion
Theorem
Sei S Menge und T , U ⊆ S.
Die Rangfunktion r eines Matroiden besitzt die folgenden
Eigenschaften:
Ingo Kleinert
Zusammenfassung
Übersicht
Matroide
Greedy-Algorithmus
Independent Set Polytop
Alternative Charakterisierungen
Charakterisierung mittels Rangfunktion
Theorem
Sei S Menge und T , U ⊆ S.
Die Rangfunktion r eines Matroiden besitzt die folgenden
Eigenschaften:
1
Ingo Kleinert
r (T ) ≤ r (U) ≤ |U|, für T ⊆ U;
Zusammenfassung
Übersicht
Matroide
Greedy-Algorithmus
Independent Set Polytop
Alternative Charakterisierungen
Charakterisierung mittels Rangfunktion
Theorem
Sei S Menge und T , U ⊆ S.
Die Rangfunktion r eines Matroiden besitzt die folgenden
Eigenschaften:
1
r (T ) ≤ r (U) ≤ |U|, für T ⊆ U;
2
r (T ∩ U) + r (T ∪ U) ≤ r (T ) + r (U).
Ingo Kleinert
Zusammenfassung
Übersicht
Matroide
Greedy-Algorithmus
Definition
Der Greedy-Algorithmus
Ingo Kleinert
Independent Set Polytop
Zusammenfassung
Übersicht
Matroide
Greedy-Algorithmus
Independent Set Polytop
Zusammenfassung
Definition
Der Greedy-Algorithmus
Definition
Problem: Seien S endliche Menge und ∅ =
6 I ⊆ 2S . Für jede
Gewichtsfunktion w : S → R suchen wir Menge I ∈ I, die w(I)
maximiert.
Ingo Kleinert
Übersicht
Matroide
Greedy-Algorithmus
Independent Set Polytop
Zusammenfassung
Definition
Der Greedy-Algorithmus
Definition
Problem: Seien S endliche Menge und ∅ =
6 I ⊆ 2S . Für jede
Gewichtsfunktion w : S → R suchen wir Menge I ∈ I, die w(I)
maximiert.
Greedy-Algorithmus:
Ingo Kleinert
Übersicht
Matroide
Greedy-Algorithmus
Independent Set Polytop
Zusammenfassung
Definition
Der Greedy-Algorithmus
Definition
Problem: Seien S endliche Menge und ∅ =
6 I ⊆ 2S . Für jede
Gewichtsfunktion w : S → R suchen wir Menge I ∈ I, die w(I)
maximiert.
Greedy-Algorithmus:
1
Ingo Kleinert
Setze I := ∅
Übersicht
Matroide
Greedy-Algorithmus
Independent Set Polytop
Zusammenfassung
Definition
Der Greedy-Algorithmus
Definition
Problem: Seien S endliche Menge und ∅ =
6 I ⊆ 2S . Für jede
Gewichtsfunktion w : S → R suchen wir Menge I ∈ I, die w(I)
maximiert.
Greedy-Algorithmus:
1
Setze I := ∅
2
Suche y ∈ S \ I mit I ∪ {y } ∈ I und w(y ) größtmöglich
Ingo Kleinert
Übersicht
Matroide
Greedy-Algorithmus
Independent Set Polytop
Zusammenfassung
Definition
Der Greedy-Algorithmus
Definition
Problem: Seien S endliche Menge und ∅ =
6 I ⊆ 2S . Für jede
Gewichtsfunktion w : S → R suchen wir Menge I ∈ I, die w(I)
maximiert.
Greedy-Algorithmus:
1
Setze I := ∅
2
Suche y ∈ S \ I mit I ∪ {y } ∈ I und w(y ) größtmöglich
3
Falls y gefunden, setze I := I ∪ {y} und gehe zu 2.
andernfalls stoppe.
Ingo Kleinert
Übersicht
Matroide
Greedy-Algorithmus
Independent Set Polytop
Definition
Greedy-Algorithmus auf Matroiden
Ingo Kleinert
Zusammenfassung
Übersicht
Matroide
Greedy-Algorithmus
Independent Set Polytop
Zusammenfassung
Definition
Greedy-Algorithmus auf Matroiden
Theorem
Sei S eine Menge und ∅ =
6 I ⊆ 2S abgeschlossen bezüglich
der Teilmengenoperation. Dann:
(S, I) ist Matroid ⇔ Für jede Gewichtsfunktion w : S → R+
führt der Greedy-Algorithmus zu einer maximalgewichteten
Menge I ∈ I (bzgl. w).
Ingo Kleinert
Übersicht
Matroide
Greedy-Algorithmus
Independent Set Polytop
Beispiele
Beispiele für Greedy-Algorithmen
Ingo Kleinert
Zusammenfassung
Übersicht
Matroide
Greedy-Algorithmus
Independent Set Polytop
Beispiele
Beispiele für Greedy-Algorithmen
Kruskal-Algorithmus zum Auffinden eines minimalen
Spannbaums eines Graphen
Ingo Kleinert
Zusammenfassung
Übersicht
Matroide
Greedy-Algorithmus
Independent Set Polytop
Zusammenfassung
Beispiele
Beispiele für Greedy-Algorithmen
Kruskal-Algorithmus zum Auffinden eines minimalen
Spannbaums eines Graphen
Dijkstra-Algorithmus zum Finden kürzester Wege in einem
Graphen
Ingo Kleinert
Übersicht
Matroide
Greedy-Algorithmus
Independent Set Polytop
Zusammenfassung
Effizienz
Effizienz von Greedy-Alorithmen auf Matroiden
Problem: Beschreibung des Matroiden (S, I), denn Anzahl aller
unabhängigen Mengen ist exponentiell zur Größe von S.
Ingo Kleinert
Übersicht
Matroide
Greedy-Algorithmus
Independent Set Polytop
Zusammenfassung
Effizienz
Effizienz von Greedy-Alorithmen auf Matroiden
Problem: Beschreibung des Matroiden (S, I), denn Anzahl aller
unabhängigen Mengen ist exponentiell zur Größe von S.
Annahme: Annahme der Existenz eines
Unabhängigkeitstest-Orakels (Algorithmus), welches überprüft,
ob Menge S ⊇ I ∈ I.
In Anwendungen meist mittels polynomieller Algorithmen (bzgl.
Größe von S) möglich.
Ingo Kleinert
Übersicht
Matroide
Greedy-Algorithmus
Independent Set Polytop
Zusammenfassung
Effizienz
Effizienz von Greedy-Alorithmen auf Matroiden
Problem: Beschreibung des Matroiden (S, I), denn Anzahl aller
unabhängigen Mengen ist exponentiell zur Größe von S.
Annahme: Annahme der Existenz eines
Unabhängigkeitstest-Orakels (Algorithmus), welches überprüft,
ob Menge S ⊇ I ∈ I.
In Anwendungen meist mittels polynomieller Algorithmen (bzgl.
Größe von S) möglich.
Corollary
Eine maximal-gewichtete unabhängige Menge eines Matroiden
kann in polynomieller Zeit gefunden werden.
Ingo Kleinert
Übersicht
Matroide
Greedy-Algorithmus
Definition
Independent set polytop
Ingo Kleinert
Independent Set Polytop
Zusammenfassung
Übersicht
Matroide
Greedy-Algorithmus
Independent Set Polytop
Zusammenfassung
Definition
Independent set polytop
Definition
Die konvexe Hülle der Inzidenzvektoren der unabhängigen
Mengen eines Matroiden M = (S, I) heißt independent set
polytop Pindset (M).
Das bedeutet, Pindset (M) ist ein Polytop in R|S| .
Ingo Kleinert
Übersicht
Matroide
Greedy-Algorithmus
Charakterisierung
Independent set polytop
Ingo Kleinert
Independent Set Polytop
Zusammenfassung
Übersicht
Matroide
Greedy-Algorithmus
Independent Set Polytop
Zusammenfassung
Charakterisierung
Independent set polytop
Theorem
P(M) = x ∈ R|S| : xs ≥ 0, s ∈ S ∧ x(U) ≤ rM (U), U ⊆ S .
Ingo Kleinert
Übersicht
Matroide
Greedy-Algorithmus
Independent Set Polytop
Folgerung
Independent set polytop und LP
Ingo Kleinert
Zusammenfassung
Übersicht
Matroide
Greedy-Algorithmus
Independent Set Polytop
Zusammenfassung
Folgerung
Independent set polytop und LP
Sei w : S → R Gewichtsfunktion.
Dann finden wir durch Lösen des folgenden linearen
Programms eine maximalgewichtete Menge J des Matroiden
M = (S, I):
max
w T x,
s.t.
xs ≥ 0
(s ∈ S),
x(U) ≤ rM (U) (U ⊆ S).
Ingo Kleinert
Übersicht
Ende
Ingo Kleinert
Matroide
Greedy-Algorithmus
Independent Set Polytop
Zusammenfassung
Übersicht
Matroide
Greedy-Algorithmus
Ende
Vielen Dank für die Aufmerksamkeit!
Ingo Kleinert
Independent Set Polytop
Zusammenfassung