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