1.Aufgabe: Minimal aufspannender Baum v1
3
4 7 6 v7
v2
1 6
9 6
v4 v3
11+4+8 Punkte
v5
v6
4
7 3
5
4
1
8 6
v8
v9
3 7
2 v10
Abbildung 1: Der Graph G mit Kantengewichten
(a) Bestimme mit Hilfe des Algorithmus von Prim einen MST im Graphen G aus Abbildung 1. Starte dabei mit dem Knoten v1 und gib die Knoten in der Reihenfolge an, in der sie in den Baum aufgenommen werden, sowie den berechneten MST.
R
(b) Gegeben sei ein ungerichteter Graph G mit Kantengewichten c : E(G) 7→ und ein ausgezeichneter Knoten v ∈ V (G). Gesucht wird ein minimaler aufspannender Baum, in dem v kein Blatt ist. Angenommen, wir lassen den Algorithmus von Kruskal oder Prim auf G laufen und erhalten einen MST T , in dem v ein Blatt ist. Beweise oder widerlege: Hinzuf¨ugen der n¨achst billigen Kante e, die zu v inzident ist und Entfernen der teuersten Kante f im entstehenden Kreis in T ∪ {e} liefert das gew¨unschte Ergebnis (als Baum T ∪ {e}\{f }).
R
(c) Gegeben sei ein ungerichteter Graph G mit Kantengewichten c : E(G) 7→ . Gesucht wird ein aufspannender Baum, in dem die schwerste Kante so leicht wie m¨oglich ist. Wir bezeichnen diesen Baum als Bottleneck-Spannbaum. Zeige, dass ein minimaler aufspannender Baum ein Bottleneck-Spannbaum ist.
1
¨ 2.Aufgabe: Kurzester Weg
8+5 Punkte
v1 4 e1 e2 3
1
v2
s e6
2
3e
t
e4
e5 3 e7
3
5
v3 Abbildung 2: Der Graph G mit Kantenl¨angen
(a) Bestimme im Graphen aus Abbildung 2 mit Hilfe des Algorithmus von Moore, Bellman und Ford einen k¨urzesten Weg von s nach t. Gib f¨ur jeden Schleifendurchlauf die L¨angen und die Vorg¨anger, die sich a¨ ndern, an. Durchlaufe die Kanten immer in der Reihenfolge e1 , e 2 , . . . , e 7 . (b) Sei G ein gerichteter Graph mit Kantengewichten c : E(G) 7→ ist. Zeige oder widerlege die folgende Aussage:
R, wobei c(e) < 0 m¨oglich
Wir definieren c(e) = c(e) + K, wobei K so gew¨ahlt wird, dass c(e) ≥ 0 ∀ e ∈ E . Nun bestimmen wir einen k¨urzesten Weg in G mit Kantengewichten c. Behauptung: Dieser Weg ist auch ein k¨urzester Weg in G mit Kantengewichten c. 3.Aufgabe: Maximaler Fluss
7+7 Punkte
(a) Gib den Residualgraphen und die Residualkapazit¨aten zum Netzwerk (G, u, s, t) aus Abbildung 3 an. (b) F¨uhre eine Iteration des Algorithmus von Edmonds und Karp aus. Gib dazu den augmentierenden Pfad und das Netzwerk mit den neuen Flusswerten an.
2
v1
8, 4
4, 2
v2
2, 2
5, 2
2, 0
v3 1, 1
s
v4 2, 2
t
3, 1 3, 3
1, 1 v5
5, 3
7, 3 v6
Abbildung 3: Das Netzwerk (G, u, s, t). Die Tupel an den Kanten haben die Form (Kapazit¨at, Flusswert).
4.Aufgabe: Maximales Matching
3+7+5+2 Punkte
v2
v1
v3 v5
v3
v2
v1
v4
v6
v7
v4
v8
v5
v10
v9
v11
v6
v12 (a)
v7
v8
(b)
Abbildung 4: (a) Graph G1 , (a) Graph G2
(a) Betrachten den Graphen G1 mit Matching M1 = {{v1 , v5 }, {v2 , v8 }, {v3 , v4 }, {v9 , v10 }, {v11 , v12 }} in Abbildung 4(a) und den Graphen G2 mit Matching M2 = {{v1 , v2 }, {v4 , v5 }} in Abbildung 4(b). Bestimme Matchings maximaler Gr¨oße f¨ur G1 und G2 durch Verbesserungen der aktuellen Matchings mittels augmentierender Pfade. (b) Das Problem ein kardinalit¨atsmaximales Matching in einem bipartiten Graphen l¨asst sich durch Formulierung als Flußproblem l¨osen. Beschreibe das Vorgehen. (c) Betrachte den bipartiten Graphen G aus Abbildung 5. Es soll mit Hilfe der Flussformulierung ein kardinalit¨atsmaximales Matching in G bestimmt werden. 3
v1
v6
v2
v7
v3
v8
v4
v9
v5
v10
Abbildung 5: Graph G.
Zeichne das Netzwerk, in dem ein maximaler Fluss bestimmt werden muss. (d) Trage einen Fluss mit Wert 4 in das Netzwerk aus (c) ein. (Hinweis: Dazu braucht kein Algorithmus angewendet zu werden.) 5.Aufgabe: Perfektes Matching
5+2+10 Punkte
(a) Hat der Graph G aus Abbildung 6 ein perfektes Matching? Begr¨unde deine Aussage. (b) Ist der Graph G aus Abbildung 7 bipartit? Begr¨unde deine Aussage. (c) Gegeben sei der Graph G aus Abbildung 7 und das Matching M = {e5 , e6 }. Entscheide mit Hilfe von Algorithmus 5.15 (Blossom-Algorithmus) aus der Vorlesung, ob G ein perfektes Matching hat oder nicht. Starte dabei mit dem Matching M . Gib nach jeder · Augmentierung das neue Matching · Baum-erweitern-Operation den neuen Baum · Schrumpfung den neuen Baum und den Graphen G′ an. W¨ahle dabei immer den ungematchten Knoten mit dem kleinsten Index als Startknoten f¨ur den Baum. Kommen bei der Auswahl der Kante in Schritt 3 von Algorithmus 5.15 mehrere Kanten in Frage, w¨ahle die mit dem kleinsten Kantenindex. 6.Aufgabe: Fragen
3+3+3+4+3 Punkte
Alle Antworten bitte mit Begr¨undung. 4
v2
v1
v7
v6
v5
v4
v9
v8
v3
v10 v11 v12 v15
v13
v14
v17
v16
v18 Abbildung 6: Graph G.
5
v6
e7 v4
v5
e3
e5 e1 v1
e2
e6
e4 v2
v3
Abbildung 7: Graph G.
(a) Vergleiche den Moore-Bellman-Ford-Algorithmus mit dem Algorithmus von Dijkstra. Nenne einen Vorteil und einen Nachteil des ersten gegen¨uber dem zweiten. (b) Gib eine m¨oglichst große Klasse von Graphen an, f¨ur die der Blossom-Algorithmus ein perfektes Matching findet. (c) Ist das Problem, einen minimalen s-t-Cut in einem Netzwerk (G, u, s, t) zu finden, in polynomieller Zeit l¨osbar? Warum? (d) Welche Schl¨usseleigenschaft muss ein Problem aufweisen, wenn es mit Dynamischer Programmierung gel¨ost werden soll? (e) Nenne einen Greedy-Algorithmus f¨ur das Problem der Bestimmung eines MSTs. Viel Erfolg!!!
6