Aufgabe 6.2 Sei G = (V, E) ein Graph mit V = {v1 , . . . , vn } und Maximalgrad ∆. Der folgende Algorithmus MaxStableSet hat das Ziel, eine möglichst große stabile Menge in G zu finden: 1) S := ∅ 2) for i := 1 to n do 3) if G[S ∪ {vi }] enthält keine Kante then S := S ∪ {vi } 4) return S a) Für ein bestimmtes Unabhängigkeitssystem U und eine Gewichtsfunktion c auf der Grundmenge von U ist MaxStableSet ein Greedy-Algorithmus eines Maximierungsproblems über U . Geben Sie U und c an und begründen Sie, warum U ein Unabhängigkeitssystem ist. b) Konstruieren Sie einen Beispielgraphen, in dem der Algorithmus (evtl.) nur einen einzigen Knoten auswählt, obwohl es eine stabile Menge der Größe ∆ gibt. c) Zeigen Sie: Wenn S g die von MaxStableSet gefundene stabile Menge in G und S ∗ eine größte stabile Menge in G ist, dann gilt |S g |/|S ∗ | ≥ 1/∆. Lösung zu Aufgabe 6.2 a) Für das Unabhängigkeitssystem U = (V, I) mit I := {W ⊂ E : W ist stabile Menge in G} und Gewichtsfunktion c : V → R>0 , definiert durch c(v) = 1, ∀v ∈ V , ist MaxStableSet ein Greedy-Algorithmus zur Maximierung über U . U ist ein Unabhängigkeitssystem, da die leere Menge eine stabile Menge ist und jede Teilmenge einer stabilen Menge in G auch wieder stabile Menge in G ist. b) Wir betrachten die von MaxStableSet gefundene stabile Menge S g und eine größte stabile Menge S ∗ . Nach Konstruktion ist S g inklusionsmaximal. Wir setzen voraus, dass ∆ ≥ 1. (Für ∆ = 0 gilt offensichtlich, dass S ∗ = S g .) Es gilt: ∀s ∈ S ∗ : s ∈ S g ∨ s ∈ N (S g ), weil S g sonst nicht inklusionsmaximal wäre. Genauer gilt: ∀s ∈ S ∗ : s ∈ (S g ∩ S ∗ ) ∨ s ∈ N (S g \ (S g ∩ S ∗ )), weil S ∗ keine stabile Menge wäre, wenn es ein s ∈ S ∗ mit s ∈ N (S g ∩ S ∗ ) gäbe. S ∗ ist also die disjunkte Vereinigung von S1∗ := S ∗ ∩ S g und S2∗ := S ∗ ∩ N (S g \ S1∗ ) ⊆ N (S g \ S1∗ ). Daraus folgt: |S ∗ | = |S1∗ | + |S2∗ | ≤ |S1∗ | + |N (S g \ S1∗ )| ≤ |S1∗ | + ∆ · |S g \ S1∗ | = |S1∗ | + ∆ · (|S g | − |S1∗ |) ≤ ∆ · |S g | Aufgabe 6.3 Sei G = (V, E) ein gerichteter Graph mit |V | = n Knoten. Dann ist S = {S ⊂ E : S enthält keinen gerichteten Kreis} ein Unabhängigkeitssystem (vgl. Aufgabe 5.3 a)). a) Zeigen Sie: Ist E = V 2 \ {(v, v) : v ∈ V }, dann gilt: Es existiert F ⊂ E, sodass r− (UF ) = Θ(n) und r+ (UF ) = Θ(n2 ). b) Geben Sie eine Zielfunktion ` : E → N0 an, sodass für eine mögliche Greedy-Lösung S g und eine optimale Lösung S ∗ gilt `(S g )/`(S ∗ ) → 0 für (n → ∞). Lösung zu Aufgabe 6.3 a) Sei V := {v1 , . . . , vn }. Dann betrachte F := F1 ∪ F2 mit F1 := {e = (vi , vj ) : i ∈ {1, . . . , n − 1}, j ∈ {i + 1, . . . , n}} und F2 := {e = (vi , vi−1 ) : i ∈ {2, . . . , n}}. Offensichtlich sind F1 und F2 inklusionsmaximale unabhängige Mengen in UF und es gilt, dass |F1 | = 12 · n · (n − 1) = Θ(n2 ) und |F2 | = n − 1 = Θ(n). b) Wir betrachten wieder die Mengen F1 , F2 und F aus Aufgabe (a) und definieren die 2 e ∈ F 2 Zielfunktion ` : E → N0 durch `(e) = 1 e ∈ F1 0 e∈E\F `(S g ) n−1 Dann gilt: `(S ∗ ) = 4 · n·(n−1) → 0 für (n → ∞). Aufgabe 6.4 Sei E eine endliche Menge. Zeigen Sie: a) Für jedes A ⊂ E ist das Mengensystem IA := {I ∈ 2E : A 6⊂ I} ein Matroid. b) Jedes Unabhängigkeitssystem (E, I) mit I ⊂T2E lässt sich als Durchschnitt von Matroiden (E, Mk ), k ∈ K darstellen (also I = k∈K Mk ). Lösung zu Aufgabe 6.4 a) Wir setzen voraus, dass A 6= ∅, denn sonst gilt IA = ∅ und (E, IA ) ist kein Matroid. • (E, IA ) ist Unabhängigkeitssystem: Seien B ⊂ C ∈ IA . Dann gilt: A 6⊂ C und somit A 6⊂ B. Daraus folgt: B ∈ IA . • (E, IA ) ist Matroid : Es gibt mehrere Möglichkeiten, diese Aussage zu zeigen. Eine ist die folgende: Seien B, C ∈ IA mit |B| < |C|. 1.Fall, |A \ B| ≥ 2: Dann gilt für jedes beliebige e ∈ C \ B, dass B ∪ {e} ∈ IA . 2.Fall, A \ B = {e} (d.h., B enthält alle Elemente aus A außer e): Angenommen, C \ B = {e} (d.h., e wäre das einzige Element in C, das nicht in B ist). Dann müsste gelten, dass C = B ∪ {e}, da |C| > |B|. Das hieße jedoch, dass A ⊂ C. Widerspruch zu C ∈ IA . Es gibt also ein e0 ∈ C \ B mit e0 ∈ E \ A und B ∪ {e0 } ∈ IA . b) Sei U = (E, I) ein Unabhängigkeitssystem mit I ⊂ 2E . Betrachte alle Kreise Ck mit k ∈ K von U und definiere die Mengensysteme Mk für k ∈ K als Mk := ICk (nach Aufgabe (a) sind (E, ICk ) Matroide). Für jede unabhängige Menge I ∈ I des Unabhängigkeitssystems gilt nach Definition: T T Ck 6⊂ I, d.h. I ∈ ICk , für alle k ∈ K und somit I ∈ k∈K Mk . Also gilt I ⊂ k∈K Mk . T Umgekehrt gilt für jede Menge I 0 ∈ k∈K Mk , dass I 0 ∈ ICk für alle k ∈ K. D.h., Ck 6⊂ I 0 , I 0 enthält keinen der Kreise Ck von U (und damit allgemein keine abhängige Menge) T und ist somit eine unabhängige Menge des Unabhängigkeitssystems. Daraus folgt k∈K Mk ⊂ I.