Aufgabe 6.2 Sei G = (V,E) ein Graph mit V

Werbung
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.
Herunterladen