Aufgaben zur Klausurvorbereitung

Ähnliche Dokumente
Klausurvorbereitung. 1 Zentrale Begriffe. 2 Bipartite Graphen. 2.1 Begriffe. Vorlesung Graphen und Optimierung Sommersemester 2011 Prof. S.

Wie wird ein Graph dargestellt?

Kapitel 4: Netzplantechnik Gliederung der Vorlesung

Algorithmen & Komplexität

Kapitel 5: Minimale spannende Bäume Gliederung der Vorlesung

Kapitel 4: Minimal spannende Bäume Gliederung der Vorlesung

Algorithmen & Datenstrukturen 2 Praktikum 3

Graphalgorithmen II. Werner Sembach Werner Sembach Graphalgorithmen II / 22

Kapitel 4: Minimale spannende Bäume Gliederung der Vorlesung

1.Aufgabe: Minimal aufspannender Baum

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung

Kapitel 8: Bipartite Graphen Gliederung der Vorlesung

Graphalgorithmen II. Sebastian Ehrenfels Sebastian Ehrenfels Graphalgorithmen II / 44

Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen

9 Minimum Spanning Trees

Algorithmen und Datenstrukturen Kapitel 9. und

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung

Graphalgorithmen 2. Dominik Paulus Dominik Paulus Graphalgorithmen / 47

Algorithmische Graphentheorie

Aufgabe 1: Berechnen Sie für den in Abbildung 1 gegebenen Graphen den. Abbildung 1: Graph für Flussproblem in Übungsaufgabe 1

Algo&Komp. - Wichtige Begriffe Mattia Bergomi Woche 6 7

Name:... Vorname:... Matr.-Nr.:... Studiengang:...

Teil 2: Graphenalgorithmen

Algorithmen und Datenstrukturen 2-1. Seminar -

f h c 7 a 1 b 1 g 2 2 d

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung

Algorithmische Graphentheorie

2. November Gradfolgen Zusammenhang Kürzeste Wege. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 37

Programmierkurs Python II

Algorithmen und Datenstrukturen Tafelübung 14. Jens Wetzl 8. Februar 2012

Algorithmen und Datenstrukturen Kapitel 9. und

Tutoraufgabe 1 (Starke Zusammenhangskomponenten):

Klausur Algorithmentheorie

Vorlesung Datenstrukturen

Proseminar Online Algorithmen, Prof. Dr. Rolf Klein

ADS 2: Algorithmen und Datenstrukturen

Ein Graph ist ein Paar (V,E), wobei V eine Menge von Knoten und E eine Menge von Kanten (v,w) mit v,w in V ist.

Algorithmen und Datenstrukturen

Kapitel 1: Fallstudie Bipartite Graphen Gliederung der Vorlesung

Berechnung minimaler Spannbäume. Beispiel

8.4 Digraphen mit negativen Kantengewichten Grundsätzliches Betrachte Startknoten s und einen Kreis C mit Gesamtlänge < 0.

Minimal spannende Bäume

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie

Graphdurchmusterung, Breiten- und Tiefensuche

Euler und Hamiltonkreise

Teil 2: Graphenalgorithmen

Graphen: Datenstrukturen und Algorithmen

5. Bäume und Minimalgerüste

ADS: Algorithmen und Datenstrukturen 2

Informatik II: Algorithmen & Datenstrukturen. Blättern Sie nicht um bevor Sie dazu aufgefordert werden!

1 DFS-Bäume in ungerichteten Graphen

1 DFS-Bäume in ungerichteten Graphen

Kürzeste Wege in einem gewichteten Graphen. Anwendungen

Grundlagen: Algorithmen und Datenstrukturen

Effiziente Algorithmen I

Kapitel 3: Untere Schranken für algorithmische Probleme Gliederung

Keller, Schlangen und Listen. Elementare Datenstrukturen Keller, Schlangen und Listen 1 / 14

12. Graphen Programmieren / Algorithmen und Datenstrukturen 2 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt Wintersemester 2012 / 2013

Rückblick: Starke Zusammenhangskomponenten

Kapitel 3: Kürzeste Pfade Gliederung der Vorlesung

Graphalgorithmen 2. Oleksiy Rybakov. 3. Juni Betreuer: Tobias Werth, Daniel Brinkers

Algorithmen und Datenstrukturen 2

Lernmodul 7 Algorithmus von Dijkstra

Algorithmen und Datenstrukturen

Datenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität

Vorlesung Datenstrukturen

Definition Ein gerichteter Graph G = (V, E) ist ein Graph von geordneten Paaren (u, v) mit u V und v V.

Algorithmen und Datenstrukturen 1 VL Übungstest SS Juni 2009

2. Das single-source-shortest-path-problem

Klausur Informatik B April Teil I: Informatik 3

Effiziente Algorithmen

Tutoraufgabe 1 (SCC):

Tutoraufgabe 1 (Suchen in Graphen):

lässt sich auch ableiten, dass es einen augmentierenden Pfad der Länge höchstens

Stud.-Nummer: Datenstrukturen & Algorithmen Seite 1

Klausur Algorithmentheorie

Algorithmen und Datenstrukturen VO UE 2.0 Nebentermin Vorlesungsprüfung / 4. Übungstest SS

Tutorium 23 Grundbegriffe der Informatik (7. Sitzung)

Algorithmische Mathematik I

Algorithmen und Datenstrukturen

Institut für Programmierung und Reaktive Systeme 31. Mai Programmieren II. 12. Übungsblatt

Klausur Algorithmentheorie

Wie findet man den optimalen Weg zum Ziel? Klassische Probleme der Kombinatorischen Optimierung

Richtig oder falsch? Richtig oder falsch? Richtig oder falsch? Mit dynamischer Programmierung ist das Knapsack- Problem in Polynomialzeit lösbar.

3 Klassifikation wichtiger Optimierungsprobleme

TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK

3. Minimale Spannbäume. Definition 99 T heißt minimaler Spannbaum (MSB, MST) von G, falls T Spannbaum von G ist und gilt:

Karlsruher Institut für Technologie. Klausur Algorithmen I

Theoretische Informatik

10 Kürzeste Pfade SSSP-Problem

3.2 Generischer minimaler Spannbaum-Algorithmus

15. Elementare Graphalgorithmen

Kap. 6.6: Kürzeste Wege

Datenstrukturen und Algorithmen D-INFK

Technische Universität München Zentrum Mathematik. Optimierung 2, WS 2008/09 Übungsblatt 12

Kap. 6.6: Kürzeste Wege

Organisatorisches. Programmierpraktikum Das Canadian Traveller Problem. Organisatorisches. Organisatorisches

Programmiertechnik II

Helmut Schauer Educational Engineering Lab Department for Information Technology University of Zurich. Graphen (2)

Transkript:

Vorlesung Graphen und Optimierung Sommersemester 2013/14 Prof. S. Lange Aufgaben zur Klausurvorbereitung Hier finden Sie eine Reihe von Übungsaufgaben, die wir an den beiden Vorlesungsterminen am 29.01.2014 bzw. am 05.02.2014 gemeinsam diskutieren wollen. Um Ihnen und mir das Leben leichter zu machen, sind die Aufgaben den einzelnen Kapiteln der Vorlesung zugeordnet. Anmerkung: Zum Inhalt der Vorlesung am 22.01.2014 wird es noch ein gesondertes Übungsblatt geben. 1 Grundbegriffe 1. Aufgabe Beantworten Sie die folgende Frage und begründen Sie Ihre Antwort ausführlich. Gibt es Graphen mit einer ungeraden Anzahl an Knoten mit einem ungeraden Grad? 2. Aufgabe Beantworten Sie die folgende Frage und begründen Sie Ihre Antwort ausführlich. (i) Warum kann man unter Verwendung der Erreichbarkeitsmatrix die Zusammenhangskomponenten in einem gerichteten Graphen bestimmen? (ii) Welche Nachteile hat der auf dieser Idee basierende Algorithmus für gerichtete Graphen? (iii) Kann man unter Verwendung der Erreichbarkeitsmatrix auch die Zusammenhangskomponenten in einem ungerichteten Graphen bestimmen? 2 Elementare Graphalgorithmen 3. Aufgabe Es sei G = (V, E) der folgende gerichtete Graph. 4 2 3 1 6 5 7 8 1

(i) Bestimmen Sie mit Hilfe der Tiefensuche eine topologische Sortierung der Knoten von G. Geben Sie für jeden Knoten u in G sowohl die Zeiten an, zu denen u als entdeckt und vollständig verarbeitet markiert wird, als auch den Knoten v, der als Vorgänger von u gespeichert wird. (ii) Skizzieren Sie den Graph G = (V, E), der entsteht, wenn die Knoten in G gemäß der in (i) bestimmten topologischen Sortierung linear angeordnet werden. (iii) Gibt es andere topologische Sortierungen der Knotenmenge E des Graphen G als die in (i) gefundene? 4. Aufgabe Es sei G = (V, E) der folgende gerichtete Graph. 4 2 3 6 1 5 Bestimmen Sie mit Hilfe der Tiefensuche die Zusammenhangskomponenten des Graphen G. (i) Geben Sie für jeden Knoten u im Graphen G sowohl die Zeiten an, zu denen u als entdeckt und vollständig verarbeitet markiert wird, als auch den Knoten v, der als Vorgänger von u gespeichert wird. (ii) Geben Sie den inversen Graphen G von G an. (iii) Geben Sie für jeden Knoten u im Graphen G sowohl die Zeiten an, zu denen u als entdeckt und vollständig verarbeitet markiert wird, als auch den Knoten v, der als Vorgänger von u gespeichert wird. 3 Kürzeste Pfade 5. Aufgabe Es seien G ein gerichteter, kreisfreier, kantengewichteter Graph, wobei alle Kantengewichte größer 0 sind, und s ein ausgewählter Startknoten in G. (i) Welche Algorithmen kennen Sie, um die Gewichte der kürzesten Pfade von s zu jedem anderen Knoten in G zu bestimmen? (ii) Geben Sie gute obere Schranken für die Laufzeit dieser Algorithmen an. Gehen Sie davon aus, dass der gegebene Graph n Knoten und m Kanten hat. 2

6. Aufgabe Es sei G ein gerichteter, kantengewichteter Graph, wobei alle Kantengewichte größer 0 sind. (i) Erläutern Sie, wie man mit Hilfe des Algorithmus von Dijkstra die Gewichte der kürzesten Pfade von jedem Knoten u in G zu jedem anderen Knoten v in G bestimmen kann? (ii) Ist es sinnvoller, den Algorithmus von Bellman und Ford zu benutzen? Gehen Sie davon aus, dass der gegebene Graph n Knoten und m Kanten hat. 7. Aufgabe Es sei ein Autoatlas mit Karten von Europa gegeben. (i) Begünden Sie, weshalb die Luftlinienentfernung zwischen zwei Städten benutzt werden kann, um mit dem A -Algorithmus eine kürzeste Route von London nach Paris zu bestimmen. (ii) Welche Vorteile hat es, den A -Algorithmus anstelle des Algorithmus von Dijkstra zu benutzen, um die Länge einer kürzesten Route von London nach Paris zu bestimmen. 8. Aufgabe Es sei der folgende gerichtete, kantengewichtete Graph G gegeben. 1 1 2 3 1 4 5 3 3 1 5 2 (i) Benutzen Sie den Algorithmus von Floyd und Warshall, um die Gewichte der kürzesten Pfade von jedem Knoten u zu jedem anderen Knoten v zu berechnen. (ii) Benutzen Sie den Algorithmus von Bellman und Ford, um die Gewichte der kürzesten Pfade vom Startknoten 1 zu jedem anderen Knoten u zu bestimmen. (iii) Benutzen Sie den Algorithmus von Dijkstra, um die Gewichte der kürzesten Pfade vom Startknoten 1 zu jedem anderen Knoten u zu bestimmen. Benutzen Sie den in der Vorlesung vorgestellten Ansatz, die Menge der noch zu untersuchenden Knoten 1 mit Hilfe eines binären Min-Heaps zu verwalten. Geben Sie alle binären Min-Heaps an, die sukzessive entstehen. 1 Das sind die Knoten, für die sich die Schätzwerte noch verändern können. 3

9. Aufgabe Geben Sie einen gerichteten, kantengewichteten Graphen G an, so dass mit dem Algorithmus von Floyd und Warshall mindestens das Gewicht eines kürzesten Pfades von einem Knoten u zu einem anderen Knoten v nicht korrekt bestimmt wird. 4 Netzplantechnik 10. Aufgabe Es seien die folgenden Informationen über ein geplantes Projekt gegeben: Vorgang Dauer Minimalzeitbedingung Maximalzeitbedingung a 2 b 3 ST (b) ST (a) 3 c 4 ST (c) ST (a) 3 d 4 ST (d) ST (b) 3 e 2 ST (e) ST (a) 2 (a) Geben Sie einen geeigneten Netzplan an, der diese Informationen adäquat widerspiegelt. Welche Varianten gibt es? Welche Vor- und Nachteile haben diese Varianten? (b) Überprüfen Sie, ob das Projekt durchführbar ist und bestimmen Sie ggf. die minimale Zeit time m, die zur Durchführung dieses Projektes benötigt wird, sowie die spätesten Startzeitpunkt der einzelnen Vorgänge, um das Projekt in der Zeit time m durchzuführen. 5 Minimal spannende Bäume 11. Aufgabe Es sei die folgende Tabelle mit Enfernungsangaben für die Entfernungen zwischen den Städten A, B, C, D und E gegeben. A B C D E A 200 km 400 km 500 km 700 km B 200 km 300 km 400 km 600 km C 400 km 300 km 500 km 600 km D 500 km 400 km 500 km 500 km E 700 km 600 km 600 km 500 km Verwenden Sie den Algorithmus von Kruskal, um einen minimal spannenden Baum zu bestimmen, wobei als zugrunde liegende Datenstruktur eine Union- Find-Struktur zu verwenden ist. 4

(a) Vervollständigen Sie die folgende Tabelle um anzugeben, wie sich die Union-Find-Struktur sukzessive ändert. (b) Geben Sie den so bestimmten minimal aufspannenden Baum an. A B C D E Hinweis: Gehen Sie davon aus, dass die Union-Operation so implementiert ist, dass die Mengen in Abhängigkeit von ihrer vereinigt werden. 12. Aufgabe Es sei die folgende Tabelle mit Enfernungsangaben für die Entfernungen zwischen den Städten A, B, C, D und E gegeben. A B C D E A 200 km 400 km 500 km 700 km B 200 km 300 km 400 km 600 km C 400 km 300 km 500 km 600 km D 500 km 400 km 500 km 500 km E 700 km 600 km 600 km 500 km Verwenden Sie den Algorithmus von Prim, um einen minimal spannenden Baum zu bestimmen. (a) Geben Sie für jede Iteration an, aus welcher Menge von kreuzenden Kanten eine sichere Kanten ausgewählt wird. (b) Erläutern Sie, wie man Hilfe eines binären Min-Heaps die Menge der sicheren Kanten sukzessive verwalten kann. Was ist zu beachten? Welche Vorteile ergeben sich? 5

6 Traveling Salesmann Problem 13. Aufgabe Es sei der folgende ungerichtete Graph gegeben. 1 2 3 4 5 6 Teilaufgabe (a) 7 8 Überprüfen Sie, ob es in diesem Graphen einen Eulerkreis gibt. Teilaufgabe (b) Überprüfen Sie, ob es in diesem Graphen einen Hamiltonschen Kreis gibt. 14. Aufgabe Es seien zwei Listen L 1 und L 2 der Länge n gegeben. Um zu überprüfen, ob L 1 eine Permutation von L 2 ist, könnte man wie folgt vorgehen: Variante 1. Man bestimmt sukzessive alle Permutationen der Liste L 1 und testet, ob L 2 unter den bestimmten Permutationen vorkommt. Variante 2. Man bestimmte die sortierte Variante L 1 der Liste L 1 und die sortierte Variante L 2 der Liste L 2 und testet, ob die Listen L 1 und L 2 identisch sind. Teilaufgabe (a) Geben Sie obere Schranken für die Laufzeit der beiden Varianten an. Teilaufgabe (b) Welche der beiden Varianten ist ein effizientes Verfahren zur Lösung des betrachteten algorithmischen Problems? 15. Aufgabe Es sei ein ungerichteter, vollständiger, kantengewichteter Graph G mit 8 Knoten gegeben. Ferner sei der folgende Teilgraph G ein minimal spannender Baum in G. 6

1 2 3 4 5 6 7 8 Teilaufgabe (a) Erläutern Sie, wie mit Hilfe der in der Vorlesung vorgestellten Heuristik basierend auf G einen Hamiltonschen Kreis bestimmt werden kann, der ein möglichst kleines Gewicht hat? Teilaufgabe (b) Schätzen Sie die Laufzeit der in der Vorlesung vorgestellten Heuristik möglichst genau ab. Gehen Sie hierbei davon aus, dass der gegebene Graph n Knoten hat. 16. Aufgabe Es sei ein ungerichteter, vollständiger, kantengewichteter Graph G mit n Knoten gegeben, für den gilt, dass die Summe der Gewichte aller Kanten in G kleiner gleich 2 n ist. Ferner sei ein Algorithmus A gegeben mit dem man in Zeit t(n) für jedes z 2 n die Frage beantworten kann, ob es in G einen Hamiltonschen Kreis mit dem Gewicht kleiner oder gleich z gibt. Beschreiben Sie einen Algorithmus mit dem man die Frage beantworten kann, wie gro das minimale Gewicht eines Hamiltonschen Kreises in G ist. Schätzen Sie die Laufzeit Ihres Algorithmus in Abhängigkeit von n ab. 7