Technische Universität München Zentrum Mathematik Diskrete Optimierung: Grundlagen (MA 2501) Prof. Dr. R. Hemmecke, Dr. R. Brandenberg, M.Sc.-Math. B. Wilhelm Multiple-Choice-Blatt 1 Multiple-Choice-Aufgabe 1.1 Gegeben sei der folgende Graph G: v3 v9 v4 v2 v5 v8 v1 v7 v6 Es bezeichne DFS(G, vi ) bzw. BFS(G, vi ) den Depth-First-Search- bzw. den BreadthFirst-Search-Algorithmus, jeweils ausgehend vom Startknoten vi (unter Beachtung der Warteschlangen, wie sie in der Vorlesung angegeben wurden). a) BFS(G, v7 ) besucht immer erst Knoten v5 , dann Knoten v4 . wahr falsch b) DFS(G, v7 ) besucht immer erst Knoten v9 , dann Knoten v4 . wahr falsch c) BFS(G, v5 ) besucht vielleicht erst Knoten v8 , dann Knoten v9 . wahr falsch d) DFS(G, v3 ) besucht vielleicht erst Knoten v6 , dann Knoten v4 . wahr falsch e) Eine mögliche Besuchsreihenfolge v7 , v6 , v8 , v9 , v5 , v1 , v2 , v3 , v4 . für BFS(G, v7 ) ist wahr falsch f) Eine mögliche Besuchsreihenfolge v5 , v6 , v7 , v8 , v9 , v1 , v4 , v3 , v2 . für DFS(G, v5 ) ist wahr falsch g) Eine mögliche Besuchsreihenfolge v5 , v1 , v8 , v6 , v7 , v2 , v3 , v4 , v9 . für DFS(G, v5 ) ist wahr falsch a) Der Baum, der durch DFS in G gefunden wird, hat immer Maximalgrad ∆ ≤ 3. wahr falsch b) Liefern DFS und BFS denselben Spannbaum, dann war G bereits selber ein Baum. wahr falsch c) Liefern DFS und BFS bei gleichem Startknoten denselben Spannbaum, dann war G bereits selber ein Baum. wahr falsch Multiple-Choice-Aufgabe 1.2 Sei G ein Graph. Bitte wenden! d) In jedem Graphen mit mindestens zwei Knoten gibt es zwei Knoten v1 6= v2 , die man als Startknoten von BFS bzw. DFS verwenden kann, so dass die Algorithmen den gleichen Spannbaum erzeugen. wahr falsch e) In jedem bipartiten Graphen mit mindestens zwei Knoten gibt es zwei Knoten v1 6= v2 , die man als Startknoten von BFS bzw. DFS verwenden kann, so dass die Algorithmen den gleichen Spannbaum erzeugen. wahr falsch Multiple-Choice-Aufgabe 1.3 Sei G = (V, E, `) ein gewichteter Graph, |V | = n und {s, t} ⊂ V . a) Treffen sich zwei kantendisjunkte kürzeste s, t-Wege in v ∈ V \ {s, t}, dann können die jeweiligen s, v- bzw. v, t-Teilwege zu zwei weiteren kürzesten s, t-Wegen kombiniert werden. wahr falsch b) Ist ` : E → N injektiv, dann kann es ein solches v nicht geben. wahr falsch c) Ist ` : E → N, dann kann ein kürzester s, t-Weg prinzipiell (wenn man die schlechte Laufzeit akzeptiert) auch mittels BFS bestimmt werden. wahr falsch d) Ist G ein Baum, so kann der kürzeste s, t-Weg linear in der Anzahl der Kanten des Weges gefunden werden. wahr falsch e) Ist G ein Baum, so kann G so in einem Preprocessing vorgelabelt werden, dass der kürzeste s, t-Weg linear in der Anzahl der Kanten des Weges gefunden werden kann. wahr falsch f) Ist ` : E → N dann können in Graphen mit beschränktem Maximalgrad kürzeste Pfade in O(n log(n)) bestimmt werden. wahr falsch Multiple-Choice-Aufgabe 1.4 Für einen gewichteten Digraphen G = (V, A, `) mit ` ≥ 0 seien v1 , v2 , ..., vn die Knoten in V in der Reihenfolge, in der sie im Dijkstra-Algorithmus markiert werden, also u.a. s = v1 . (Wir bezeichnen v1 , v2 , ..., vn in diesem Fall als Besuchsreihenfolge). a) Ist `(e) ≥ 0, für alle e ∈ A, dann gilt am Ende des Algorithmus dist (v1 ) ≤ · · · ≤ dist (vn ). wahr falsch b) Der Dijkstra-Algorithmus erzeugt eine Arboreszenz mit Wurzel s in G. wahr falsch c) Ist man beim Aufruf des Algorithmus nur am Abstand von s zu einem festen Knoten t interessiert, so kann man abbrechen, sobald dist (t) < ∞. wahr falsch d) 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. wahr falsch e) Gilt `(e) = 1 für alle e ∈ A, dann kann BFS so eingestellt werden, dass auch dort die Besuchsreihenfolge v1 , v2 , ..., vn lautet (unabhängig von der weiteren Gestalt von G). wahr falsch f) 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 g) Hat nur eine Kante in E negatives Gewicht, dann berechnet der Dijkstra-Algorithmus korrekt einen kürzesten s, t-Weg. wahr falsch h) Haben nur Kanten (s, vi ) ∈ E negatives Gewicht, dann kann mithilfe des Dijkstra-Algorithmus korrekt ein kürzester s, tPfad berechnet werden. wahr falsch