Kombinatorische Optimierung Juniorprof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT –Henning Universität desMeyerhenke: Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft Kombinatorische Optimierung Institut für Theoretische Informatik 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: Kombinatorische Optimierung Institut für Theoretische Informatik Wiederholung Abschluss lineare Optimierung mit primal-dualem Algorithmus für M IN V ERTEX C OVER 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: Kombinatorische Optimierung Institut für Theoretische Informatik Inhalt Approximation Absolute Güte Relative Güte 4 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik 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 RA (I ) ≤ α berechnet, wobei RA (I ) := Alg (I ) − OPT (I ), falls Π Minimierungsproblem, RA (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 5 sagt man stattdessen, dass der Algorithmus eine Güte α garantiert. Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Beispielproblem Kantenfärbung Definition Gegeben sei ein Graph G = (V , E ). Eine Abbildung cE : E → N heißt Kantenfärbung2 von G, falls für alle zu einem Knoten u inzidenten Kanten {u , v }, {u , w } gilt: cE ({u , v }) 6= cE ({u , w }) Beispiel Siehe Tafel! 2 manchmal 6 auch: korrekte oder zulässige Kantenfärbung Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik 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 χ0 (G ) von G. 7 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik 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: Kombinatorische Optimierung Institut für Theoretische Informatik 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 ) ≤ χ0 (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: Kombinatorische Optimierung Institut für Theoretische Informatik 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: Kombinatorische Optimierung Institut für Theoretische Informatik Beweis des Lemmas Beweis. An u fehle Farbe s, an v fehle Farbe c1 . Ziel: c1 soll auch an u fehlen. Konstruieren Knotenfolge (v1 , . . . , vh ) von Nachbarn von u und Farbenfolge (c1 , . . . , ch+1 ) mit: Kante {u , vi } ist mit ci gefärbt und an vi fehlt ci +1 . Algorithmus dafür: Siehe Tafel! 11 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Beweis des Lemmas Beweis. An u fehle Farbe s, an v fehle Farbe c1 . Ziel: c1 soll auch an u fehlen. Konstruieren Knotenfolge (v1 , . . . , vh ) von Nachbarn von u und Farbenfolge (c1 , . . . , ch+1 ) mit: Kante {u , vi } ist mit ci gefärbt und an vi fehlt ci +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: Kombinatorische Optimierung Institut für Theoretische Informatik 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 ch+1 gefärbt ist. Dann: Zyklisches Verschieben der Farben (Kante (u , vi ) wird mit ci +1 gefärbt), c1 wird frei an u und an v . 2. Es gibt eine Kante {u , vj } mit cj = ch+1 ... Rest: Heimlektüre. 12 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Algorithmus zur Kantenfärbung Approximation des chromatischen Indexes mit absoluter Güte 1 Algorithm 1 Kantenfärbung mit absoluter Güte 1 1: function E DGE C OLORING(G = (V , E )) 2: if |E | == 0 then 3: return 4: else 5: Wähle eine beliebige Kante {u , v } ∈ E 6: G 0 = G \ {u , v } 7: E DGE C OLORING(G 0 ) 8: . Nach Rückkehr aus Rekursion ist G0 mit ≤ ∆(G0 ) + 1 Farben gefärbt. 9: if ∆(G 0 ) < ∆(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 13: 14: 13 Farbe c fehlt und färbe {u , v } mit c end if end if Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Eigenschaften des Algorithmus Theorem Algorithmus E DGE C OLORING 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: Kombinatorische Optimierung Institut für Theoretische Informatik Inhalt Approximation Absolute Güte Relative Güte 15 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik 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 RA (I ) ≤ α berechnet, wobei RA (I ) := Alg (I )/OPT (I ), falls Π Minimierungsproblem, RA (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 16 Approximationsalgorithmus, der relative Güte α garantiert Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik 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: Kombinatorische Optimierung Institut für Theoretische Informatik 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 G REEDYA PPROX MWM(G = (V , E , w )) 2: Sortiere E absteigend nach Gewicht: E = {e1 , . . . , em }, w (ei ) ≥ w (ej ) ∀i < j 3: M=∅ 4: while E 6= ∅ 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: Kombinatorische Optimierung Institut für Theoretische Informatik 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. G REEDYA PPROX MWM berechnet ein Matching M mit w (M ∗ ) ≤ 2w (M ) in Zeit O(m log m ). 18 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik 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. G REEDYA PPROX MWM 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 0 und e 00 von M ∗ entfernt. Es gilt: w (e 0 ) + w (e 00 ) ≤ 2w (e ). Rest: Übung. 18 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Linearzeit-Algorithmus mit Güte 2 Algorithm 4 Linearzeit-Berechnung eines MWM mit Güte 2 1: function PATH G ROWING MWM(G = (V , E , w )) 2: M1 = ∅; M2 = ∅; i = 1 3: while E 6= ∅ 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 Mi hinzu 8: Entferne x aus G 9: i = 3−i 10: x =y 11: end while 12: end while 13: return argmax(w (M1 ), w (M2 )) 19 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Linearzeit-Algorithmus mit Güte 2 Algorithm 5 Linearzeit-Berechnung eines MWM mit Güte 2 1: function PATH G ROWING MWM(G = (V , E , w )) 2: M1 = ∅; M2 = ∅; i = 1 3: while E 6= ∅ 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 Mi hinzu 8: Entferne x aus G 9: i = 3−i 10: x =y 11: end while 12: end while 13: return argmax(w (M1 ), w (M2 )) Beispiel: Siehe Tafel! 19 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Eigenschaften von PATH G ROWING MWM Theorem Sei G = (V , E ) ein Graph mit nicht-negativen Kantengewichten und sei M ∗ ein Matching mit maximalem Gewicht in G. PATH G ROWING MWM berechnet ein Matching M mit w (M ∗ ) ≤ 2w (M ) in Zeit O(m ). 20 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Eigenschaften von PATH G ROWING MWM Theorem Sei G = (V , E ) ein Graph mit nicht-negativen Kantengewichten und sei M ∗ ein Matching mit maximalem Gewicht in G. PATH G ROWING MWM 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: Kombinatorische Optimierung Institut für Theoretische Informatik Beweis der Güte von PATH G ROWING MWM 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: Kombinatorische Optimierung Institut für Theoretische Informatik Beweis der Güte von PATH G ROWING MWM 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 M1 oder M2 hinzugefügt. ⇒ w (M1 ∪ M2 ) ≥ w (M ) ⇒ max{w (M1 ), w (M2 )} ≥ 21 w (M1 ∪ M2 ) ≥ 12 w (M ) 21 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik 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: Kombinatorische Optimierung Institut für Theoretische Informatik