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

Ähnliche Dokumente
ADS: Algorithmen und Datenstrukturen 2

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

ADS: Algorithmen und Datenstrukturen 2

Funktioniert der Greedy-Algorithmus auch für Briefmarken aus Manchukuo?

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

ADS: Algorithmen und Datenstrukturen 2

Definition Gerichteter Pfad. gerichteter Pfad, wenn. Ein gerichteter Pfad heißt einfach, falls alle u i paarweise verschieden sind.

Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 3: Minimal aufspannende Bäume und Matroide

Kap. 6.5: Minimale Spannbäume

Vorlesung Datenstrukturen

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

Minimal spannende Bäume

5. Bäume und Minimalgerüste

9 Minimum Spanning Trees

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

Graphalgorithmen Netzwerkalgorithmen. Laufzeit

Kap. 6.5: Minimale Spannbäume ff

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

Algorithmen und Datenstrukturen

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

Algorithmen & Komplexität

Rückblick: Starke Zusammenhangskomponenten

Durchschnitt von Matroiden

Berechnung minimaler Spannbäume. Beispiel

Wiederholung. Divide & Conquer Strategie

1 Matroide. 1.1 Definitionen und Beispiele. Seminar zur ganzzahligen Optimierung Thema: Durchschnitt von Matroiden - Satz von Edmonds von Dany Sattler

Algorithmische Graphentheorie

Algorithmus zur topologischen Nummerierung: while V = 0 do nummeriere eine Quelle mit der nächsten Nummer streiche diese Quelle aus V od

ADS: Algorithmen und Datenstrukturen 2

15. Elementare Graphalgorithmen

ADS: Algorithmen und Datenstrukturen 2

Datenstrukturen und Algorithmen (SS 2013)

Datenstrukturen und Algorithmen SS07

Breitensuche BFS (Breadth First Search)

1. Klausur zur Vorlesung Algorithmentechnik Wintersemester 2008/2009

Grundlagen: Algorithmen und Datenstrukturen

Algorithmen II Vorlesung am

Übungsblatt 2 - Lösung

EDM, Algorithmen und Graphenspeicherung

\ E) eines Graphen G = (V, E) besitzt die gleiche Knotenmenge V und hat als Kantenmenge alle Kanten des vollständigen Graphen ohne die Kantenmenge E.

Betriebswirtschaftliche Optimierung

3. Musterlösung. Problem 1: Boruvka MST

Proseminar Online Algorithmen, Prof. Dr. Rolf Klein

Lösungen zu Kapitel 5

Betriebliche Optimierung

3 Klassifikation wichtiger Optimierungsprobleme

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2

Informatik II, SS 2014

Kapitel IV Minimale Spannbäume

21. Greedy Algorithmen. Aktivitätenauswahl, Fractional Knapsack Problem, Huffman Coding Cormen et al, Kap. 16.1, 16.3

ADS: Algorithmen und Datenstrukturen 2

Informatik II, SS 2016

Minimal spannende Bäume

10 Kürzeste Pfade SSSP-Problem

1. Klausur zur Vorlesung Algorithmentechnik Wintersemester 2008/2009

2. Optimierungsprobleme 6

2. Klausur zur Vorlesung Algorithmentechnik Wintersemester 2009/2010

Algorithmen für Planare Graphen

Informatik II, SS 2014

Das Heiratsproblem. Definition Matching

Grundlagen Theoretischer Informatik 3 SoSe 2012 in Trier. Henning Fernau Universität Trier

Nachbarschaft, Grad, regulär, Inzidenz

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

Minimal spannender Baum

Algorithmische Methoden für schwere Optimierungsprobleme

3.2 Generischer minimaler Spannbaum-Algorithmus

ADS 2: Algorithmen und Datenstrukturen

Kapitel 5: Minimale spannende Bäume Gliederung der Vorlesung

Datenstrukturen und Algorithmen

3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel

Effiziente Algorithmen I

Wie wird ein Graph dargestellt?

Rückblick: divide and conquer

Freie Bäume und Wälder

Das Steinerbaumproblem

Das Problem des minimalen Steiner-Baumes

Lineare Algebra I. - 9.Vorlesung - Prof. Dr. Daniel Roggenkamp & Falko Gauß. Korrektur: 2. Klausurtermin:

11. GRAPHEN 3 FLÜSSE UND SPANNBÄUME

Kapitel 8 Graphenalgorithmen. Minimaler Spannbaum Union-find-Problem Kürzeste Wege

Kombinatorische Optimierung

Algorithmen und Datenstrukturen 2. Stefan Florian Palkovits, BSc Juni 2016

Algorithmen und Datenstrukturen Kapitel 9. und

Kapitel 4: Minimal spannende Bäume Gliederung der Vorlesung

Bemerkung: Es gibt Algorithmen für minimale Spannbäume der Komplexität O(m + n log n) und, für dünnbesetzte Graphen, der Komplexität O(m log n), wobei

Satz 324 Sei M wie oben. Dann gibt es für ein geeignetes k Konstanten c i > 0 und Permutationsmatrizen P i, i = 1,...

2.3 Basis und Dimension

Fortgeschrittene Netzwerk- und Graph-Algorithmen

1. Klausur zur Vorlesung Algorithmentechnik Wintersemester 2009/2010

Algorithmen und Datenstrukturen 2

Einführung in Berechenbarkeit, Komplexität und Formale Sprachen

Algorithmen und Datenstrukturen 2-1. Seminar -

Kapitel 4: Minimale spannende Bäume Gliederung der Vorlesung

Erzeugendensystem und Basis

KAPITEL 3 MATCHINGS IN BIPARTITEN GRAPHEN

durch Einfügen von Knoten konstruiert werden kann.

1.Aufgabe: Minimal aufspannender Baum

Folien aus der Vorlesung Optimierung I SS2013

Graphentheorie. Zusammenhang. Zusammenhang. Zusammenhang. Rainer Schrader. 13. November 2007

Transkript:

Wiederholung Optimale Lösungen mit Greedy-Strategie erfordern Optimalität der Greedy-Wahl unabhängig von Subproblemen Optimalität der Subprobleme Beispiele für optimale Greedy-Lösungen Scheduling Problem Maximierungsproblem Rationaler Rucksack Minimal spannende Bäume (MST) 16.01.2008 1

Minimale Spannbäume MST Problem minimaler Spannbaum (MST=minimum spanning tree): Gegeben: G=(V,E), zusammenhängend, ungerichtet Gewichtsfunktion w: E R Gesucht : Spannbaum T=(V,E T ) mit minimalem Gewicht w(t) = e ET w(e). Greedy-Strategie: Sortiere die Kanten aufsteigend nach Gewicht. Wähle nächste Kante, die keinen Kreis schließt. 16.01.2008 2

Greedy-Algorithmus MST Algorithmus Kruskal (MST) Eingabe: G=(V,E), w: E N 1. E T ; 2. Sortiere die Kanten aufsteigend nach Gewicht. 3. For e E in Reihenfolge aufsteigenden Gewichts 1. If ((V, E T {e}) ist kreisfrei) then E T E T {e}. Ausgabe: MST T=(V, E T ). Laufzeit: O( E log E ) Korrektheit: T ist Spannbaum. T hat minimales Gewicht: Zeigen im folgenden T ist gewichtetes Matroid. Greedy-Algorithmus ist optimal für alle gewichteten Matroide. 16.01.2008 3

Definition Matroid Def: M=(S,U) ist ein Matroid, falls 1. S ist endliche Menge. 2. Vererbbarkeit: U P(S), U mit: A U und B A B U. U nennt man die Menge der unabhängigen Teilmengen. 3. Ergänzungseigenschaft: A, B U und A < B x B\A: A {x} U. 16.01.2008 4

Beispiele für Matroide Beispiele: Uniformes Matroid vom Rang k S = endliche Menge U = {A S A k} 2. A U, B A B S, B A k B U 3. A, B U mit A < B k {x} B\A A {x} k A U Matrixmatroid S = Menge der Zeilenvektoren einer Matrix 1. S ist endlich. U = Teilmengen von linear unabhängigen Zeilenvektoren 2. Teilmengen linear unabh. Vektoren sind linear unabhängig. 3. Seien A, B U mit A < B. Es gibt in B einen Vektor, der linear unabhängig zu A ist. (Steinitzscher Austauschsatz, Basisergänzungssatz) 16.01.2008 5

Kruskal s Algorithmus und Matroide Sei G=(V,E) ein ungerichteter Graph. S=E E T U (V,E T ) ist kreisfrei. D.h. Kruskals Algorithmus berechnet ein Element E T U. Satz: (S,U)=(E,E T ) ist ein Matroid, das sogenannte Kreismatroid. 1. S=E ist endlich. 2. Entfernen von Kanten aus kreisfreien Graphen erzeugt keine Kreise. 3. Sei A, B U mit A < B. (V,A) hat V - A ZHK, (V,B) hat V - B ZHK (s. Vorlesung 06: Bäume) (V,B) hat weniger Bäume als (V,A). B enthält Baum T mit Knoten in verschiedenen ZHK von (V,A). T zusammenhängend: x=(u,v) T: u,v in verschiedenen ZHK von A. (V, A {x}) ist kreisfrei. 16.01.2008 6

Maximal unabhängige Mengen Definitionen: Sei A U. x A ergänzt A, falls A {x} U. A ist maximal unabhängig (oder auch: A ist Basis) A kann nicht ergänzt werden. Satz: Alle Basen eines Matroids (S,U) haben gleiche Kardinalität. Annahme: Seien A, B Basen mit A < B. Ergänzungseigenschaft: x B \ A: A {x} U. D.h. x ergänzt A. (Widerspruch: A ist maximal unabhängig.) Beispiel Kreismatroid: Jede maximal unabhängige Menge E T besitzt genau V -1 Kanten. Kreisfreier (V,E T ) mit E T = V -1 ist Spannbaum (s. Vorlesung Bäume). 16.01.2008 7

Greedy-Algorithmus für Matroide Algorithmus Greedy-Matroid Eingabe: Matroid M=(S, U), w: S N 1. A ; 2. Sortiere S aufsteigend nach Gewicht. 3. For x S in Reihenfolge aufsteigenden Gewichts 1. If (A {x} U) then A A {x}. Ausgabe: Basis A U mit minimalem Gewicht. Laufzeit: Sei n= S und f(n) die Laufzeit für den Test A {x} U: O(n logn + nf(n)) 16.01.2008 8

Optimalität der Greedy-Wahl Sei x S mit minimalem Gewicht, so dass {x} U. Falls kein solches x existiert, ist A= die einzige Basis. Lemma: Es gibt eine Basis A minimalen Gewichts, die x enthält. Annahme: Sei B Basis minimalen Gewichts w(b) mit x B. Für alle y B gilt: {y} U (Vererbbarkeit) w(y) w(x) nach Wahl von x Konstruktion von A: A {x} while ( A < B ) Ergänze A mit Element b B, so dass A {b} U. (Ergänzungseigenschaft) w(a) = w(x) + w(b) w(y) w(b) für ein y B Da w(b) minimal ist, gilt w(b) w(a) und damit w(a)=w(b). 16.01.2008 9

Korrektheit von Schritt 3. Sei x S mit minimalem Gewicht, so dass {x} U. x wird als erstes Element zu A hinzugefügt. Frage: Kann A={x} mit Elementen mit Gewicht < w(x) erweitert werden? Lemma: Sei M=(S,U) ein Matroid und {x} U. Dann gilt A {x} U für alle A U. Annahme: A {x} U. Vererbbarkeit: {x} A {x} U {x} U (Widerspruch: {x} U) D.h. jedes Element kann entweder gleich genutzt werden oder nie. Greedy-Matroid muss in Schritt 3 alle Elemente nur einmal betrachten: Impliziert Korrektheit der For-Schleife in Schritt 3. 16.01.2008 10

Optimalität der Subprobleme Lemma: Sei x das erste von Greedy-Matroid ausgewählte Element. Dann muss eine minimale Basis des Matroids M =(S,U ) gefunden werden, wobei S = {y S {x,y} U} U = {A S\{x} A {x} U}. A ist Basis von M mit x A A =A\{x} ist Basis von M Es gilt w(a) = w(a ) + w(x). D.h. jede minimale Basis A für M liefert eine minimale Basis A für M und umgekehrt. 16.01.2008 11

Zusammenfassen der Lemmata Satz: Greedy-Matroid berechnet bei Eingabe M=(S,U) eine minimale Basis von M. Jedes Element y mit {y} U braucht nicht betrachtet werden. Sei w(x) minimal mit {x} U. Falls kein solches x existiert, ist A= die einzige Basis. Greedy-Wahl: Es gibt eine optimale Lösung A mit x A. Subproblem: Finde optimale Lösung im Matroid M. Korollar: Alg. Kruskal berechnet einen minimalen Spannbaum. 16.01.2008 12

Minimierung versus Maximierung Maximierungsproblem Gegeben: gewichtetes Matroid M=(S,U), w: S N Gesucht: Basis von A mit maximalem Gewicht 1. Möglichkeit: Modifiziere Greedy-Matroid Sortiere absteigend Wähle greedy maximales Element, das A ergänzt. 2. Möglichkeit: Modizifiere Gewichtsfunktion w Übungsaufgabe Warnung: Es gibt zahlreiche Probleme die optimal mit Greedy gelöst werden können, aber von denen keine Matroiddarstellung bekannt ist. 16.01.2008 13