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

Ähnliche Dokumente
Kombinatorische Optimierung

Das Linear Ordering Problem Exakte Lösungsverfahren. für NP-schwierige. VO Algorithm Engineering

Felix Brandt, Jan Johannsen. Vorlesung im Wintersemester 2008/09

Steiner Bäume. Dipl.-Math. Maria Kandyba Lehrstuhl für Algorithm Engineering, LS VO 15. Januar 2007

4.7 Der Algorithmus von Dinic für maximalen Fluss

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

Optimierung. Optimierung. Vorlesung 7 Lineare Programmierung II Thomas Brox, Fabian Kuhn

Durchschnitt von Matroiden

Effiziente Algorithmen I

Effiziente Algorithmen und Datenstrukturen I. Kapitel 9: Minimale Spannbäume

Wiederholung zu Flüssen

Algorithmische Graphentheorie

Kap. 4.4: B-Bäume Kap. 4.5: Dictionaries in der Praxis

23. November Betweenness Centrality Closeness Centrality. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 108

Vorlesung 4 BETWEENNESS CENTRALITY

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

Kap. 4.2: Binäre Suchbäume

Algorithmen II Vorlesung am

Kapitel 4: Minimal spannende Bäume Gliederung der Vorlesung

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)

Matchings (Paarungen) in Graphen. PS Algorithmen auf Graphen SS `06 Steven Birr

Kapitel 4: Minimale spannende Bäume Gliederung der Vorlesung

Flüsse, Schnitte, Bipartite Graphen II

Algorithmen zur Berechnung von Matchings

Kapitel 4. Optimierungsalgorithmen. Technische Universität Wien. Gunnar Klau Technische Universität Wien. Institut für Computergraphik und Algorithmen

Ausarbeitung über den Satz von Menger und den Satz von König

WS 2009/10. Diskrete Strukturen

Algorithmen II Vorlesung am

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

KAPITEL 4 FLÜSSE IN NETZWERKEN

Graphenalgorithmen. Kurz-Vorstellung. Forschungsinteressen. Algorithm Engineering. Themen der VO: Probleme

Übungsblatt 2 - Lösung

Formale Grundlagen der Informatik

Anwendungen von Netzwerkfluss. Wojciech Polcwiartek Institut für Informatik FU Berlin

Minimal spannende Bäume

Kombinatorische Optimierung

Graphentheorie. Maximale Flüsse. Maximale Flüsse. Maximale Flüsse. Rainer Schrader. 31. Oktober Gliederung. sei G = (V, A) ein gerichteter Graph

Algorithmen zum Lösen von Vertex und Set Cover Instanzen zur Planung von Angriffen auf Netzwerke

Maximale s t-flüsse in Planaren Graphen

Gliederung. Kapitel 4. Lokale Suchverfahren. Meta-Heuristiken. Simulated Annealing. Lokale Suchverfahren. Optimierungsalgorithmen

Das Briefträgerproblem

8 Diskrete Optimierung

Scheduling und Lineare ProgrammierungNach J. K. Lenstra, D. B. Shmoys und É.

Termine für Übungstests. Kap. 3 Sortieren HeapSort ff Priority Queues. Motivation. Überblick. Analyse SiftDown

Algorithmentheorie Maximale Flüsse

Graphentheorie. Eulersche Graphen. Eulersche Graphen. Eulersche Graphen. Rainer Schrader. 14. November Gliederung.

16. All Pairs Shortest Path (ASPS)

Overview. Testen von Planarität. Planare Graphen. Beliebige Knotenpositionen. Gerade Linien. Faces

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

Algorithmik WS 07/ Vorlesung, Andreas Jakoby Universität zu Lübeck

2. Optimierungsprobleme 6

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

Änderung zur Übung. Kap. 4.4: B-Bäume. Motivation. Überblick. Motivation für B-Bäume. B-Bäume. Warum soll ich heute hier bleiben?

Proseminar Online Algorithmen, Prof. Dr. Rolf Klein

Fortgeschrittene Netzwerk- und Graph-Algorithmen

kontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung

Kombinatorische Optimierung

Graphen und Algorithmen

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

Undirected Single-Source Shortest Paths with Positive Integer Weights in Linear Time

Maximale s t-flüsse in Planaren Graphen

Vorlesung Kombinatorische Optimierung (Wintersemester 2016/17)

Flüsse in Netzwerken. Seminar über Algorithmen SoSe Mike Rohland & Julia Schenk

1 Der Simplex Algorithmus I

Algorithmen und Datenstrukturen Kapitel 10

Optimierung auf Netzwerken

3 Klassifikation wichtiger Optimierungsprobleme

6. Flüsse und Zuordnungen

Das Multi Traveling Salesman Problem

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen

Alle bislang betrachteten Sortieralgorithmen hatten (worst-case) Laufzeit Ω(nlog(n)).

4. ggt und kgv. Chr.Nelius: Zahlentheorie (SS 2007) 9

Lineare Programmierung

Flüsse in Netzwerken. Zeitplan Zeitplan Netzwerke. Theorie & Algorithmen Gunnar W. Klau TU Wien

WS 2013/14. Diskrete Strukturen

Datenstrukturen & Algorithmen

Optimierung I. Dr. Ulf Lorenz F2.413

Grundlagen Datenstrukturen Transitive Hülle Traversierung Kürzeste Wege Spannender Baum Max. Fluss Zuordnungen. 6. Graphen

WS 2009/10. Diskrete Strukturen

Inhaltsverzeichnis. - Kurzer Überblick Seite ) Einleitung Seite ) Vorbereitungen Seite 2. - ungewichtete und ungerichtete Graphen Seite 2

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

ADS: Algorithmen und Datenstrukturen 2

3.2 Lineare Optimierung (Entscheidungen unter Sicherheit)

Graphen und Algorithmen

Minimal spannende Bäume

3. Musterlösung. Problem 1: Boruvka MST

9. Übung Algorithmen I

Netzwerkfluß. Gegeben ist ein System von Wasserrohren: Die Kapazität jedes Rohres ist 3, 5 oder 8 l/s.

INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS

Randomisierte Algorithmen 2. Erste Beispiele

Flüsse, Schnitte, bipartite Graphen

Algorithmen und Datenstrukturen 2

Anmerkungen zur Übergangsprüfung

KAPITEL 6 GANZZAHLIGE OPTIMIERUNG UND VOLLSTÄNDIG UNIMODULARE MATRIZEN

4. Dualität Dualität 4.1 Dualität von LPs und der Dualitätssatz. Die duale Form eines LP in allgemeiner Form. Herleitung der dualen Form

Studientag zur Algorithmischen Mathematik

5. Woche Perfekte und Optimale Codes, Schranken. 5. Woche: Perfekte und Optimale Codes, Schranken 88/ 142

ADS: Algorithmen und Datenstrukturen 2

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

Transkript:

Kap. 1.4: Minimum Weight Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering, LS11 4. VO 6. November 2006 Überblick kurze Wiederholung: 1.2 Blüten-Schrumpf-Algorithmus für Perfektes Matching und 1.3 Maximum Matching 1.4 Perfektes Matching kleinsten Gewichts für bipartite Graphen 2 Aussois Workshop on Combinatorial Optimization 2001: Eureka, You Shrink! Video-Ausschnitte: William Pulleyblank: Einordnung in das Zeitgeschehen Jack Edmonds: Präsentation im RAND Workshop 1963 mit Dantzig, Gomory, etc. im Publikum 1.3 Blüten-Schrumpf Algorithmus für Maximum Matching 1. Wende Algorithmus für Perfektes Matching an 2. Falls Perfektes Matching gefunden auch Maximum Matching 3. Sonst: 1. Entferne V(T) aus G [Denn: es ex. kein augm. Weg zu r] 2. Wende Algorithmus auf nächsten M -exp. Knoten an 3 4 Korrektheit für Blüten-Schrumpf Algorithmus für Maximum Matching Lemma: Der Algorithmus ist korrekt! Beweis: Ann.: k Mal gestartet: mit M -exp. Knoten. Seien T 1,,T k die frustrierten Bäume, jeder Baum T i hat genau einen M -exp. Knoten (Wurzel r i ) Matching am Ende besitzt genau k M-exp. Knoten. Sei A=υA(T i ) Entferne A aus G: jeder Knoten von B(T i ) ergibt eine ungerade Komponente, die Anzahl der ungeraden Komponenten von G\A ist A +k (gilt sogar = ) M ist Maximum Matching von G 5 Tutte s Matching Theorem, 1947 Theorem: Ein Graph G=(V,E) besitzt ein Perfektes Matching Für jede Teilmenge A von Knoten gilt: oc(g\a) A Bw.: : G besitzt Perfektes Matching Indirekt: es ex. A mit oc(g\a) > A Argumentation wie immer (s. Alg.) es ex. kein Perfektes Matching. : Für alle A gilt: oc(g\a) A Indirekt: G besitzt kein Perfektes Matching Algorithmus bleibt stecken, d.h. für alle Kanten vw E mit v B(T) gilt: w A(T) Betrachte: G \ A: oc(g\a) < A (wegen Baum) für diese A. 6 1

Analyse: Laufzeit Lemma: Der Algorithmus terminiert nach O(n) Augmentierungen, nach maximal O(n 2 ) Schrumpfungsoperationen, nach O(n 2 ) Baum- Erweiterungsschritten. Lemma: Ein Augmentierungsschritt kann in Zeit O(m log n) realisiert werden. Damit erhält man als Laufzeit für den Algorithmus O(nm log n). Bw.: Idee: nicht explizite Graph-Schrumpfung, sondern implizite Repräsentation der Menge B Übung 1.4 Perfektes Matching kleinsten Gewichts für bipartite Graphen Minimum Weight (MWPM) Idee: Primal-dual Algorithmus mit Methoden der linearen Programmierung. Ausflug: Lineare Programmierung Übung Bem.: Micali und Vazirani, 1980: O( n m): Idee: finde kürzeste augmentierende Wege, davon jeweils viele 7 8 Formulierung als Ganzzahliges Lineares Programm: Formulierung als Ganzzahliges Lineares Programm: Relaxierung: Lineares Programm: (P) 9 10 Theorem von Birkhoff Sei G ein bipartiter Graph, und sei c R E. Dann besitzt G ein perfektes Matching (P) besitzt eine zulässige Lösung. Weiterhin gilt: Falls G ein perfektes Matching besitzt, dann ist der Wert eines perfekten Matchings kleinsten Gewichts gleich des optimalen Werts von (P). Beweis: über primal-dualen Algorithmus für MWPM, alternativ: s. Übung Primal-dualer Algorithmus für MWPM in bipartiten Graphen Duales Programm zu (P): (D) Geg. sei ein Vektor y R V und eine Kante e=(u,v). Wir def.: c e := c e (y) := c e -(y u +y v ) E = := E = (y) := {e E: c e =0} Gleichheits-Kantenmenge 11 12 2

Dualität der Linearen Programmierung Dualität der Linearen Programmierung Schwacher Dualitätssatz: Sei x ein zulässiger Punkt für (P) und y zulässig für (D). Dann gilt: y T b c T x 13 Starker Dualitätssatz: Sei x* ein zulässiger Punkt für (P) und y* zulässig für (D). Dann gilt: y* T b=c T x* beide Lösungen x* und y* sind optimal 14 Complementary Slackness Theorem Complementary Slackness für MWPM Geg. sei ein Vektor y R V und eine Kante e=(u,v). Wir def.: c e := c e (y) := c e -(y u +y v ) E = := E = (y) := {e E: c e =0} Gleichheits-Menge Satz vom komplementären Schlupf: Seien x eine zulässige Lösung für (P) und y zulässig für (D). Dann sind beide Lösungen optimal für alle j gilt: Komplementäre Schlupfbedingungen: Für alle e E gilt: aus x e >0 folgt: c e = c e -(y u +y v ) = 0 Falls x der charakteristische Vektor für ein perfektes Matching M ist, dann ist dies äquivalent zu M E =. 15 16 Primal-Dualer Algorithmus für MWPM Idee: Geg. eine zul. Lösung für (D): Bestimme ein Perfektes Matching in G = :=(V,E = ). Falls eines in G = existiert, dann Optimallösung Denn: x P und y D zulässig und komplementäre Schlupfbedingungen erfüllt. Sonst: gibt uns Algorithmus für PM ein Matching M in G = und einen M-alternierenden Baum in dem Knoten in B(T) höchstens Kanten zur Menge A(T) besitzen. Idee: Primal-Dualer Algorithmus für MWPM für bipartite Graphen Idee: Ändere y, so dass weiterhin Kanten in M und T in E = bleiben und zusätzlich neue Kanten (von B(T) nach nicht A(T)) zu E = hinzukommen. Idee: Erhöhe y v durch ε>0 für alle v B(T), und erniedrige y v durch ε>0 für alle v A(T). Wähle größtes ε>0, so dass y zulässig bleibt. eine neue Kante kommt zu E = hinzu (falls PM ex.) Weil G bipartit ist, kann T nun auf der neuen Menge E = erweitert oder augmentiert werden 17 18 3

Algorithmus für MWPM in bipartiten Graphen (1) Sei y zul. Lösung für (D), M ein Matching in G = (2) Sei T=({r}, ), wobei r M-exponiert ist (3) Wiederhole (4) Solange ein vw E = exist. mit v B(T), w V(T): (5) Falls w ist M-exponiert, dann: (6) Augmentiere M durch Weg (w,r) (7) Falls kein M-exp. Knoten in G existiert, dann: (8) Return M ist Perfektes Matching, STOP (9) Sonst Ersetze T durch ({r}, ), r ist neuer M-exp. Knoten (10) Sonst: Erweitere T durch vw (11) Falls jedes (v,w) E mit v B(T) nur w A(T) hat, dann (12) STOP: G besitzt kein Perfektes Matching. (13) Sonst: Sei ε = min { c vw : v B(T), w V(T) } Korrektheit des Primal-Dualen Algorithmus für MWPM in bipartiten Graphen Die Korrektheit des Algorithmus folgt aus dem Complementary Slackness Theorem: x und y sind zulässige Lösungen für (P) und (D), und die complementary slackness Bedingungen sind erfüllt. Algorithmus heißt auch: ungarische Methode (14) Ersetze y 19 v durch y v +ε für v B(T), y v -ε für v A(T) 20 Laufzeit des Primal-Dualen Algorithmus für MWPM für bipartite Graphen 1.5 Perfektes Matching kleinsten Gewichts in allgemeinen Graphen Im Worst Case ist ein duale Änderung für jeden einzelnen Baumerweiterungsschritt notwendig, O(n 2 ) Baumerweiterungsschritte Zeit für eine duale Änderung: naiv: überprüfe jede Kante um ε zu berechnen insgesamt: O(n 2 m) Realisierung in Zeit O(n 3 ) möglich (Übung) Idee: Primal-dualer Algorithmus in Verbindung mit Blossom-Shrinking des ungewichteten Falls Problem: Birkhoffs Theorem gilt hier nicht mehr 21 22 Relaxierung: Lineares Programm: (P) kann für allgemeine Graphen nicht ganzzahlige Werte annehmen Relaxierung: Lineares Programm: (P) kann für allgemeine Graphen nicht ganzzahlige Werte annehmen 23 Lösung (Edmonds): füge zusätzliche Ungleichungen ein 24 4

1.5 Perfektes Matching kleinsten Gewichts in allgemeinen Graphen Idee: Primal-dualer Algorithmus in Verbindung mit Blossom-Shrinking des ungewichteten Falls Details: s. Cook, Cunningham, Pulleyblank, Schrijver: Combinatorial Optimization, Wiley, 1998 25 5