Effiziente Algorithmen I

Ähnliche Dokumente
Effiziente Algorithmen I

1.Aufgabe: Minimal aufspannender Baum

Gemischt-ganzzahlige und Kombinatorische Optimierung

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

Effiziente Algorithmen II

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

Kombinatorische Optimierung

6. Übung zur Linearen Optimierung SS08

Optimierung. Optimierung. Vorlesung 9 Lineare Programmierung & Kombinatorische Optimierung Fabian Kuhn

Graphentheorie. Kardinalitätsmatchings. Kardinalitätsmatchings. Kardinalitätsmatchings. Rainer Schrader. 11. Dezember 2007

Flüsse und Zuordnungen. Kapitel 6. Peter Becker (H-BRS) Graphentheorie Wintersemester 2018/ / 296

Optimale Lösungen mit Greedy-Strategie erfordern Optimalität der Greedy-Wahl. Beispiele für optimale Greedy-Lösungen

Trennender Schnitt. Wie groß kann der Fluss in dem folgenden Flussnetzwerk höchstens sein?

Algorithmen II Vorlesung am

Aufgabe 4.2 Sei G = (V, E, l) ein ungerichteter, gewichteter und zusammenhängender Graph.

Diskrete Mathematik Graphentheorie (Übersicht)

Klausur zum Modul Einführung in die Diskrete Mathematik

1. Klausur zur Vorlesung Algorithmentechnik Wintersemester 2008/2009

Algorithmen II Vorlesung am

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

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

1. Klausur zur Vorlesung Algorithmentechnik Wintersemester 2009/2010

Algorithmik WS 07/ Vorlesung, Andreas Jakoby Universität zu Lübeck. 10 Matching-Probleme

6. Flüsse in Netzwerken Berechnung maximaler Flüsse. dann berechnet der Markierungsalgorithmus für beliebige Kapazitätsfunktionen

Überblick. Kap. 1.4: Minimum Weight Perfect Matching. 1.3 Blüten-Schrumpf Algorithmus für Maximum Matching

Flüsse, Schnitte, Bipartite Graphen

Betriebswirtschaftliche Optimierung

Univ.-Prof. Dr. Goulnara ARZHANTSEVA

5. Bäume und Minimalgerüste

Kapitel 8: Bipartite Graphen Gliederung der Vorlesung

Betriebliche Optimierung

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

Algorithmen und Datenstrukturen 2

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

4.2 Minimale Spannbäume: Der Algorithmus von Jarník/Prim Definition 4.2.1

Matchings in Graphen. Praktikum Diskrete Optimierung (Teil 5)

7. Der Entwurf von Algorithmen (Fortsetzung)

5. Musterlösung. Problem 1: Vitale Kanten * ω(f) > ω(f ). (a) Untersuchen Sie, ob es in jedem Netzwerk vitale Kanten gibt.

2. Klausur Datenstrukturen und Algorithmen SS 2014

Netzwerk-Simplex. MinCostFlow als Lineares Programm. 1 of 12 Netzwerksimplex

Überblick. TSP Vergleich der Lösungen. Das Travelling Salesman Problem. Nearest-Neighbor Heuristik für TSP

Kap. 7.1 Heuristiken Kap. 7.2 Approximative Algorithmen und Gütegarantien

Lösungsskizzen zu den Klausuraufgaben zum Kurs 1142 Algorithmische Mathematik

Wiederholung zu Flüssen

Übungsblatt 2 - Lösung

EDM, Algorithmen und Graphenspeicherung

11. GRAPHEN 3 FLÜSSE UND SPANNBÄUME

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

Algorithmische Mathematik I

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Lösungen zu Kapitel 5

9 Minimum Spanning Trees

Das Heiratsproblem. Definition Matching

Lernmodul 7 Algorithmus von Dijkstra

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

Übung zur Vorlesung Diskrete Strukturen I

Nachklausur Grundlagen der Algorithmik (Niedermeier/Froese/Chen/Fluschnik, Wintersemester 2015/16)

Kombinatorische Optimierung

Algorithmische Graphentheorie

15. Elementare Graphalgorithmen

Kombinatorische Optimierung

Vorlesungstermin 2: Graphentheorie II. Markus Püschel David Steurer. Algorithmen und Datenstrukturen, Herbstsemester 2018, ETH Zürich

= n (n 1) 2 dies beruht auf der Auswahl einer zweielementigen Teilmenge aus V = n. Als Folge ergibt sich, dass ein einfacher Graph maximal ( n E = 2

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

Optimierung. Vorlesung 08

Algorithmische Methoden für schwere Optimierungsprobleme

3. Musterlösung. Problem 1: Boruvka MST

Graphen. Definitionen

3 Klassifikation wichtiger Optimierungsprobleme

Kürzeste Wege in einem gewichteten Graphen. Anwendungen

Theoretische Informatik 1

Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 6: Matchings und TSP-Problem

Bipartite Graphen. Beispiele

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

Durchschnitt von Matroiden

Algorithmen und Datenstrukturen Kapitel 10

Algorithmische Graphentheorie

Graphentheorie Graphentheorie. Grundlagen Bäume Eigenschaften von Graphen Graphen-Algorithmen Matchings und Netzwerke

Klausur Algorithmentheorie

Fortgeschrittene Netzwerk- und Graph-Algorithmen

KAPITEL 3 MATCHINGS IN BIPARTITEN GRAPHEN

Algorithmen für Planare Graphen

Theoretische Informatik 1

Operations Research. Flüsse in Netzwerken. Flüsse in Netzwerken. Unimodularität. Rainer Schrader. 2. Juli Gliederung.

ADS: Algorithmen und Datenstrukturen 2

3.6 Branch-and-Bound-Verfahren

10. Übung Algorithmen I

Graphen KAPITEL 3. Dieses Problem wird durch folgenden Graph modelliert:

Laufzeit. Finden eines Matchings maximaler Kardinalität dauert nur O( E min{ V 1, V 2 }) mit der Ford Fulkerson Methode.

Transkript:

H 10. Präsenzaufgabenblatt, Wintersemester 2015/16 Übungstunde am 18.01.2015 Aufgabe Q Ein Reiseveranstalter besitzt ein Flugzeug, das maximal p Personen aufnehmen kann. Der Veranstalter bietet einen Flug mit Zwischenstops an, der in Stadt 1 beginnt und dann die Städte 2, 3,..., n in dieser Reihenfolge anfliegt. Das Flugzeug kann in jeder dieser Städte Passagiere aufnehmen und sie dann in jeder anderen Stadt wieder absetzen. Sei b ij die Anzahl der Personen, die von Stadt i nach Stadt j fliegen möchten, und f ij der Flugpreis, den eine Person zahlen muss, um von i nach j zu gelangen. Der Reiseveranstalter möchte bestimmen, wie viele Passagiere zwischen den verschiedenen Städten befördert werden müssen, damit seine Einnahmen maximal sind. Formulieren Sie dieses Problem als Netzwerkflussproblem. Aufgabe R Wie lassen sich die folgenden Probleme mit Hilfe eines Minimale-Kosten-Fluss-Algorithmus lösen? a) Bestimmung eines maximalen (s, t)-flusses, b) Bestimmung eines global minimalen Schnitts, c) Bestimmung eines Kreises mit bestem Kosten-Zeit-Verhältnis, d) Bestimmung von kürzesten Wegen von einem festen Startknoten aus.

G 9. Präsenzaufgabenblatt, Wintersemester 2015/16 Übungstunde am 21.12.2015 Aufgabe P Gegeben sei ein zusammenhängender Graph G = (V, E) mit n Knoten und Kantengewichten c e für alle e E. a) Zeigen Sie mithilfe des Satzes 7.4, dass G höchstens n (n 1) 2 minimale Schnitte besitzt. b) Geben Sie für jede Knotenzahl n 2 einen Graphen an, für den dieser Wert exakt angenommen wird.

H 8. Präsenzaufgabenblatt, Wintersemester 2015/16 Übungstunde am 14.12.2015 Aufgabe O (Minimale Flüsse) Gegeben sei ein Digraph D = (V, A), zwei Knoten s, t V sowie Mindestflüsse l(u, v) für alle (u, v) A. Entwickeln Sie einen Algorithmus, der einen minimalen s-t-fluss bestimmt und beweisen Sie seine Korrektheit.

G 7. Präsenzaufgabenblatt, Wintersemester 2015/16 Übungstunde am 7.12.2015 Aufgabe N (Unbeschränkte Kapazitäten) Gegeben sei ein Netzwerk, das zwar Kanten mit unbeschränkter Kapazität aber keinen Weg von Quelle nach Senke mit unbeschränkter Kapazität enthält. Sei A die Menge der Kanten mit endlicher Kapazität. Zeigen Sie, dass man die Kapazitäten aller unbeschränkter Kanten durch einen endlichen Wert ersetzen kann, ohne den Wert des maximalen Flusses zu verändern.

F 6. Präsenzaufgabenblatt, Wintersemester 2015/16 Übungstunde am 30.11.2015 Aufgabe L (Flüsse und Matchings) Gegeben sei ein ungewichteter bipartiter Graph G = (V, E) mit Partitionsmengen V 1 und V 2. Beschreiben Sie, wie ein Algorithmus zur Berechnung maximaler Flüsse dazu verwendet werden kann, ein kardinalitätsmaximales Matching in G zu bestimmen. Aufgabe M (Gerade und ungerade Flüsse) Ein Fluss f zu einem Netzwerk D = (V, A) heißt gerade (bzw. ungerade), falls f(u, v) für alle (u, v) A gerade (bzw. ungerade) ist. Beweisen oder widerlegen Sie: a) Sind alle Kantenkapazitäten von D gerade, so existiert ein gerader maximaler Fluss. b) Sind alle Kantenkapazitäten von D ungerade, so existiert ein ungerader maximaler Fluss.

E 5. Präsenzaufgabenblatt, Wintersemester 2015/16 Übungstunde am 23.11.2015 Aufgabe J (Flugplanerstellung als Zuordnungsproblem) Eine Fluglinie möchte p Flüge anbieten, dabei aber mit möglichst wenigen Flugzeugen auskommen. Die Startund Landezeiten von Flug i seien gegeben durch a i bzw. b i. Inklusive aller notwendigen Arbeiten benötigt ein Flugzeug die Zeit r ij, um vom Zielort des Fluges i zum Startort des Fluges j zu gelangen. Formulieren Sie das Problem der Fluglinie als Zuordnungsproblem. Aufgabe K (Ungarische Methode zur Maximierung) Modifizieren Sie die Ungarische Methode so, dass sie zur Bestimmung einer Zuordnung mit maximalem Gesamtgewicht verwendet werden kann. Verändern Sie dabei weder die Input-Kostenmatrix C (mit nichtnegativen Einträgen) noch die Definition der reduzierten Matrix C.

D 4. Präsenzaufgabenblatt, Wintersemester 2015/16 Übungstunde am 16.11.2015 Aufgabe H (LP-Modellierung) Formulieren Sie die folgenden Probleme aus der Vorlesung als lineare Programme. Sie können dabei für die Variablen fordern, nur ganzzahlige Werte annehmen zu dürfen. a) Minimaler-aufspannender-Baum-Problem b) Symmetrisches Traveling-Salesman-Problem c) Asymmetrisches Traveling-Salesman-Problem Aufgabe I (Duales LP) Sei G = (V, E) ein Graph. G sei bipartit, d.h. V kann in Teilmengen V 1 und V 2 partitioniert werden, so dass es nur Kanten zwischen V 1 und V 2 gibt. In diesem Fall ist die Optimallösung des folgenden linearen Programms stets ganzzahlig: max x u u V x u + x v 1 für alle uv E x u 0 für alle u V. a) Was berechnet dieses lineare Programm? b) Formulieren Sie das duale lineare Programm und erläutern Sie, welches Graphenproblem es löst.

C 3. Präsenzaufgabenblatt, Wintersemester 2015/16 Übungstunde am 9.11.2015 Aufgabe E (Knapsack-Problem transformieren) Gegeben sei ein Knapsack-Problem mit den Werten c 1 = 16, c 2 = 19, c 3 = 23, c 4 = 28, den Gewichten a 1 = 2, a 2 = 3, a 3 = 4, a 4 = 5 und dem Maximalgewicht 7. Lösen Sie das Problem durch Transformation auf ein Kürzeste-Wege-Problem. Aufgabe F (Eigenschaften der Most-Vital-Arcs) Sei D = (V, A) ein gerichteter Graph mit positiven ganzzahligen Kantengewichten und seien s, t V. Ein vital arc ist eine Kante, deren Entfernen bewirkt, dass sich die kürzeste Distanz zwischen s und t vergrößert. Ein most vital arc ist ein vital arc, dessen Entfernen die kürzeste Distanz zwischen s und t um den größtmöglichen Betrag erhöht. Zeigen oder widerlegen Sie: a) Ein most vital arc ist eine Kante, deren Gewicht gleich dem Maximum (Minimum) der Gewichte ist. b) Ein most vital arc ist eine Kante mit maximalem (minimalen) Gewicht auf einem kürzesten Weg zwischen den Knoten s und t. c) Eine Kante, die nicht Teil eines kürzesten Weges ist, kann kein most vital arc sein. d) Ein gerichteter Graph kann mehrere most vital arcs enthalten. Aufgabe G (Algorithmus für Most-Vital-Arcs) Geben Sie einen Algorithmus an, der einen most vital arc in einem gewichteten Digraph mit vorgegebenen Knoten s und t bestimmt.

B 2. Präsenzaufgabenblatt, Wintersemester 2015/16 Übungstunde am 2.11.2015 Aufgabe C (Durchmesser eines Graphen) Der Abstand d(u, v) zweier Knoten u und v in einem Graphen G = (V, E) ist die kleinste Anzahl von Kanten auf einem Weg von u nach v (bzw., wenn kein solcher Weg existiert). Der Durchmesser von G ist max u,v V d(u, v), also der maximale Abstand zweier Knoten in G. Entwerfen Sie einen effizienten Algorithmus, der den Durchmesser eines Baumes T bestimmt. Aufgabe D (MST mit roter Regel) a) Formulieren Sie einen Algorithmus zur Bestimmung von minimalen aufspannenden Bäumen, der nur die rote Regel verwendet: Wähle einen Kreis, der keine rote Kante enthält. Bestimme eine längste ungefärbte Kante im Kreis und färbe sie rot. b) Analysieren Sie die Laufzeit einer geeigneten Implementierung.

A 1. Präsenzaufgabenblatt, Wintersemester 2015/16 Übungstunde am 26.10.2015 Aufgabe A (Laufzeitanalyse, Landau-Symbole) a) Wie sind o(f), O(f), Θ(f), ω(f) und Ω(f) definiert? b) Wie analysiert man die Laufzeit einer for-schleife / einer bedingten Anweisung: if A then B else C / der binären Suche? c) Weshalb kann man die Laufzeitabschätzung O(E log V 3 ) stets durch O(E log V ) ersetzen? Aufgabe B (Euler-Touren) Das Straßennetz einer Stadt sei als zusammenhängender Graph G = (V, E) gegeben, in welchem Straßenabschnitte als Kanten und Straßenkreuzungen/ -einmündungen/ -enden als Knoten modelliert sind. Für einen Postboten ist es wünschenswert, alle Straßen entlang gehen zu können, ohne eine mehrmals durchlaufen zu müssen. Er startet seine Tour (Euler-Tour) stets in demjenigen Knoten, in welchem er sie auch beendet (Poststation). a) Zeigen Sie: Hat jeder Knoten mindestens Grad 2, so gibt es einen Kreis in G. b) Zeigen Sie: Existiert eine Euler-Tour, so ist jeder Knotengrad gerade. (Die Umkehrung gilt auch.) c) Bestimmen Sie einen O(V +E)-Algorithmus, der eine Euler-Tour in G findet, sofern eine solche existiert.