Technische Universität München Zentrum Mathematik Algorithmische Diskrete Mathematik Prof. Dr. Raymond Hemmecke Steffen Borgwardt Silvia Lindner Multiple-Choice-Blatt 1 Aufgabe 1.1 v3 v9 v4 v5 v8 v2 v7 v1 v6 Es bezeichne DFS(G, vi ) bzw. BFS(G, vi ) den Tiefensuche- (Depth-First-Search-) bzw. den Breitensuche- (Breadth-First-Search-)Algorithmus, jeweils ausgehend vom Startknoten vi in der Variante der Lösungsskizze zu Aufgabe 1.6. Seien vi1 , vi2 , ..., vin mit {vi1 , vi2 , ..., vin } = V die Knoten in V in der Reihenfolge, in der sie in den Algorithmen betrachtet werden, also z.B. v1 , v2 , ..., v9 . (Wir bezeichnen vi1 , vi2 , ..., vin in diesem Fall als Besuchsreihenfolge). Die Knoten in der Adjazenzliste sind entsprechend ihrer Indices aufsteigend sortiert. Kreuzen Sie die korrekten Aussagen an. BFS(G, v7 ) besucht immer erst Knoten v5 , dann Knoten v4 . 2 DFS(G, v7 ) besucht immer erst Knoten v9 , dann Knoten v4 . 2 2 Eine mögliche Besuchsreihenfolge für BFS(G, v7 ) ist v7 , v6 , v5 , v1 , v9 , v8 , v2 , v3 , v4 . Eine mögliche Besuchsreihenfolge für DFS(G, v5 ) ist v5 , v1 , v2 , v3 , v4 , v9 , v8 , v6 , v7 . 2 2 Eine mögliche Besuchsreihenfolge für DFS(G, v5 ) ist v5 , v1 , v2 , v3 , v4 , v6 , v8 , v9 , v7 . Aufgabe 1.2 Sei G = (V, E) ein Graph. Ein Baum hat immer Maximalgrad ∆ ≤ 3. Hat G Maximalgrad ∆ ≤ 3, so hat jeder Baum T ⊂ E den Maximalgrad ∆ ≤ 3. Hat G Maximalgrad ∆ ≤ 2, so hat jeder Baum T ⊂ E den Maximalgrad ∆ = 2. wahr falsch 2 2 2 2 2 2 Aufgabe 1.3 Sei G = (V, E, `) ein gewichteter Graph und {s, t} ⊂ V . Kreuzen Sie die korrekten Aussagen an. Treffen sich zwei kantendisjunkte kürzeste s, t-Wege in v ∈ V \ {s, t}, dann können die 2 jeweiligen s, v- bzw. v, t-Teilwege zu zwei weiteren kürzesten s, t-Wegen kombiniert werden. 2 Ist ` : E → N injektiv, dann kann es ein v wie in der vorigen Aussage nicht geben. Aufgabe 1.4 Sei G = (V, A, `) ein gewichteter Digraph mit ` : E → N ∪ {0} und sei s = v1 , v2 , ..., vn die Besuchsreihenfolge des Dijkstra-Algorithmus. Ist `(e) ≥ 0, für alle e ∈ A, dann gilt am Ende des Algorithmus dist (v1 ) ≤ · · · ≤ dist (vn ). Ist man beim Aufruf des Algorithmus nur am Abstand von s zu einem festen Knoten t interessiert, so kann man abbrechen, sobald dist (t) < ∞. Ist man beim Aufruf des Algorithmus nur am Abstand von s zu einem festen Knoten t interessiert, so kann man abbrechen, sobald t markiert wird. Es sei im Folgenden ` : E → Z. Der kürzeste s, t-Pfad in G mit teilweise negativen Kantengewichten `(e) kann bestimmt werden, indem man zunächst das kleinste der negativen Gewichte −C bestimmt und dann den Dijkstra-Algorithmus auf (V, E, ` + C + 1) anwendet. wahr falsch 2 2 2 2 2 2 wahr falsch 2 2 Hat nur eine Kante in E negatives Gewicht, dann berechnet der Dijkstra-Algorithmus 2 korrekt einen kürzesten s, t-Weg. 2 Haben nur Kanten (s, vi ) ∈ E negatives Gewicht, dann kann mithilfe des DijkstraAlgorithmus korrekt ein kürzester s, t-Pfad berechnet werden. 2 2 Aufgabe 1.5 Sei G = (V, E, `) ein gewichteter Digraph mit ` : E → Z, V = [n], wobei für jede Kante (u, v) ∈ E die Kante (v, u) existiert und stets `((u, v)) = `((v, u)) gilt. Der Floyd-WarshallAlgorithmus (inklusive der Erweiterung aus der Übung) berechnet korrekt... 2 kürzeste i, j-Kantenzüge für alle i, j ∈ [n]. 2 kürzeste i, j-Kantenzüge für alle i, j ∈ [n], die nicht auf einem Kreis negativer Länge liegen. 2 längste i, j-Kantenzüge für alle i, j ∈ [n], wenn man alle Gewichte mit −1 multipliziert. Aufgabe 1.6 Sei G = (V, E, `) ein gewichteter und zusammenhängender Graph. Ist e eine Kante des Graphen G mit minimalem Gewicht, dann existiert ein minimaler Spannbaum von G, der e enthält. Sei e eine Kante des Graphen G, so dass kein Kreis in G existiert, der e enthält. Dann ist e eine Kante jedes minimalen Spannbaumes von G. Ist ` : E → Z injektiv, dann gibt es genau einen minimalen Spannbaum. Ist der minimale Spannbaum von G eindeutig, dann haben die |V | − 1 Kanten geringsten Gewichts in G verschiedene Gewichte. Ist `(v1 ) ≤ · · · ≤ `(vm ) und f : R → R monoton wachsend, dann ist ein bezüglich ` minimaler Spannbaum auch bezüglich f ◦ ` minimal. wahr falsch 2 2 2 2 2 2 2 2 2 2 Aufgabe 1.7 Sei G1 = (V, E1 ) ein ungerichteter Graph und M1 = (E1 , I1 ) das zugehörige graphische Matroid. Weiterhin sei I1 ∆I2 := (I1 ∪ I2 ) \ (I2 ∩ I1 ). Seien F, G zwei Wälder in G so dass ihre Vereinigung einen Kreis enthält, dann enthält auch F ∆G einen Kreis Sei ein weiterer ungerichteter Graph G2 = (V, E2 ) mit E1 ∩ E2 = ∅ gegeben und das dazugehörige graphische Matroid M2 = (E2 , I2 ). Dann ist auch (E1 ∪ E2 , I) mit I = {I1 ∪ I2 : I1 ∈ I1 , I2 ∈ I2 } ein Matroid. Sei M̂1 := (E1 , Î1 ) ein weiteres Matroid auf der gleichen Grundmenge wie M1 . Dann ist auch (E1 , I1 ∩ Î1 ) ein Matroid. wahr falsch 2 2 2 2 2 2