Aufgabe 4.2 Sei G = (V,E,l) ein ungerichteter, gewichteter und

Werbung
Aufgabe 4.2
Sei G = (V, E, l) ein ungerichteter, gewichteter und zusammenhängender Graph.
a) Es seien W1 = (V, E1 ), W2 = (V, E2 ) Untergraphen von G, die beide Wälder sind.
Weiter gelte |E1 | > |E2 |. Zeigen Sie: Es gibt e ∈ E1 \ E2 , sodass der Untergraph
W3 = (V, E2 ∪ {e}) ebenfalls ein Wald ist.
b) Es seien S = (V, ES ) und T = (V, ET ) zwei minimale/maximale aufspannende Bäume
von G und ES ∆ET = {eS , eT }. Zeigen Sie: l(eS ) = l(eT ).
c) Zeigen Sie: Sind S und T zwei minimale/maximale aufspannende Bäume (aber sonst
beliebig) dann existiert eine Bijektion φ : ES → ET , so dass für alle e ∈ ES gilt:
l(e) = l(φ(e)).
d) Wie berechnet man einen spannenden Baum in G, dessen größte Kante möglichst klein
ist?
e) Zeigen Sie: Ist W = (V, F ) ein Wald und gilt für e ∈ E, dass F ∪ {e} nicht kreisfrei
ist, dann enthält F ∪ {e} genau einen Kreis.
Verallgemeinern Sie die Aussage auf allgemeine Matroide und zeigen Sie, dass die
Aussage richtig bleibt.
Lösung zu Aufgabe 4.2
a) Möglichkeit 1: Hilfsaussage: Ein Wald mit n Knoten und n − k Kanten hat k
Zusammenhangskomponenten.
Aus dieser Aussage folgt die Behauptung: Da W1 mehr Kanten hat als W2 , hat W1
weniger Zusammenhangskomponenten (ZHK) als W2 . Also muss es in W1 eine Kante
e = {v, w} geben, die zwei ZHK aus W2 verbinden würde (sonst hätte W1 nicht weniger
ZHK als W2 ). Diese Kante e = {v, w} kann in W2 eingefügt werden, ohne dass ein Kreis
entsteht: Würde ein Kreis entstehen, dann wären v und w bereits in W2 miteinander
verbunden, aber das widerspräche der Tatsache, dass v und w in verschiedenen ZHK
von W2 liegen.
Beweis der Hilfsaussage: Induktion über k.
Induktionsanfang, k=1 Ein Wald mit n − 1 Kanten ist ein Baum, siehe VL.
Induktionsvoraussetzung Die Behauptung stimme für ein k ∈ [n].
Induktionsschluss Sei T = (V, E) ein Wald mit n − (k + 1) Kanten.
Es gibt ein Knotenpaar (v, w) mit v 6= w, sodass T 0 = (V, E ∪ {v, w}) wieder
Wald ist: Sonst würde jede zusätzliche Kante einen Kreis ergeben und T wäre als
kantenmaximal kreisfreier Graph ein Baum. Das kann nicht sein, da T höchstens
n − 2 Kanten hat.
Betrachte nun den eben gefundenen Wald T 0 : Er hat n − k Kanten und hat
damit laut Induktionsannahme k ZHK. Betrachte die ZHK H in T 0 , die die Kante
e = {v, w} enthält. Das Löschen der Kante e führt dazu, dass H in genau zwei
ZHK zerfällt. Denn
• Würde H − e nicht zerfallen, dann gäbe es in H einen Kreis. Widerspruch.
• H − e kann nicht drei oder mehr ZHK haben, denn Wiederhinzufügen von e
würde höchstens zwei von diesen verbinden können.
Damit wäre die Beh. bewiesen, weil alle anderen ZHK durch das Löschen von e
nicht verändert werden und somit die Anzahl der ZHK um eins erhöht wird ⇒ T
hat k + 1 ZHK.
Möglichkeit 2: Der Wald W2 habe die Zusammenhangskomponenten (ZHK) H1 , . . . , H` ,
die Knotenzahl in Hi werde mit ni bezeichnet, 1 ≤ i ≤ `.
Nun gilt für alle 1 ≤ i ≤ `: Da W2 ein Wald ist, ist Hi ein Baum und hat genau ni − 1
Kanten.
(∗): Nun kann der in W1 durch V (Hi ) induzierte Wald W1 [V (Hi )] nicht mehr als ni − 1
Kanten haben, weil es sonst einen Kreis in W1 [V (Hi )] gäbe.
Zusammen heißt das: Es muss eine Kante e in W1 geben, die einen Knoten v aus V (Hi )
und einen Knoten w aus V (Hj ) verbindet für passende i, j ∈ [`], i 6= j; sonst gäbe es
einen Widerspruch zu (∗). Diese Kante e = {v, w} kann in W2 eingefügt werden, ohne
dass ein Kreis entsteht: Würde ein Kreis entstehen, dann wären v und w bereits in W2
verbunden, aber das widerspräche der Tatsache, dass v und w in verschiedenen ZHK
von W2 liegen.
b) Offensichtlich, da beide Spannbäume optimal und sogar ES \ eS = ET \ et .
c) Klar: |ES ∆ET | = 2k für k ∈ N. Induktion nach k: Gilt |ES ∆ET | = 2 so folgt die
Aussage direkt aus b). Sei also |ES ∆ET | = 2(k + 1), k ∈ N und e1 ∈ ES ∆ET , sodass
`(e1 ) = max{`(e) : e ∈ ES ∆ET }; ohne Einschränkung sei e1 ∈ ES . Nach a) existiert ein
e2 ∈ ET \ Es , sodass EU = ES \ {e1 } ∪ {e2 } wieder ein Spannbaum ist. Da ES ein MST
ist, muss `(e1 ) ≤ `(e2 ) gelten und nach Wahl von e1 in ES ∆ET folgt damit `(e1 ) =
`(e2 ). Folglich ist auch EU ein minimaler Spannbaum. Nun gilt aber |EU ∆ET | =
2k, also existiert nach Induktionsvoraussetzung eine Bijektion ϕ mit den geforderten
Eigenschaften zwischen den Kanten in EU und ET . Sei σ : E → E, sodass σ(e1 ) = e2
und σ(e) = e für e 6= e1 . Dann hat ψ = σ ◦ ϕ die geforderte Eigenschaft.
d) Wir beweisen: Jeder MST ist ein ST (spannender Baum, spanning tree) mit kleinster
größter Kante.
Wenn das gezeigt ist, dann kann jeder MST-Algorithmus (also Prim, Kruskal) zum
Lösen des Problems verwendet werden.
Beweis der Behauptung (durch Widerspruch):
Sei T ∗ ein ST mit kleinster größter Kante und sei T ein MST, dessen größte Kante
größer als die von T ∗ ist. Die Kanten des Baums T ∗ haben die geordnete Gewichtsfolge
f1 ≤ · · · ≤ fn−1 , die Kanten des Baums T haben die geordnete Gewichtsfolge e1 ≤
· · · ≤ en−1 . Da die größte Kante von T größer ist als die von T ∗ , gilt fn−1 < en−1 und
damit auch f1 , . . . , fn−1 < en−1 . (∗∗) (Ziel: Wir tauschen in T Kanten so aus, dass
wir einen ST mit echt kleinerem Gewicht erhalten, so dass T kein MST gewesen sein
kann.) Betrachte T − en−1 . Wegen Aufgabenteil (a) muss T ∗ eine Kante fi enthalten,
so dass T − en−1 + fi wieder kreisfrei (und damit Baum) ist. Nun hat T − en−1 + fi
aber echt kleineres Gewicht als T , denn die schwerste Kante wurde aus T gestrichen
und durch eine echt leichtere ersetzt (siehe (∗∗)).
e) Angenommen e = {v, w} schließt zwei Kreise K1 6= K2 . Da (K1 ∪ K2 ) \ e ⊂ F ist
(K1 ∪ K2 ) \ e kreisfrei. Andererseits bilden K1 \ e und K2 \ e zwei verschiedene v, wWege, also enthält K1 ∪ K2 \ e einen Kreis – Widerspruch.
Für allgemeine Matroide kann man (fast) analog vorgehen oder wie folgt:
Sei (M, I) das Matroid, F ∈ I und F ∪ {e} 6∈ I. Definiere
F ∗ := {f ∈ F : F ∪ {e} \ {f } ∈ I}.
Behauptung: F ∗ ∪ {e} ist der eindeutige Kreis in F ∪ {e}.
Beweis: Zum Einen ist F ∗ ∪ {e} abhängig, denn wäre F ∗ ∪ {e} ∈ I dann müsste es ein
g ∈ F \ F ∗ geben, sodass F ∪ {e} \ {g} ∈ I im Widerspruch zur Definition von F ∗ .
Zum Anderen gilt F ∗ ∪ {e} ⊂ K für alle K ⊂ F ∪ {e} Kreis, denn e ∈ K und aus
f ∈ F ∗ \ K folgt K ⊂ F ∪ {e} \ {f } ∈ I, also K ∈ I – Widerspruch.
Aufgabe 4.3
Sei G = (V, E, `) ein gewichteter gerichteter Graph und v1 ∈ V . Dann ist A ⊂ E eine
Arboreszenz (Branching, gerichteter Baum) mit Wurzel v1 in G, wenn |A| = |V | − 1 und
für alle v ∈ V existieren gerichtete Wege von v1 nach v in A.
a) Formulieren Sie die Suche nach maximalen Arboreszenzen (mit Wurzel v1 ) in einem
gewichteten Digraphen als Maximierungsaufgabe über einem Unabhängigkeitssystem
U.
b) Um zu entscheiden, ob G eine Arboreszenz mit Wurzel v1 besitzt, kann man zum
vollständigen Graphen Ḡ = (V, (V )2 ) übergehen (mit (V )2 = {(v, w) : v, w ∈ V, v 6=
w}), die Gewichtsfunktion `(e) = 1, falls e ∈ E und `(e) = 0, falls e 6∈ E definieren
und fragen, ob es in Ḡ eine Arboreszenz A mit Wurzel v1 vom Gewicht `(A) = |V | − 1
gibt.
Zeigen Sie, dass eine gerichtete Variante des Prim-Algorithmus mit Anfangsknoten v1
das richtige Ergebnis liefert.
c) Zeigen Sie, dass der Algorithmus von Prim zur Bestimmung maximaler Arboreszenzen für beliebige Gewichtsfunktionen bereits auf kleinen Graphen beliebig schlechte
Lösungen erzeugt (d.h. ist AP die
Kantenmenge und A∗ eine
Pvon Prim ausgewählte
P
optimale Arboreszenz, dann gilt e∈AP `(e) < ( e∈A∗ `(e)) für beliebige > 0).
Lösung zu Aufgabe 4.3
a) Sei G = (V, E, `) ein gewichteter gerichteter Graph. Wir betrachten für eine Teilmenge
I ⊂ E die beiden Bedingungen
1) Der induzierte ungerichtete Graph G0 (I) ist kreisfrei;
2) Es gilt deginI (v) ≤ 1, ∀v ∈ V \ {v1 } und deginI (v1 ) = 0;
und definieren I ∈ Ij , falls I Bedingung j erfüllt. Dann bilden die Mengen M1 = (E, I1 )
und M2 = (E, I2 ) jeweils ein Matroid (graphisches Matroid bzw. Partitionsmatroid).
Damit ist U = M1 ∩ M2 := (E, I1 ∩ CI2 ) als Schnitt von zwei Matroiden ein Unabhängkeitssystem. Natürlich enthält U alle Arboreszenzen, und jede Arboreszenz A
ist eine Basis von U . Umgekehrt gilt für eine Basis B ∈ B, dass B Arboreszenz ist,
wenn |B| = |V | − 1.
Zu einer gegebenen Gewichtsfunktion ` : EP→ [0; ∞) definieren wir jetzt die Funktion `0
für e ∈ E durch `0 (e) = `(e)+N mit N = e∈E `(e), und betrachten das entsprechende
Optimierungsproblem
X
max `0 (I), mit `0 (I) =
`0 (e)
I∈I
e∈I
Aus der Definition von `0 folgt erstens, dass nur Basen mit Mächtigkeit |V | − 1 - also
Arboreszenzen - optimal sein können, und zweitens, dass die Optimallösung auch eine
maximale Arboreszenz bezüglich ` sein muss.
b) Wir zeigen zuerst, dass der Greedy-Algorithmus versagt. Dazu betrachten wir den
folgenden Graphen G.
Nach Voraussetzung bekommt jede Kante von G das Gewicht 1. Startet der GreedyAlgorithmus mit der gestricheleten Kante, so kann diese nicht mehr zu einer Arboreszenz des Graphen G ergänzt werden.
Wir betrachten jetzt die folgende Variante des Algorithmus von Prim: Analog zum
’gewöhnlichen’ Algorithmus von Prim (für Maximierung) lassen wir die Arboreszenz
ausgehend von v1 entlang gerichteter Kanten wachsen.
Natürlich findet der Algorithmus eine Arboreszenz in Ḡ, da in jedem Schritt ein noch
freier Knoten angeschlossen wird (d.h., es werden keine Kreise geschlossen, und am
Ende sind alle Knoten aus Ḡ angebunden). Enthält G keine Arboreszenz, so hat jede
Arboreszenz A in Ḡ nach Definition einen Wert |A| < |V | − 1 und der Algorithmus
arbeitet korrekt. Wir nehmen jetzt an, dass G eine Arboreszenz besitzt, aber der
Algorithmus versagt. In diesem Fall wird in (mindestens) einem Schritt ein Knoten
mit Label 0 hinzugefügt. Das ist aber gleichbedeutend damit, dass keine Kante in G
existiert, die die Menge der bisher gewählten Knoten mit den restlichen verbindet. Das
ist ein Widerspruch zur Voraussetzung.
c) Wir betrachten den folgenden Graphen G
Die maximale Arboreszenz mit Wurzel v1 hat den Wert N + 1. Die Variante des Algorithmus von Prim findet aber eine Arboreszenz, die nur den Wert 4 hat.
Herunterladen