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 17 Programm: Nichtapproximierbarkeit am Beispiel von TSP Metrisches TSP Geglättete Analyse für TSP 2 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Wiederholung Absolute Güte Relative Güte Zusätzliche Literatur: Rolf Wanka: Approximationsalgorithmen. Eine Einführung. Teubner-Verlag, 2006. Heiko Röglin: Introduction to Smoothed Analysis. Lecture Notes, Universität Bonn. 3 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Inhalt Approximation TSP: Das Problem des Handlungsreisenden 4 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Einführung Das Problem des Handlungsreisenden (TSP): Finde für endlich viele Punkte, deren paarweise Abstände bekannt sind, den kürzesten die Punkte verbindenden Kreis! Graphentheoretisch: Finde einen Hamiltonkreis im (gewichteten) Graphen mit minimaler Länge! 5 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Komplexität Theorem TSP ist als Entscheidungsproblem N P -vollständig. Beweis. Reduktion auf Hamiltonkreis. Theorem (Christofides) Das metrische TSP (Dreiecksungleichung gilt für Distanzen) für einen Graphen mit n Knoten kann mit Christofides’ Algorithmus mit einer garantierten relativen Güte von 32 − n1 bei einer Laufzeit von O(n2.5 log4 n) gelöst werden. 6 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik PTAS und FPTAS Definition ((F)PTAS) Sei Π ein Optimierungsproblem. Sei A ein Approximationsalgorithmus für Π, der als Eingabe eine Probleminstanz I von Π und ein e mit 0 < e < 1 bekommt. A ist ein polynomielles Approximationsschema (PTAS, engl. für polynomial time approximation scheme) für Π, falls A zu jeder Probleminstanz I in Polynomialzeit eine zulässige Lösung mit relativem Fehler e berechnet. 7 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik PTAS und FPTAS Definition ((F)PTAS) Sei Π ein Optimierungsproblem. Sei A ein Approximationsalgorithmus für Π, der als Eingabe eine Probleminstanz I von Π und ein e mit 0 < e < 1 bekommt. A ist ein polynomielles Approximationsschema (PTAS, engl. für polynomial time approximation scheme) für Π, falls A zu jeder Probleminstanz I in Polynomialzeit eine zulässige Lösung mit relativem Fehler e berechnet. A ist ein streng polynomielles Approximationsschema (FPTAS, engl. für fully PTAS), wenn A ein PTAS ist mit Laufzeit O(poly (|I |, 1/e)). 7 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik PTAS und FPTAS Definition ((F)PTAS) Sei Π ein Optimierungsproblem. Sei A ein Approximationsalgorithmus für Π, der als Eingabe eine Probleminstanz I von Π und ein e mit 0 < e < 1 bekommt. A ist ein polynomielles Approximationsschema (PTAS, engl. für polynomial time approximation scheme) für Π, falls A zu jeder Probleminstanz I in Polynomialzeit eine zulässige Lösung mit relativem Fehler e berechnet. A ist ein streng polynomielles Approximationsschema (FPTAS, engl. für fully PTAS), wenn A ein PTAS ist mit Laufzeit O(poly (|I |, 1/e)). Theorem (Arora, 1996; ähnlich: Mitchell, 1996) Für das euklidische TSP gibt es ein PTAS mit der Laufzeit O(n3 logO(1/e) n). 7 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Nichtapproximierbarkeit von TSP Theorem Wenn es einen Polynomialzeit-Approximationsalgorithmus A mit konstanter relativer Güte r für das volle TSP gibt, dann ist P = N P . Beweis. Annahme: Es gibt ein solches A mit relativer Gütegarantie r ∈ N. Ziel: Algorithmus angeben, der mit Hilfe von A das N P -vollständige Hamiltonkreisproblem in Polynomialzeit löst. Genauer: H AMILTON ≤p TSP [r ] für alle r . ... 8 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Fortsetzung des Beweises Transformation der Eingabe Beweis. Eingabe: G = (V , E ) mit n Knoten, Frage: Hat G einen Hamiltonkreis? Transformation von G in Probleminstanz IG für TSP: IG = hKn , c i mit ( 1 , falls {u , v } ∈ E (kurze Kanten) c (u , v ) = 0 r := (r − 1) · n + 2 , falls {u , v } ∈ /E (lange Kanten) Beispiel: Siehe Tafel! 9 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Fortsetzung des Beweises Gültigkeit der Transformation Beweis. IG kann in Polynomialzeit aus G berechnet werden. Es gilt: Hat G Hamiltonkreis, dann hat kürzeste Rundreise Länge n. Es gilt: Hat G keinen Hamiltonkreis, dann enthält jede Rundreise mindestens eine lange Kante. ⇒ Länge der kürzesten Rundreise ≥ (r − 1) · n + n − 1 = r · n + 1 > r · n 10 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Fortsetzung des Beweises Gültigkeit der Transformation Beweis. IG kann in Polynomialzeit aus G berechnet werden. Es gilt: Hat G Hamiltonkreis, dann hat kürzeste Rundreise Länge n. Es gilt: Hat G keinen Hamiltonkreis, dann enthält jede Rundreise mindestens eine lange Kante. ⇒ Länge der kürzesten Rundreise ≥ (r − 1) · n + n − 1 = r · n + 1 > r · n Folglich existiert Lücke: Zulässige Lösung für IG hat entweder Länge = n oder > r · n. 10 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Fortsetzung des Beweises Algorithmus Beweis. 1: function E NTSCHEIDE H AMILTON(Graph G) 2: berechne IG und approximiere mit A eine kürzeste Rundreise in IG 3: if A(IG ) > r · n then 4: return “kein Hamilton-Kreis" 5: else 6: return “Hamilton-Kreis vorhanden" 7: end if 11 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Fortsetzung des Beweises Algorithmus Beweis. 1: function E NTSCHEIDE H AMILTON(Graph G) 2: berechne IG und approximiere mit A eine kürzeste Rundreise in IG 3: if A(IG ) > r · n then 4: return “kein Hamilton-Kreis" 5: else 6: return “Hamilton-Kreis vorhanden" 7: end if Wenn Hamilton-Kreis vorhanden, muss A(IG ) ≤ r · n sein. Es gibt aber nur optimale Rundreisen (= HK in G) mit dieser Länge. ⇒ Approximation mit konstanter relativer Güte nur, wenn P = N P . 11 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Allgemeine Nichtapproximierbarkeit Theorem Sei L ⊆ Σ∗ ein N P -vollständiges Entscheidungsproblem und sei Π ein Minimierungsproblem. Gibt es zwei in Polynomialzeit berechenbare Funktionen f : Σ∗ → D und c : Σ∗ → N und eine Konstante γ > 0, so dass für alle Eingaben x ∈ Σ∗ gilt: ( ≤ c (x ) x ∈L OPT (f (x )) ≥ c (x ) · (1 + γ ) x ∈ / L, dann gibt es keinen Polynomialzeit-Approximationsalgorithmus mit relativer Güte r mit r < 1 + γ, es sei denn, P = N P . 12 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Heuristiken für TSP Die PTAS-Ergebnisse von Arora und von Mitchell basieren auf DP. Praxis: Lokale Suche sehr erfolgreich. 2-Opt: Start mit beliebiger Tour, dann zwei Kanten hernehmen und mit zwei anderen vertauschen. 13 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Heuristiken für TSP Die PTAS-Ergebnisse von Arora und von Mitchell basieren auf DP. Praxis: Lokale Suche sehr erfolgreich. 2-Opt: Start mit beliebiger Tour, dann zwei Kanten hernehmen und mit zwei anderen vertauschen. Verbesserungsschritt: Wähle zwei Kanten {u1 , u2 } und {v1 , v2 } aus der Tour: u1 , u2 , v1 , v2 paarweise verschieden u1 , u2 , v1 , v2 erscheinen in dieser Reihenfolge in der Tour Dann: Ersetzen durch {u1 , v1 } und {u2 , v2 }, falls die Tour dadurch kürzer wird. 13 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Heuristiken für TSP Die PTAS-Ergebnisse von Arora und von Mitchell basieren auf DP. Praxis: Lokale Suche sehr erfolgreich. 2-Opt: Start mit beliebiger Tour, dann zwei Kanten hernehmen und mit zwei anderen vertauschen. Verbesserungsschritt: Wähle zwei Kanten {u1 , u2 } und {v1 , v2 } aus der Tour: u1 , u2 , v1 , v2 paarweise verschieden u1 , u2 , v1 , v2 erscheinen in dieser Reihenfolge in der Tour Dann: Ersetzen durch {u1 , v1 } und {u2 , v2 }, falls die Tour dadurch kürzer wird. Terminiert in lokalem Optimum, erstaunlich gute Qualität trotz meist subquadratischer Iterationszahl Beispiel: Siehe Tafel! 13 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Bekannte Ergebnisse Experimentell gut untersucht, aber nur wenige theoretische Resultate Betrachten zunächst die Zahl der lokalen Verbesserungsschritte bis zum lokalen Optimum Dazu: Verwendung des Zustandsgraphen G : Knoten: Mögliche Tour in G Gerichtete Kanten (u , v ): v geht aus u durch 2-Veränderung hervor 14 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Bekannte Ergebnisse Experimentell gut untersucht, aber nur wenige theoretische Resultate Betrachten zunächst die Zahl der lokalen Verbesserungsschritte bis zum lokalen Optimum Dazu: Verwendung des Zustandsgraphen G : Knoten: Mögliche Tour in G Gerichtete Kanten (u , v ): v geht aus u durch 2-Veränderung hervor Es gibt TSP-Instanzen, für die der Zustandsgraph exponentiell lange Wege hat, sogar für euklidische Eingaben. Für euklidische Eingaben ist die erwartete Länge des längsten Pfades polynomiell. Weitere Resultate in Röglins Skript, z.B. zur Güte von 2-Opt. 14 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Geglättete Analyse von 2-Opt Annahme: Graph G = (V , E ) gegeben (statt einer zufälligen Punktmenge) Gegenspieler kann eine beliebige Dichtefunktion fe : [0, 1] → [0, φ] für jede Kante e ∈ E wählen. Jede Kantenlänge wird somit unabhängig gemäß fe gezogen. 15 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Geglättete Analyse von 2-Opt Annahme: Graph G = (V , E ) gegeben (statt einer zufälligen Punktmenge) Gegenspieler kann eine beliebige Dichtefunktion fe : [0, 1] → [0, φ] für jede Kante e ∈ E wählen. Jede Kantenlänge wird somit unabhängig gemäß fe gezogen. Theorem Für jeden Graphen G mit n Knoten ist die erwartete Länge des längsten Pfades im 2-Opt-Zustandsgraphen G in O(n6 log n). 15 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Geglättete Analyse von 2-Opt Hauptergebnis Theorem Für jeden Graphen G mit n Knoten ist die erwartete Länge des längsten Pfades im 2-Opt-Zustandsgraphen G in O(n6 log n). 16 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Geglättete Analyse von 2-Opt Hauptergebnis Theorem Für jeden Graphen G mit n Knoten ist die erwartete Länge des längsten Pfades im 2-Opt-Zustandsgraphen G in O(n6 log n). Beweisidee. Potentialfunktion über Länge der aktuellen Tour. Jede Tour hat triviale obere Schranke (durch Skalierung: n). Falls jede 2-Änderung die Tourlänge um mindestens ∆ > 0 verringert: Lokales Optimum wird nach ≤ n/∆ Schritten erreicht. 16 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Geglättete Analyse von 2-Opt Hauptergebnis Theorem Für jeden Graphen G mit n Knoten ist die erwartete Länge des längsten Pfades im 2-Opt-Zustandsgraphen G in O(n6 log n). Beweisidee. Potentialfunktion über Länge der aktuellen Tour. Jede Tour hat triviale obere Schranke (durch Skalierung: n). Falls jede 2-Änderung die Tourlänge um mindestens ∆ > 0 verringert: Lokales Optimum wird nach ≤ n/∆ Schritten erreicht. Ziel: Zeigen, dass ∆ nicht zu klein ist (unmöglich im worst case, hier aber für φ-perturbierte Instanzen wg. geglätteter Analyse)! 16 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Beweis des Hauptergebnisses (1) Beweis. Betrachte feste 2-Änderung (e1 , e2 ) → (e3 , e4 ). Verringerung der Tourlänge: ∆(e1 , e2 , e3 , e4 ) = d (e1 ) + d (e2 ) − d (e3 ) − d (e4 ). Definiere ∆ als kleinstmögliche Verbesserung: ∆= min e1 ,e2 ,e3 ,e4 ∆(e1 ,e2 ,e3 ,e4 )>0 ∆ ( e1 , e2 , e3 , e4 ) Lemma (Beweis später): Für jedes e > 0 gilt: P[∆ ≤ e] ≤ n4 eφ. 17 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Beweis des Hauptergebnisses (2) Beweis. Lemma (Beweis später): Für jedes e > 0 gilt: P[∆ ≤ e] ≤ n4 eφ. Sei T die Maximalzahl von Schritten, die 2-Opt machen kann (= Länge des längsten Pfades im Zustandsgraphen). n/∆ ≥ t ⇔ ∆ ≤ n/t ⇒ P[T ≥ t ] ≤ P[∆ ≤ n/t ] ≤ 18 Henning Meyerhenke: Kombinatorische Optimierung n5 φ t . Institut für Theoretische Informatik Beweis des Hauptergebnisses (2) Beweis. Lemma (Beweis später): Für jedes e > 0 gilt: P[∆ ≤ e] ≤ n4 eφ. Sei T die Maximalzahl von Schritten, die 2-Opt machen kann (= Länge des längsten Pfades im Zustandsgraphen). n/∆ ≥ t ⇔ ∆ ≤ n/t ⇒ P[T ≥ t ] ≤ P[∆ ≤ n/t ] ≤ n5 φ t . Wichtig: T ≤ n! = Zahl aller möglichen Touren n! ⇒ E[T ] = ∑n! t =1 P [ T ≥ t ] ≤ ∑ t =1 18 Henning Meyerhenke: Kombinatorische Optimierung n5 φ t = n5 φ · ∑n! t =1 1 t Institut für Theoretische Informatik Beweis des Hauptergebnisses (2) Beweis. Lemma (Beweis später): Für jedes e > 0 gilt: P[∆ ≤ e] ≤ n4 eφ. Sei T die Maximalzahl von Schritten, die 2-Opt machen kann (= Länge des längsten Pfades im Zustandsgraphen). n/∆ ≥ t ⇔ ∆ ≤ n/t ⇒ P[T ≥ t ] ≤ P[∆ ≤ n/t ] ≤ n5 φ t . Wichtig: T ≤ n! = Zahl aller möglichen Touren n! ⇒ E[T ] = ∑n! t =1 P [ T ≥ t ] ≤ ∑ t =1 Wir nutzen aus: ∑n! t =1 ⇒ E[T ] = 18 O(n5 φ log(n!)) Henning Meyerhenke: Kombinatorische Optimierung 1 t n5 φ t = n5 φ · ∑n! t =1 1 t = O(log(n!)) = O(n log n) = O(n6 log n · φ) Institut für Theoretische Informatik Hilfsergebnis Lemma Für jedes e > 0 gilt: P[∆ ≤ e] ≤ n4 eφ. Beweis. Siehe Tafel! 19 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik Zusammenfassung TSP kann nicht mit konstanter relativer Güte in Polynomialzeit approximiert werden, es sei denn, P = N P . Die gängige 2-Opt-Heuristik benötigt bei geglätteter Analyse nur polynomiell viele Iterationen. Beweis beruht auf Potentialfunktion und probabilistischen Argumenten. 20 Henning Meyerhenke: Kombinatorische Optimierung Institut für Theoretische Informatik