Kombinatorische Optimierung

Werbung
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
Herunterladen