1.Aufgabe: Minimal aufspannender Baum 11+4+8 Punkte Abbildung

Werbung
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ügen der nächst billigen Kante e, die zu v inzident ist und
Entfernen der teuersten Kante f im entstehenden Kreis in T ∪ {e} liefert das gewünschte
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öglich ist. Wir
bezeichnen diesen Baum als Bottleneck-Spannbaum.
Zeige, dass ein minimaler aufspannender Baum ein Bottleneck-Spannbaum ist.
1
2.Aufgabe: Kürzester 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ängen
(a) Bestimme im Graphen aus Abbildung 2 mit Hilfe des Algorithmus von Moore, Bellman
und Ford einen kürzesten Weg von s nach t. Gib für jeden Schleifendurchlauf die Längen
und die Vorgänger, die sich ä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öglich
Wir definieren c(e) = c(e) + K, wobei K so gewählt wird, dass c(e) ≥ 0 ∀ e ∈ E . Nun
bestimmen wir einen kürzesten Weg in G mit Kantengewichten c. Behauptung: Dieser Weg
ist auch ein kürzester Weg in G mit Kantengewichten c.
3.Aufgabe: Maximaler Fluss
7+7 Punkte
(a) Gib den Residualgraphen und die Residualkapazitäten zum Netzwerk (G, u, s, t) aus Abbildung 3 an.
(b) Führe 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ät,
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öße für G1 und G2 durch Verbesserungen der aktuellen
Matchings mittels augmentierender Pfade.
(b) Das Problem ein kardinalitätsmaximales Matching in einem bipartiten Graphen lässt sich
durch Formulierung als Flußproblem lösen. Beschreibe das Vorgehen.
(c) Betrachte den bipartiten Graphen G aus Abbildung 5. Es soll mit Hilfe der Flussformulierung ein kardinalitätsmaximales 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ünde deine Aussage.
(b) Ist der Graph G aus Abbildung 7 bipartit? Begründe 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ähle dabei immer den ungematchten Knoten mit dem kleinsten Index als Startknoten für
den Baum. Kommen bei der Auswahl der Kante in Schritt 3 von Algorithmus 5.15 mehrere
Kanten in Frage, wähle die mit dem kleinsten Kantenindex.
6.Aufgabe: Fragen
3+3+3+4+3 Punkte
Alle Antworten bitte mit Begründung.
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über dem zweiten.
(b) Gib eine möglichst große Klasse von Graphen an, für 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ösbar? Warum?
(d) Welche Schlüsseleigenschaft muss ein Problem aufweisen, wenn es mit Dynamischer Programmierung gelöst werden soll?
(e) Nenne einen Greedy-Algorithmus für das Problem der Bestimmung eines MSTs.
Viel Erfolg!!!
6
Herunterladen