Algorithmentheorie. 10 Greedy Verfahren

Ähnliche Dokumente
S=[n] Menge von Veranstaltungen J S kompatibel mit maximaler Größe J

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

Abschnitt: Algorithmendesign und Laufzeitanalyse

Informatik II Greedy-Algorithmen

5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c)

11.1 Grundlagen - Denitionen

Algorithmentheorie Randomisierung. Robert Elsässer

Rechnerische Komplexität

4 Greedy-Algorithmen (gierige Algorithmen)

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf

Das Briefträgerproblem

Effiziente Algorithmen und Datenstrukturen I. Kapitel 10: Lineare Algebra

Dynamisches Programmieren - Problemstruktur

16. All Pairs Shortest Path (ASPS)

Satz 16 (Multiplikationssatz)

Algorithmen II Vorlesung am

13. Binäre Suchbäume

Ein Dieb raubt einen Laden aus; um möglichst flexibel zu sein, hat er für die Beute nur einen Rucksack dabei

Einführung in Heuristische Suche

Punktbeschriftung in Dynamischen Karten

HEUTE. Datenstrukturen im Computer. Datenstrukturen. Rekursion. Feedback Evaluation. abstrakte Datenstrukturen

Datenstrukturen und Algorithmen SS07

Approximationsalgorithmen

Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete

8 Diskrete Optimierung

Einführung in die Programmierung für Wirtschaftsinformatik

5 Zwei spieltheoretische Aspekte

Optimierung. Algorithmik III Algorithmen und Modelle für kontinuierliche Datenstrukturen. Vorgehen: Dynamische Programmierung

Randomisierte Algorithmen

Übersicht. Datenstrukturen und Algorithmen. Übersicht. Divide-and-Conquer. Vorlesung 9: Quicksort (K7)

Lineare Abhängigkeit

Binäre lineare Optimierung mit K*BMDs p.1/42

Branch-and-Bound. Wir betrachten allgemein Probleme, deren Suchraum durch Bäume dargestellt werden kann. Innerhalb des Suchraums suchen wir

Beispiellösungen zu den Übungen Datenstrukturen und Algorithmen SS 2008 Blatt 6

Kapitel 2: Analyse der Laufzeit von Algorithmen Gliederung

Dynamische Programmierung. Problemlösungsstrategie der Informatik

Suche in Spielbäumen Spielbäume Minimax Algorithmus Alpha-Beta Suche. Suche in Spielbäumen. KI SS2011: Suche in Spielbäumen 1/20

Kostenmaße. F3 03/04 p.188/395

Gemischt-ganzzahlige und Kombinatorische Optimierung

Hallo Welt für Fortgeschrittene

Informatik I 4. Kapitel Suchen in sequentiellen Listen

10 Dynamische Programmierung

Algorithmentheorie Maximale Flüsse

Randomisierte Algorithmen

Kapitel 8. Rekursionsgleichungen. Landau-Symbole. Lösen von Rekursionsgleichungen Allgemeines Iterationsmethode Spezialfälle Erzeugende Funktionen

Algorithmen und Datenstrukturen Wintersemester 2004/ November T(n) = T(n a) + T(a) + n

Kapitel 7: Formaler Datenbankentwurf

Bestimmung einer ersten

Datenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15.

Eine zweidimensionale Stichprobe

2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik

Programmieren, Algorithmen und Datenstrukturen II 8. Allgemeine Lösungsverfahren

Übersicht. Schleifen. Schleifeninvarianten. Referenztypen, Wrapperklassen und API. 9. November 2009 CoMa I WS 08/09 1/15

Dynamische Programmierung

22. Algorithmus der Woche Partnerschaftsvermittlung Drum prüfe, wer sich ewig bindet

2.4 Adaptive Verfahren mit Schrittweitensteuerung

Sortieren durch Einfügen. Prof. Dr. W. Kowalk Sortieren durch Einfügen 1

2 Lösungen "Peptide de novo Sequencing"

Vektorräume und Rang einer Matrix

Approximationsalgorithmen: Klassiker I. Kombinatorische Optimierung Absolute Gütegarantie Graph-Coloring Clique Relative Gütegarantie Scheduling

Datenstruktur, die viele Operationen dynamischer Mengen unterstützt

Motivation. Formale Grundlagen der Informatik 1 Kapitel 10. Motivation. Motivation. Bisher haben wir mit TMs. Probleme gelöst/entschieden/berechnet.

NP-Vollständigkeit. Krautgartner Martin ( ) Markgraf Waldomir ( ) Rattensberger Martin ( ) Rieder Caroline ( )

Codierung. Auszug aus dem Skript von Maciej Liśkiewicz und Henning Fernau

Bin Packing oder Wie bekomme ich die Klamotten in die Kisten?

Homologie und Sequenzähnlichkeit. Prof. Dr. Antje Krause FH Bingen / akrause@fh-bingen.de

Institut für Mathematik Geometrie und Lineare Algebra J. Schönenberger-Deuel. Aufgabe 1. Wir geben nur zwei von sehr vielen möglichen Strategien.

(a)... ein Spieler eine Entscheidung treffen muss... (b)... der andere Spieler (Experte) über private...

Algorithmen und Datenstrukturen Laufzeitabschätzung

Kapiteltests zum Leitprogramm Binäre Suchbäume

Programmieren in C. Rekursive Funktionen. Prof. Dr. Nikolaus Wulff

Algorithmen und Datenstrukturen Kapitel 10

Stackelberg Scheduling Strategien

Algorithmik Übung 3 Prof. Dr. Heiner Klocke. Sortierfolge nach Werten: Bube Dame König As nach Farben: Karo ( ) Herz ( ) Piek ( ) Kreuz ( )

Informatik II, SS 2014

Effiziente Algorithmen I

Einführung in die Informatik

Komplexitätsklassen. (Lauf-)Zeit-Klassen. (Lauf-)Zeit-Klassen. Charakteristische Problemgrößen beim Parsing

Rechnen modulo n. Bernhard Ganter. Institut für Algebra TU Dresden D Dresden

HEUTE. Effizienzbeispiel: bekannte Version (Übung ) Mathematik: Was ist Effizienz? vollständige Induktion

JAVA - Suchen - Sortieren

Vorlesung Algorithmische Geometrie. Streckenschnitte. Martin Nöllenburg

Übung zur Vorlesung Berechenbarkeit und Komplexität

Absolute Stetigkeit von Maßen

Algorithmen und Datenstrukturen

Grundlegende Sortieralgorithmen

6.2 Perfekte Sicherheit

ADS: Algorithmen und Datenstrukturen 2

8 Das Flussproblem für Netzwerke

Wirtschaftsinformatik I

Optimierungsprobleme. B. Langfeld, M. Ritter, B. Wilhelm Diskrete Optimierung: Fallstudien aus der Praxis

Seminar Finanzmathematik

Klausur Informatik-Propädeutikum (Niedermeier/Hartung/Nichterlein, Wintersemester 2012/13)

4.2 Die Chomsky Normalform

Einführung in die Programmierung Vorlesungsprüfung

Michael Philippsen 1. Algorithmen und Datenstrukturen. 9. Algorithmenherleitung durch Induktion. 9. Algorithmenherleitung durch Induktion

Mathematische Grundlagen der Computerlinguistik

Abgabe: (vor der Vorlesung) Aufgabe 2.1 (P) O-Notation Beweisen Sie die folgenden Aussagen für positive Funktionen f und g:

(offizielle deutsche Übersetzung: Belgisches Staatsblatt vom 12. Februar 2007)

Algorithmen und Datenstrukturen 1 Kapitel 3

Transkript:

Algorithmentheorie 0 Greedy Verfahren Prof. Dr. S. Albers

Greedy Verfahren. Allgemeine Vorbemerkungen 2. Einfache Beispiele Münzwechselproblem Handlungsreisenden-Problem 3. Das Aktivitäten Auswahlproblem 2

Greedy Verfahren zur Lösung eines Optimierungsproblems Treffe in jedem Verfahrensschritt diejenige Entscheidung, die im Moment am besten ist! Möglichkeiten:. Wir erhalten stets die optimale Gesamtlösung. 2. Wir erhalten eine Lösung, die zwar nicht immer optimal ist, aber vom Optimum stets nur wenig abweicht. 3. Die berechnete Lösung kann beliebig schlecht werden. 3

Einfache Beispiele: Münzwechsel-Problem EUR Bargeld-Werte: 500, 200, 00, 50, 20, 0, 5, 2, Beobachtung Jeder EUR Betrag kann durch Münzen und Banknoten mit diesen Werten bezahlt werden. Ziel Bezahlung eines Betrages n mit möglichst wenig Münzen und Banknoten

Greedy-Verfahren Wähle die maximale Zahl von Banknoten und Münzen mit jeweils größtmöglichem Wert, bis der gewünschte Betrag n erreicht ist. Beispiel: n = 87 500 200 00 50 20 0 5 2 5

Allgemeines Münzwechselproblem Werte von Münzen und Banknoten: n, n 2,..., n k n > n 2 >... > n k, und n k =. Greedy Zahlungsverfahren:. w = n 2. for i = to k do # Münzen mit Wert m i = w/ n i w = w - m i n i Jeder Geldbetrag kann bezahlt werden! 6

Land Absurdia Drei Münzen: n 3 =, n 2 > beliebig, n = 2 n 2 + Beispiel:, 20, Zu zahlender Betrag: n = 3 n 2 (z.b. n = 60) Optimale Zahlungsweise: Greedy Zahlungsverfahren: 7

Handlungsreisenden-Problem (TSP) Gegeben: n Orte und Kosten c(i,j), um von i nach j zu reisen Gesucht: Eine billigste Rundreise, die alle Orte genau einmal besucht. Formal: Eine Permutation p von {, 2,..., n}, so dass c(p(),p(2)) + + c(p(n-),p(n)) + c(p(n),p()) minimal ist. 8

Handlungsreisenden-Problem (TSP) Greedy Verfahren zur Lösung von TSP Beginne mit Ort und gehe jeweils zum nächsten bisher noch nicht besuchten Ort. Wenn alle Orte besucht sind, kehre zum Ausgangsort zurück. 9

Handlungsreisenden-Problem (TSP) Beispiel c(i,i+) =, für i =,..., n - c(n,) = M (für eine sehr große Zahl M) c(i,j) = 2, sonst Optimale Tour: 2 3 n 2 n n Vom Greedy Verfahren berechnete Tour: 2 3 n 2 n n 0

Das Aktivitäten-Auswahl-Problem Gegeben: S = {a,...,a n }, Menge von n Aktivitäten,die alle eine Ressource benötigen, z.b. einen Hörsaal. Aktivität a i : Beginn b i und Ende e i Aktivitäten a i und a j heißen kompatibel, falls [b i, e i ) [b j, e j ) = Gesucht: Eine größt mögliche Menge paarweise kompatibler Aktivitäten. Annahme: Aktivitäten sind nach aufsteigender Zeit des Endes sortiert: e e 2 e 3... e n

Greedy Strategie zur Lösung des Aktivitäten-Auswahl-Problems: Wähle immer die Aktivität mit frühestem Endzeitpunkt, die legal eingeplant werden kann! Insbesondere ist die erste gewählte Aktivität die mit frühestem Endzeitpunkt. Satz Das Greedy Verfahren zur Auswahl der Aktivitäten liefert eine optimale Lösung des Aktivitäten-Auswahl-Problems. 2

Das Aktivitäten-Auswahl-Problem b i e i 3 5 0 6 5 7 3 2 5 3 8 5 9 6 0 6 7 8 8 2 2 3 2 0 8 8 8 9 8 8 0 2 3 5 6 7 8 9 0 2 3 3

Aktivitäten-Auswahl Algorithmus Greedy-Aktivitäten Input: n Aktivitätenintervalle [b i, e i ), i n mit e i e i+ ; Output: Eine maximal große Menge von paarweise kompatiblen Aktivitäten; A = {a } 2 last = /* last ist Index der hinzugefügte Aktivität */ 3 for i = 2 to n do if b i < e last 5 then A i = A i- 6 else /* b i e last */ 7 A i = A i- {a i } 8 last = i 9 return A m Laufzeit: O(n)

Optimalität des Greedy-Verfahrens Satz Das Greedy-Verfahren liefert eine optimale Lösung. Beweis Wir zeigen: Für alle i n gilt: Es gibt eine optimale Lösung A* mit A* {a,..., a i } = A i i = : Wähle A* {a,..., a n }, A* ist optimal, A* = {a i,..., a ik } A* = a i a i2 a i3 a ik a 5

Optimalität des Greedy-Verfahrens i - i: wähle A* {a,...,a n }, A* ist optimal mit A* {a,...,a i- } = A i- betrachte R = A* \ A i- Beobachtung R ist eine optimale Lösung für die Menge der Aktivitäten in {a i,...,a n }, die zu den Aktivitäten in A i- kompatibel sind. 6

Optimalität des Greedy-Verfahrens Fall : b i < e last A i- = a last e last b i a i a i ist nicht kompatibel zu A i- a i ist nicht enthalten in A* A* {a,...,a i } = A i- = A i 7

Optimalität des Greedy-Verfahrens Fall 2: b i e last A i- = e last a last b i ai a i ist kompatibel zu A i- Es gilt: R {a i,...,a n } R = b b 2 b 3 b l a i B* = A i- (R \ {b }) {a i } ist optimal B* {a,...,a i } = A i- {a i } = A i 8

Greedy-Verfahren Greedy-Wahl-Eigenschaften: Wenn man optimale Teillösung hat und man trifft eine lokal optimale Wahl, dann gibt es eine global optimale Lösung, die diese Wahl enthält. Optimalität von Teillösungen: Eine Teillösung einer optimalen Lösung ist eine optimale Lösung des Teilproblems. nach jeder lokal optimalen Wahl erhalten wir ein zur Ausgangssituation analoges Problem 9