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