Kombinatorische Optimierung

Ähnliche Dokumente
Algorithmische Methoden für schwere Optimierungsprobleme

Algorithmische Methoden zur Netzwerkanalyse

Kombinatorische Optimierung

Algorithmische Methoden für schwere Optimierungsprobleme

Algorithmen II Vorlesung am

Kombinatorische Optimierung

Einführung in das Seminar Algorithmentechnik

Kombinatorische Optimierung

Betriebliche Optimierung

Betriebswirtschaftliche Optimierung

Algorithmen II Vorlesung am

Algorithmische Methoden zur Netzwerkanalyse Vorlesung 13, Henning Meyerhenke

Theoretische Grundlagen der Informatik

Approximationsalgorithmen für NP-harte Optimierungsprobleme

Approximationsalgorithmen für NP-harte Optimierungsprobleme

Approximationsalgorithmen

durch Einfügen von Knoten konstruiert werden kann.

Das Heiratsproblem. Definition Matching

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

Übung 2 Algorithmen II

Algorithmische Methoden zur Netzwerkanalyse Vorlesung 12, Henning Meyerhenke

Algorithmische Methoden zur Netzwerkanalyse

10. Übung Algorithmen I

Maximale s t-flüsse in Planaren Graphen

Algorithmische Methoden zur Netzwerkanalyse

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

Algorithmische Methoden zur Netzwerkanalyse

Theoretische Informatik. Exkurs: Komplexität von Optimierungsproblemen. Optimierungsprobleme. Optimierungsprobleme. Exkurs Optimierungsprobleme

Algorithmische Methoden zur Netzwerkanalyse Vorlesung 8, Henning Meyerhenke

Diskrete Strukturen. Hausaufgabe 1 (5 Punkte) Hausaufgabe 2 (5 Punkte) Wintersemester 2007/08 Lösungsblatt Januar 2008

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

Approximationsalgorithmen

Algorithmen und Datenstrukturen 2 VU 3.0 Nachtragstest SS Oktober 2016

Einführung in Approximative Algorithmen und Parametrisierte Komplexität

1 Einführung in Lineare Programme und Dualität

Das Problem des minimalen Steiner-Baumes

Algorithmische Methoden für schwere Optimierungsprobleme

Approximationsalgorithmen. 19. Dezember / 28

Übungsblatt 5. Vorlesung Theoretische Grundlagen der Informatik im WS 17/18

Ü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

Voronoi-Diagramme. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK

Algorithmische Methoden zur Netzwerkanalyse

5. Bäume und Minimalgerüste

Algorithmen I - Tutorium 28 Nr. 11

Algorithmische Methoden zur Netzwerkanalyse Vorlesung 11, Henning Meyerhenke

Vorlesung 2 KÜRZESTE WEGE

Vorlesung Algorithmische Geometrie Konvexe Hülle im R 3

Algorithmentechnik - U bung 3 4. Sitzung Tanja Hartmann 03. Dezember 2009

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

Algorithmen und Datenstrukturen 2

Algorithmische Graphentheorie

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

Algorithmische Methoden zur Netzwerkanalyse

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

Algorithmische Methoden zur Netzwerkanalyse

Grundlagen: Algorithmen und Datenstrukturen

Voronoi-Diagramme INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie

Matching. Organisatorisches. VL-18: Matching. (Datenstrukturen und Algorithmen, SS 2017) Gerhard Woeginger. Tanzabend

Hamiltonsche Graphen

Approximationsklassen für Optimierungsprobleme

Algorithmen und Datenstrukturen

Kombinatorische Optimierung

Näherungsalgorithmen (Approximationsalgorithmen) WiSe 2012/13 in Trier

Rundreiseproblem und Stabilität von Approximationsalg.

Algorithmische Graphentheorie

1 Pfade in azyklischen Graphen

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

1. Klausur zur Vorlesung Algorithmentechnik Wintersemester 2008/2009

Theoretische Informatik 1

Seien u, v V, u v. Da G zusammenhängend ist, muss mindestens ein Pfad zwischen u und v existieren.

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

Algorithmische Methoden zur Netzwerkanalyse

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

Polynomialzeit- Approximationsschema

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17

Effizienter Planaritätstest Vorlesung am

3. Musterlösung. Problem 1: Boruvka MST

9. Übung Algorithmen I

Polygontriangulierung

Kapitel 9: Lineare Programmierung Gliederung

Eulerweg, Eulerkreis. Das Königsberger Brückenproblem. Definition 3.1. Ein Weg, der jede Kante von G genau einmal

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

Kombinatorische Optimierung

Graphalgorithmen Netzwerkalgorithmen. Laufzeit

Algorithmen & Komplexität

Übung zur Vorlesung Diskrete Mathematik (MAT.107) Blatt Beispiellösungen Abgabefrist:

ADS: Algorithmen und Datenstrukturen 2

Fortgeschrittene Netzwerk- und Graph-Algorithmen

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

Algorithmen und Komplexität Lösungsvorschlag zu Übungsblatt 8

Algorithmen II Vorlesung am

Algorithmen II Vorlesung am

Theoretische Grundlagen der Informatik

Vorlesung Datenstrukturen

Datenstrukturen und Algorithmen

Übungsblatt 2 - Lösung

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Transkript:

Juniorprof. Dr. Henning Meyerhenke 1 Henning Meyerhenke: KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Vorlesung 16 Programm: Einführung in Approximation Absolute Güte: Kantenfärbung Relative Güte: Matchings mit maximalem Gewicht 2 Henning Meyerhenke:

Wiederholung Abschluss lineare Optimierung mit primal-dualem Algorithmus für MINVERTEXCOVER Bewiesen: Lösung des Algorithmus fast so gut wie das Optimum Ziel: Formalisierung dieses Konzepts Zusätzliche Literatur: Rolf Wanka: Approximationsalgorithmen. Eine Einführung. Teubner-Verlag, 2006. 3 Henning Meyerhenke:

Inhalt Approximation Absolute Güte Relative Güte 4 Henning Meyerhenke:

Approximation und absolute Güte Definition Bezeichne Π ein Optimierungsproblem. Ein Algorithmus A heißt Approximationsalgorithmus mit absoluter Güte α, 1 wenn A zu jeder Instanz I von Π eine zulässige (aber nicht notwendigerweise optimale) Lösung mit R A (I) α berechnet, wobei R A (I) := Alg(I) OPT (I), falls Π Minimierungsproblem, R A (I) := OPT (I) A(I), falls Π Maximierungsproblem. Hier bezeichnen A(I) den Wert der Lösung, die A für I berechnet und OPT (I) den Wert einer optimalen Lösung für I. 1 Manchmal sagt man stattdessen, dass der Algorithmus eine Güte α garantiert. 5 Henning Meyerhenke:

Beispielproblem Kantenfärbung Definition Gegeben sei ein Graph G = (V, E). Eine Abbildung c E : E N heißt Kantenfärbung 2 von G, falls für alle zu einem Knoten u inzidenten Kanten {u, v}, {u, w} gilt: c E ({u, v}) = c E ({u, w}) Beispiel Siehe Tafel! 2 manchmal auch: korrekte oder zulässige Kantenfärbung 6 Henning Meyerhenke:

Kantenfärbung als Optimierungsproblem Problem Gegeben sei ein Graph G = (V, E). Finde eine Kantenfärbung für G mit minimaler Anzahl Farben! Definition Die kleinstmögliche Anzahl Farben in einer Kantenfärbung eines Graphen G heißt auch chromatischer Index χ (G) von G. 7 Henning Meyerhenke:

Komplexität und Lösungseigenschaften Bemerkung Die Entscheidungsprobleme Ist der Graph G mit k 3 Farben kantenfärbbar? Ist der Graph G mit (G) Farben kantenfärbbar? sind für allgemeine Graphen N P-vollständig. Bemerkung Es gibt Graphen G, die mindestens (G) + 1 Farben zur Kantenfärbung benötigen. 8 Henning Meyerhenke:

Approximationsalgorithmus für Kantenfärbung Graphentheoretische Hinführung Theorem Jeder Graph G braucht mindestens (G) und höchstens (G) + 1 Farben für eine Kantenfärbung. Anders ausgedrückt: (G) χ (G) (G) + 1. Beweis. Mindestens (G) Farben: Klar. Für Rest: Angabe eines Algorithmus, der höchstens (G) + 1 Farben benötigt. 9 Henning Meyerhenke:

Hilfsergebnis Graphentheoretische Hinführung Definition An einem Knoten v fehlt die Farbe c, wenn keine zu v inzidente Kante die Farbe c hat. Lemma Sei G kantengefärbt mit den Farben {1,..., (G) + 1}. Ferner seien u und v Knoten mit {u, v} / E und deg(u), deg(v) < (G). Dann kann G so umgefärbt werden, dass an u und v dieselbe Farbe fehlt. 10 Henning Meyerhenke:

Beweis des Lemmas Beweis. An u fehle Farbe s, an v fehle Farbe c 1. Ziel: c 1 soll auch an u fehlen. Konstruieren Knotenfolge (v 1,..., v h ) von Nachbarn von u und Farbenfolge (c 1,..., c h+1 ) mit: Kante {u, v i } ist mit c i gefärbt und an v i fehlt c i+1. Algorithmus dafür: Siehe Tafel! 11 Henning Meyerhenke:

Beweis des Lemmas Beweis. An u fehle Farbe s, an v fehle Farbe c 1. Ziel: c 1 soll auch an u fehlen. Konstruieren Knotenfolge (v 1,..., v h ) von Nachbarn von u und Farbenfolge (c 1,..., c h+1 ) mit: Kante {u, v i } ist mit c i gefärbt und an v i fehlt c i+1. Algorithmus dafür: Siehe Tafel! Die Nachbarn von u sind nun in der passenden Reihenfolge bzgl. der o.g. Folgen nummeriert. 11 Henning Meyerhenke:

Fortsetzung des Beweises Beweis. while-schleife hat (G) 1 Iterationen (wg. Voraussetzung gilt: deg(v) < (G)). Abbruch der Schleife: 1. Es gibt keine zu u inzidente Kante, die mit c h+1 gefärbt ist. Dann: Zyklisches Verschieben der Farben (Kante (u, v i ) wird mit c i+1 gefärbt), c 1 wird frei an u und an v. 2. Es gibt eine Kante {u, v j } mit c j = c h+1... Rest: Heimlektüre. 12 Henning Meyerhenke:

Algorithmus zur Kantenfärbung Approximation des chromatischen Indexes mit absoluter Güte 1 Algorithm 1 Kantenfärbung mit absoluter Güte 1 1: function EDGECOLORING(G = (V, E)) 2: if E == 0 then 3: return 4: else 5: Wähle eine beliebige Kante {u, v} E 6: G = G \ {u, v} 7: EDGECOLORING(G ) 8: Nach Rückkehr aus Rekursion ist G mit (G ) + 1 Farben gefärbt. 9: if (G ) < (G) then 10: Färbe {u, v} mit der kleinstmöglichen an u und v fehlenden Farbe 11: else 12: Färbe {u, v} gemäß des Lemmas so um, dass an u und v dieselbe Farbe c fehlt und färbe {u, v} mit c 13: end if 14: end if 13 Henning Meyerhenke:

Eigenschaften des Algorithmus Theorem Algorithmus EDGECOLORING kann in Zeit O( V E ) ausgeführt werden und garantiert absolute Güte 1. Beweis. Güte folgt aus Lemma, dort wird eine Farbe mehr als der Knotengrad benötigt. Laufzeit: Übung. 14 Henning Meyerhenke:

Inhalt Approximation Absolute Güte Relative Güte 15 Henning Meyerhenke:

Approximation und relative Güte Definition Bezeichne Π ein Optimierungsproblem. Ein Algorithmus A heißt α-approximationsalgorithmus, 3 wenn A zu jeder Instanz I von Π eine zulässige (aber nicht notwendigerweise optimale) Lösung mit R A (I) α berechnet, wobei R A (I) := Alg(I)/OPT (I), falls Π Minimierungsproblem, R A (I) := OPT (I)/A(I), falls Π Maximierungsproblem. Hier bezeichnen A(I) den Wert der Lösung, die A für I berechnet und OPT (I) den Wert einer optimalen Lösung für I. 3 oder Approximationsalgorithmus, der relative Güte α garantiert 16 Henning Meyerhenke:

Beispielproblem Matchings mit maximalem Gewicht in allgemeinen Graphen Der beste exakte MWM-Algorithmus in allgemeinen Graphen hat eine Laufzeit von O( n m). Ziel: Bessere Laufzeit bei geringen Qualitätseinbußen. 17 Henning Meyerhenke:

Beispielproblem Matchings mit maximalem Gewicht in allgemeinen Graphen Der beste exakte MWM-Algorithmus in allgemeinen Graphen hat eine Laufzeit von O( n m). Ziel: Bessere Laufzeit bei geringen Qualitätseinbußen. Algorithm 3 Berechnung eines gewichteten Matchings mit Güte 2 1: function GREEDYAPPROXMWM(G = (V, E, w)) 2: Sortiere E absteigend nach Gewicht: E = {e 1,..., e m }, w(e i ) w(e j ) i < j 3: M = 4: while E = do 5: Nehme nächste Kante e = (u, v) aus E und füge diese in M ein 6: Entferne alle Kanten aus E, die zu u oder v inzident sind 7: end while 8: return M 17 Henning Meyerhenke:

Beispielproblem Eigenschaften des Greedy-Algorithmus Theorem Sei G = (V, E) ein Graph mit nicht-negativen Kantengewichten und sei M ein Matching mit maximalem Gewicht in G. GREEDYAPPROXMWM berechnet ein Matching M mit w(m ) 2w(M) in Zeit O(m log m). 18 Henning Meyerhenke:

Beispielproblem Eigenschaften des Greedy-Algorithmus Theorem Sei G = (V, E) ein Graph mit nicht-negativen Kantengewichten und sei M ein Matching mit maximalem Gewicht in G. GREEDYAPPROXMWM berechnet ein Matching M mit w(m ) 2w(M) in Zeit O(m log m). Beweis. Laufzeit: Klar. Bleibt noch: Güte. Die als erstes gewählte Kante e = {u, v} ist schwerste Kante in G. Beim Löschen von e und aller inzidenten Kanten werden höchstens zwei Kanten e und e von M entfernt. Es gilt: w(e ) + w(e ) 2w(e). Rest: Übung. 18 Henning Meyerhenke:

Linearzeit-Algorithmus mit Güte 2 Algorithm 4 Linearzeit-Berechnung eines MWM mit Güte 2 1: function PATHGROWINGMWM(G = (V, E, w)) 2: M 1 = ; M 2 = ; i = 1 3: while E = do 4: Wähle x V mit deg(x) > 0 beliebig 5: while x hat Nachbar in G do 6: Sei {x, y} die schwerste zu x inzidente Kante 7: Füge {x, y} zu M i hinzu 8: Entferne x aus G 9: i = 3 i 10: x = y 11: end while 12: end while 13: return argmax(w(m 1 ), w(m 2 )) 19 Henning Meyerhenke:

Linearzeit-Algorithmus mit Güte 2 Algorithm 5 Linearzeit-Berechnung eines MWM mit Güte 2 1: function PATHGROWINGMWM(G = (V, E, w)) 2: M 1 = ; M 2 = ; i = 1 3: while E = do 4: Wähle x V mit deg(x) > 0 beliebig 5: while x hat Nachbar in G do 6: Sei {x, y} die schwerste zu x inzidente Kante 7: Füge {x, y} zu M i hinzu 8: Entferne x aus G 9: i = 3 i 10: x = y 11: end while 12: end while 13: return argmax(w(m 1 ), w(m 2 )) Beispiel: Siehe Tafel! 19 Henning Meyerhenke:

Eigenschaften von PATHGROWINGMWM Theorem Sei G = (V, E) ein Graph mit nicht-negativen Kantengewichten und sei M ein Matching mit maximalem Gewicht in G. PATHGROWINGMWM berechnet ein Matching M mit w(m ) 2w(M) in Zeit O(m). 20 Henning Meyerhenke:

Eigenschaften von PATHGROWINGMWM Theorem Sei G = (V, E) ein Graph mit nicht-negativen Kantengewichten und sei M ein Matching mit maximalem Gewicht in G. PATHGROWINGMWM berechnet ein Matching M mit w(m ) 2w(M) in Zeit O(m). Beweis der Laufzeit. Jeder Knoten wird höchstens einmal in der while-schleife bearbeitet. Die schwerste zu einem Knoten x inzidente Kante kann man in O(deg(x)) finden und entfernen. Pfade nur von Kanten starten keine Knoten mit Grad 0. Zahl der Knoten mit Grad mindestens 1 ist O( E ). Gesamtlaufzeit Summe der Knotengrade in V : O( E ). 20 Henning Meyerhenke:

Beweis der Güte von PATHGROWINGMWM Beweis der Güte. Vaterknoten für jede Kante: Immer wenn ein Knoten x entfernt wird, werden alle noch zu x inzidenten Kanten an x zugewiesen. So wird jede Kante von G genau einem Knoten von G zugewiesen. Betrachten MWM M von G: Alle Kanten von M werden an verschiedene Knoten von G zugewiesen (wg. Matching-Eigenschaft). 21 Henning Meyerhenke:

Beweis der Güte von PATHGROWINGMWM Beweis der Güte. Vaterknoten für jede Kante: Immer wenn ein Knoten x entfernt wird, werden alle noch zu x inzidenten Kanten an x zugewiesen. So wird jede Kante von G genau einem Knoten von G zugewiesen. Betrachten MWM M von G: Alle Kanten von M werden an verschiedene Knoten von G zugewiesen (wg. Matching-Eigenschaft). In jedem Schritt des Algorithmus wird die aktuell schwerste Kante, die zu x inzident ist, in Zeile 6 gewählt und zu M 1 oder M 2 hinzugefügt. w(m 1 M 2 ) w(m) max{w(m 1 ), w(m 2 )} 1 2 w(m 1 M 2 ) 1 2 w(m) 21 Henning Meyerhenke:

Zusammenfassung Exakter Algorithmus zu langsam? Approximationsalgorithmus! Absolute und relative Güte Algorithmen: Kantenfärbung mit absoluter Güte 1 MWM mit relativer Güte 2 Hinweis: MWM kann noch besser in Linearzeit approximiert werden 22 Henning Meyerhenke: