Technische Universität München Zentrum Mathematik Algorithmische Diskrete Mathematik Prof. Dr. A. Taraz, Dipl.-Math. A. Würfl Wiederholungsblatt 1 Aufgabe 1.1 (Matchings und Matroide) [2+2] Bearbeiten Sie die folgenden Aufgaben bitte jeweils mit einer kurzen Begründung! a) Beweisen oder widerlegen Sie: Für jedes n ∈ N besitzt der vollständige Graph Kn ein perfektes Matching. b) Sei I = {a, b, c} und I = {∅, {a}, {b}, {c}, {a, b}, {b, c}, {a, b, c}}. Ist (I, I) ein Matroid? Aufgabe 1.2 (Kürzeste Wege) [2+5] a) Betrachten Sie den unten abgebildeten Digraphen. Die Zahlen auf den Kanten stehen jeweils für die Kantenlänge. Was passiert, wenn Sie den Algorithmus von Dijkstra verwenden, um in diesem Digraphen einen kürzesten Weg von Knoten 1 nach Knoten 5 zu berechnen? Welchen Algorithmus würden Sie verwenden? 2 −1 −1 −4 1 4 3 2 3 2 5 5 b) Betrachten Sie den unten abgebildeten Digraphen. Die Zahlen auf den Kanten stehen jeweils für die Kantenlänge. Berechnen Sie mit dem Dijkstra-Algorithmus einen kürzesten Weg von Knoten 1 nach Knoten 8. 5 2 2 1 1 2 3 4 3 2 8 2 7 4 5 3 3 3 4 6 4 5 5 Aufgabe 1.3 (1-2-Partition) [5] Das Problem 1-2-Partition fragt, ob für ein n ∈ N und a1 , . . . , an ∈ {1, 2} eine Partition [n] = I ∪· J P P existiert mit i∈I ai = j∈J aj . Zeigen Sie, dass das Problem 1-2-Partition in P liegt. Bitte wenden! Aufgabe 1.4 (NP-Vollständigkeit) [3+3] In dieser Aufgabe betrachten wir die folgenden Entscheidungsprobleme: VertexCover: Gegeben ein Graph G = (V, E) und k ∈ N. Gibt es ein Vertex Cover für G mit maximal k Knoten? (Ein Vertex Cover für den Graphen G = (V, E) ist eine Teilmenge C ⊂ V mit der Eigenschaft e ∩ C 6= ∅ für alle e ∈ E.) HittingSet: Gegeben eine endliche Menge S, eine Teilmenge I der Potenzmenge von S mit ∅ ∈ /I und ` ∈ N. Gibt es ein Hitting Set für (S, I) mit höchstens ` Elementen? (Ein Hitting Set für (S, I) ist eine Teilmenge H ⊂ S mit der Eigenschaft H ∩ I 6= ∅ für alle I ∈ I.) a) Zeigen Sie, dass sich VertexCover polynomiell auf HittingSet reduzieren lässt. b) Zeigen Sie, dass dann auch HittingSet NP-vollständig ist. Aufgabe 1.5 (TSP) [5] Finden Sie für die folgende TSP-Instanz eine Tour der Länge 36 und geben Sie einen kurzen Beweis, dass es sich dabei um eine optimale Tour handelt. c Längen b d a 5 6 7 8 e f Aufgabe 1.6 (Approximation) [5] Zeigen Sie, dass es für die Suchversion von VertexCover einen polynomiellen Approximationsalgorithmus mit Güte 2 gibt, d.h. geben Sie ein Verfahren an, dass in polynomieller Zeit ein Vertex Cover findet, das höchstens doppelt so viele Knoten enthält, wie ein optimales Vertex Cover. Tipp: Größte Matchings können auch in allgemeinen Graphen in polynomieller Zeit berechnet werden. Aufgabe 1.7 (Wegsuche) [5] Fritz steht auf der Arcisstraße, die für diese Aufgabe als in beide Richtungen unendlich lang angenommen wird, und will zum Hauptgebäude der TUM. Er weiß nicht, wie weit er entfernt ist und in welche Richtung er gehen muss. Da es stockfinster ist, sieht er das Gebäude erst, wenn er unmittelbar davor steht. Geben Sie einen O(n) Algorithmus für Fritz an, wobei n die Anzahl Schritte ist, die er zu Beginn vom Gebäude entfernt ist. Aufgabe 1.8 (Zusammenhang und Kreise) [4] Ein k-fach zusammenhängender Graph (k ≥ 2) besitzt einen Kreis der Länge mindestens min(|G|, 2k). Weiter auf der nächsten Seite! Aufgabe 1.9 (Knoten- und Kantenzusammenhang) [4] In einem 3-regulären Graphen stimmen Knoten- und Kantenzusammenhangszahl überein. Aufgabe 1.10 (Fächersatz) [2+2+2] Sei G ein Graph auf mindestens k + 1 Knoten, der nicht vollständig ist. Dann sind äquivalent: a) G ist k-fach zusammenhängend, b) zwischen je zwei Knoten s und t gibt es mindestens k kreuzungsfreie Wege, c) für alle A = {a1 , . . . , ak } ⊆ V und jedes s ∈ V \ A gibt es ein System von kreuzungsfreien s-ai -Wegen (wobei i = 1, . . . , k). Aufgabe 1.11 (Topologische Ordnungen) [5] Sei G = (V, A) ein orientierter Graph (d.h., falls (u, v) ∈ A, so ist (v, u) ∈ / A). Eine topologische Ordnung von G ist eine Abbildung f : V → N mit der Eigenschaft (u, v) ∈ A impliziert f (u) < f (v). Beschreiben Sie einen Algorithmus mit Laufzeit O(|V | + |A|), der eine topologische Ordnung von G findet oder feststellt, dass eine solche nicht existiert. A