Foliensatz

Werbung
VORLESUNG 13
Smoothed Analysis des Simplex-Algorithmus
Nach Heiko Röglin, Universität Bonn, Vorlesungsskript
Introduction to Smoothed Analysis vom 9. Januar 2012
78
H. Meyerhenke: Kombinatorische Optimierung
Paralleles Rechnen, Institut für Theoretische
Informatik, Fakultät für Informatik
Wiederholung Simplex-Algorithmus
!   Korrektheit:
!
!
!
!
 
 
 
 
Lokales Optimum ist globales Optimum
Basiswechsel = Eckenlaufen = Multiplikation mit Eta-Matrix
Wenn Pivotspalte <= 0: System unbeschränkt
Bei nicht-degenerierter Ecke: Basiswechsel verbessert ZF-Wert
!   Laufzeit:
!
!
!
!
79
 
 
 
 
Bisherige Version kann Endlosschleifen beinhalten
Geeignete Pivotwahl kann dies verhindern
Dann im schlimmsten Fall O(2m) Pivotschritte (konstruiert)
In der Praxis: Polynomielles Verhalten
H. Meyerhenke: Kombinatorische Optimierung
Paralleles Rechnen, Institut für Theoretische
Informatik, Fakultät für Informatik
Bewertung von Algorithmen
80
(Software-)Ingenieur
Theoretiker
!   Algorithmus muss
effizient in der Praxis sein
!   Algorithmus muss effizient
im worst-case sein
!   Instanzen der Praxis
müssen in akzeptabler
Zeit gelöst werden
!   Alle Instanzen müssen in
polynomieller Zeit gelöst
werden
H. Meyerhenke: Kombinatorische Optimierung
Paralleles Rechnen, Institut für Theoretische
Informatik, Fakultät für Informatik
Worst-case-Analyse
!   Algorithmen werden in der Theorie meist anhand des
schlechtesten Falles, des worst case, analysiert.
!   Eine gute worst case performance ist wünschenswert, denn
dann verhält sich der Algorithmus bei allen Instanzen gut
!   Aber: Eine schlechte worst case performance muss nicht
bedeuten, dass der Algorithmus in der Praxis schlecht ist
!   Prominentes Beispiel: Simplex-Algorithmus
!   Im schlimmsten Fall exponentielle Laufzeit
!   In der Praxis üblicherweise ziemlich schnell
!   Hier gilt: Instanzen, die zu hoher Laufzeit führen, sind meist
untypisch für die Praxis
81
H. Meyerhenke: Kombinatorische Optimierung
Paralleles Rechnen, Institut für Theoretische
Informatik, Fakultät für Informatik
Average-case-Analyse
!   Ist Average-case-Analyse Alternative?
!   Problem: Benötigt Wkt.verteilung über der Eingabe
!   Zufällig gewählte Eingaben sind aber meist nicht typische
Eingaben
!   Beispiel: Zufallsgraphen nach dem ER-Modell verhalten sich
ganz anders als die meisten realen Netzwerke
!   Anderes Beispiel:
Fernsehbild: „Kampf der Ameisen“ versus normale Sendung
82
H. Meyerhenke: Kombinatorische Optimierung
Paralleles Rechnen, Institut für Theoretische
Informatik, Fakultät für Informatik
Worst-case vs. average-case
! Worst-case mglw. zu pessimistisch in der Praxis
!   Average-case mglw. zu optimistisch in der Praxis
Laufzeiten
worst case
average case
Instanzen
!   => Wie kann man beides verbinden?
83
H. Meyerhenke: Kombinatorische Optimierung
Paralleles Rechnen, Institut für Theoretische
Informatik, Fakultät für Informatik
Notation
!
!
!
!
  Algorithmus A
  I Eingabe für A
  CA(I) sei ein Komplexitätsmaß von A bei Eingabe I
  In sei die Menge der Eingaben der Länge n
! Caworst(n) = maxI 2 In (CA(I))
! Caavg(n) = EI ~ µ(n) (CA(I))
!   I ~ µ(n) ist eine zufällig
gewählte Instanz bzgl.
der Verteilung µ(n)
84
H. Meyerhenke: Kombinatorische Optimierung
Caworst(n)
Caavg(n)
Paralleles Rechnen, Institut für Theoretische
Informatik, Fakultät für Informatik
Smoothed Analysis
Einführung
!   Was passt zwischen Durchschnitt und schlimmsten Fall?
!   Zwei-Schritt-Verfahren:
!   Gegenspieler wählt beliebige Eingabe (z. B. schlimmsten Fall)
!   Eingabe wird zufällig perturbiert mit Parameter ¾
!   Aus
! Caworst(n) = maxI 2 In (CA(I)) bzw.
! Caavg(n) = EI ~ µ(n) (CA(I))
wird dann die geglättete Komplexität (smoothed complexity)
Casmooth(n, ¾) = maxI 2 In E(per¾(I))
!   per¾(I) ist die Zufallsvariable für die Instanz, die durch
zufällige Perturbierung mit Stärke ¾ aus I hervorgegangen ist
85
H. Meyerhenke: Kombinatorische Optimierung
Paralleles Rechnen, Institut für Theoretische
Informatik, Fakultät für Informatik
Veranschaulichung
! Caworst(n) = maxI 2 In (CA(I))
! Beh.: Smoothed ist Hybrid aus
worst-case und average-case!
! Casmooth(n, ¾) = maxI 2 In E(per¾(I))
!   Frage: Wie kann man worst-case
! Caavg(n) = EI ~ µ(n) (CA(I))
bzw. average-case innerhalb der
neuen Methode ausdrücken?
Laufzeiten
Caworst(n)
Casmooth(n, ¾1)
Casmooth(n, ¾2)
Caworst(n)
Instanzen
86
H. Meyerhenke: Kombinatorische Optimierung
Paralleles Rechnen, Institut für Theoretische
Informatik, Fakultät für Informatik
Einordnung
! Def.: Die geglättete Komplexität von A ist polynomiell, wenn
Casmooth(n, ¾) polynomiell beschränkt in n und ¾-1 ist.
!   Hat ein Algorithmus eine schlechte Laufzeit im worst-case,
aber eine gute geglättete Laufzeit, dann
!   gibt es zwar schwierige Eingabeinstanzen, aber
!   diese Instanzen sind sehr anfällig gegenüber zufälligem Rauschen,
!   so dass man in der Praxis großes Pech haben muss, um eine
schwierige Instanz anzutreffen
!   Theorem [Spielman und Teng, JACM 2004]: Der SimplexAlgorithmus hat polynomielle geglättete Laufzeit.
87
H. Meyerhenke: Kombinatorische Optimierung
Paralleles Rechnen, Institut für Theoretische
Informatik, Fakultät für Informatik
Pivotregeln und andere Algorithmen
!   Die Pivotregel gibt an, zu welcher verbessernden Nachbarecke (von mehreren) der Simplex-Algorithmus sich bewegt
!   Für viele Pivotregeln lässt sich exponentielle Laufzeit im
schlimmsten Fall zeigen
!   Aber: In der Praxis gute Performance
!   Lineare Programmierung ist in P
!   Ellipsoid-Methode (Khachian, 1979)
!   Innere-Punkt-Methode (Karmarkar, 1984)
!   Innere-Punkt-Methode kann mit Simplex-Algorithmus
mithalten in der Praxis (und ist ab und zu besser)
88
H. Meyerhenke: Kombinatorische Optimierung
Paralleles Rechnen, Institut für Theoretische
Informatik, Fakultät für Informatik
Die Schattenknoten-Pivotregel
!   Regel geht zurück auf [Gass und Saaty, 1955]
!   Einfache und intuitive geometrische Interpretation ermöglicht
probabilistische Analyse
8
!   x0 initiale Ecke
!   Weil x0 Ecke: Es gibt eine Zielfunktion uTx, die durch x0 maximiert
wird (für alle Punkte des Polytops P)
!   Falls x0 nicht optimal: c und u sind
linear unabhängig und spannen
Ebene auf
! Pivotregel projiziert P auf diese Ebene
1. Introduction to Smoo
x⇤
x0
u
c
[Röglin, 2012]
89
Figure 1.4: The polytope is projected onto the two-dimensional plane spanned
H. Meyerhenke: Kombinatorische Optimierung
c and u.
Paralleles Rechnen, Institut für Theoretische
Informatik, Fakultät für Informatik
plane. The shadow, that is, the projection, of P onto this plane is a possibly
Eigenschaften des Schattens
!   Der Schatten (Projektion) 8ist ein
(mglw. offenes) Polygon mit:
!   Knoten x0 wird auf einen Knoten des
Polygons projiziert
!   Die optimale Lösung x* wird auf einen
Knoten des Polygons projiziert
!   Jeder Knoten des Polygons ist das Bild
eines Knotens des Polytops
!   Jede Kante des Polygons ist das Bild
einer Kante zwischen zwei
benachbarten Knoten des Polytops
1. Introduction to Smoothed
x⇤
x0
u
c
[Röglin, 2012]
Figure 1.4: The polytope is projected onto the two-dimensional plane spanned by t
c and u.
!   Frage: Wie können wir diese
Eigenschaften ausnutzen?plane. The shadow, that is, the projection, of P onto this plane is a possibly ope
(see Figure 1.4). This polygon has a few useful properties:
90
H. Meyerhenke: Kombinatorische Optimierung
Paralleles Rechnen, Institut für Theoretische
Informatik, Fakultät für Informatik
• The vertex x0 is projected onto a vertex of the polygon.
• The optimal solution xú is projected onto a vertex of the polygon.
Ausnutzen dieser Eigenschaften
!   => Wir können den SimplexAlgorithmus in 2D anwenden
!   Einfach den Ecken des
Polygons folgen
x0
!   Frage: Wie lässt sich nun die
Laufzeit des Algorithmus
ausdrücken?
x*
!   Wie viele Ecken kann das
Polygon haben? Exponentiell
viele im schlimmsten Fall!
91
H. Meyerhenke: Kombinatorische Optimierung
Paralleles Rechnen, Institut für Theoretische
Informatik, Fakultät für Informatik
Geglättete lineare Programme
max
udN
cT x
(A + G)x · (b + h)
wobei A und b von einem Gegenspieler gewählt werden.
!   G und h unabhängige Gauß-Variablen mit
!   Mittelwert 0 und
!   Standardabweichung ¾ · (maxi ||(bi, ai)||2)
! OBdA: Lineares Programm des Gegenspielers kann skaliert
werden
!   => Annahme: Standardabweichung ist ¾
92
H. Meyerhenke: Kombinatorische Optimierung
Paralleles Rechnen, Institut für Theoretische
Informatik, Fakultät für Informatik
Ergebnis von Spielman und Teng
!   Theorem [Spielman and Teng, STOC 2001]:
Die erwartete Anzahl Kanten des Polygons ist
O(poly(m, d, ¾-1).
Die geglättete Laufzeit des Simplex-Algorithmus mit der
Schattenknoten-Pivotregel ist
O(poly(m, d, ¾-1).
!   Also:
!   Die Laufzeit ist polynomiell in m, d und ¾-1
!   Bereits für kleine Pertubierungen sind schwierige Instanzen
unwahrscheinlich
93
H. Meyerhenke: Kombinatorische Optimierung
Paralleles Rechnen, Institut für Theoretische
Informatik, Fakultät für Informatik
Verbesserung von Vershynin
!   Theorem [Vershynin, FOCS 2006]:
Die geglättete Laufzeit des Simplex-Algorithmus mit
Schattenknoten-Pivotregel ist
O(poly(log m, n, ¾-1)).
!   Also:
!   Laufzeit ist sogar nur polylogarithmisch in der Zahl der
Nebenbedingungen.
94
H. Meyerhenke: Kombinatorische Optimierung
Paralleles Rechnen, Institut für Theoretische
Informatik, Fakultät für Informatik
Zusammenfassung
! Worst-case-Analyse oft zu pessimistisch
!   Average-case-Analyse oft zu optimistisch
!   Aufgabe: Erklären Sie warum!
! Smoothed Analysis liegt dazwischen, ist Hybridisierung
!   Simplex-Algorithmus mit Schattenknoten-Pivotregel:
!   Projektion des Polytops auf Polygon
!   Ablaufen der Ecken des Polygons
!   Anzahl der Ecken des Polygons bestimmt Laufzeit des
Gesamtalgorithmus
!   Geglättete Analyse: Laufzeit ist O(poly(log m, n, ¾-1)).
95
H. Meyerhenke: Kombinatorische Optimierung
Paralleles Rechnen, Institut für Theoretische
Informatik, Fakultät für Informatik
Dualität bei linearen Programmen
Def.:
Es sei
(L):
udN
cTx → max
Ax ≤ b
x¸0
ein LP in kanonischer Form. L heißt primales Problem
Das LP (D):
udN
bTu → min
ATu ¸ c,
u¸0
uTA = (ATu)T
heißt das zu L duale LP (D = dual(L)).
Bsp.:
a11x1 + a12 x2 ≤ b1
a21x1 + a22 x2 ≤ b2
a31x1 + a32 x2 ≤ b3
c1 x1 + c2x2 à max
97
u1a11 + u2a21 + u3a31 ¸ c1
u1a12 + u2a22 + u3a32 ¸ c2
u1 b1 + u2b2 + u3b3 à min
Paralleles Rechnen, Institut für Theoretische
Informatik, Fakultät für Informatik
Zahlenbeispiel
!   Aufgabe: Stellen Sie das primale und das duale Tableau auf
für folgende Problemstellung:
!   Eine Ölraffinerie kann zwei Prozesse zur Weiterverarbeitung
zu drei Endprodukten ei fahren:
!   Prozess 1 erzeugt 2e1, 2e2 und 1*e3 bei Kosten 3 EUR
!   Prozess 2 erzeugt 1*e1, 2e2 und 4e3 bei Kosten 5 EUR
!   Es müssen mindestens produziert werden (Liefervertrag):
!   3e1,
!   5e2 und
!   4e3
!   Frage: Mit welcher Prozessaufteilung (P1, P2) produzieren
Sie möglichst billig?
98
Paralleles Rechnen, Institut für Theoretische
Informatik, Fakultät für Informatik
Primales und duales Problem
Lemma: Es sei (L): Ax ≤ b, cTx → max ein LP. Dann ist
dual(dual(L)) = L
Beweis: Übung!
dual(L): ATu ¸ c,
bTu → min
äquivalent zu
D‘:
(-A)Tu ≤ -c
(-b)Tu → max
Dann ist
dual(D‘): ((-A)T)Ty ¸ -b
(-c)Ty → min
⇔
Ay ≤ b
cTy → max
= (L)
99
Paralleles Rechnen, Institut für Theoretische
Informatik, Fakultät für Informatik
Schwache Dualität
Satz („Schwache Dualität“):
Es sei (L): Ax ≤ b, cTx → max ein LP. D := dual(L). Seien zL und zD die
optimalen Zielfunktionswerte für L und D.
Ist beliebiges x zulässig für L und beliebiges u zulässig für D, dann ist
cTx ≤ zL ≤ zD ≤ bTu
Bew:
(a) Wegen x ¸ 0 und uTA ¸ cT ist
cTx ≤ uTAx
(b) Wegen u ¸ 0 und Ax ≤ b ist
uTAx ≤ uTb = bTu,
weil u,b ∈ℝm.
Erinnerung:
L: Ax ≤ b, cTx → max
D: ATu ¸ c, bTu → min
Es ist also cTx ≤ bTu für alle x und u (jeweils zulässig).
Insbesondere ist damit auch zL ≤ bTu für alle zulässigen u und damit
auch zL ≤ zD
100
Paralleles Rechnen, Institut für Theoretische
Informatik, Fakultät für Informatik
Herunterladen