1.Aufgabe: Minimal aufspannender Baum 11+4+8 Punkte v 1 v 2 1 3 4 9 v 3 v 4 v 5 v 7 7 4 3 5 8 1 4 v 7 v 8 v 9 3 2 7 v 10 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 v 1 und gib die Knoten in der Reihenfolge an, in der sie in den Baum aufgenommen werden, sowie den berechneten MST. (b) Gegeben sei ein ungerichteter Graph G mit Kantengewichten c : E(G) R 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}). (c) Gegeben sei ein ungerichteter Graph G mit Kantengewichten c : E(G) R. 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 v 1 s 4 3 3 2 e 1 e 2 e 3 v 2 1 e 4 e e 5 3 e7 5 t v 3 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 e 1, e 2,..., e 7. (b) Sei G ein gerichteter Graph mit Kantengewichten c : E(G) R, wobei c(e) < 0 möglich ist. Zeige oder widerlege die folgende Aussage: 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
4,2 v 1 v 2 8,4 5,2 2,0 2,2 s 3,3 1,1 2,2 v 3 v 4 3,1 1,1 7,3 t 5,3 v 5 v 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 v 1 v 2 v 1 v 2 v 3 v 3 v 4 v 5 v v 7 v 8 v 4 v 5 v 9 v 10 v 11 v 12 (a) v v 7 v 8 (b) Abbildung 4: (a) Graph G 1, (a) Graph G 2 (a) Betrachten den Graphen G 1 mit Matching M 1 = {{v 1, v 5 }, {v 2, v 8 }, {v 3, v 4 }, {v 9, v 10 }, {v 11, v 12 }} in Abbildung 4(a) und den Graphen G 2 mit Matching M 2 = {{v 1, v 2 }, {v 4, v 5 }} in Abbildung 4(b). Bestimme Matchings maximaler Größe für G 1 und G 2 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
v 1 v v 2 v 7 v 3 v 8 v 4 v 9 v 5 v 10 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 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 = {e 5, e }. 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 an. Augmentierung das neue Matching Baum-erweitern-Operation den neuen Baum Schrumpfung den neuen Baum und den Graphen G 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..Aufgabe: Fragen 3+3+3+4+3 Punkte Alle Antworten bitte mit Begründung. 4
v 1 v 2 v 3 v 4 v 5 v v 7 v 8 v 9 v 10 v 11 v 12 v 13 v 14 v 15 v 1 v 17 v 18 Abbildung : Graph G. 5
v e 7 v 4 e 2 v 5 e 5 e 3 e e 1 e 4 v 1 v 2 v 3 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!!!