Simulated Annealing Marco Block & Miguel Domingo Seminar : Maschinelles Lernen und Markov...
-
Upload
salida-nesselrodt -
Category
Documents
-
view
104 -
download
0
Transcript of Simulated Annealing Marco Block & Miguel Domingo Seminar : Maschinelles Lernen und Markov...
Simulated AnnealingMarco Block & Miguel Domingo
Seminar : Maschinelles Lernen und Markov Ketten Sommersemester 2002
Kombinatorisches Optimierungproblem
Seminar : Maschinelles Lernen und Markov Ketten Sommersemester 2002
gegeben :
gesucht :
• endliche Menge S („Lösungen“)• Kostenfunktion f : S R
• globales Minimum („optimale Lösung“) s* S* { s S : f(s) f(t) t S }
schwierig, wenn |S| sehr groß ist (z.B. |S| n!)
Beispiel :Problem des Handlungsreisenden (TSP)
Seminar : Maschinelles Lernen und Markov Ketten Sommersemester 2002
gegeben :• n Städte, Reisekosten c(i,j)
gesucht :• günstigste Rundreise durch alle Städten
formal :• S = { Permutationen von {1,..,n} }• f() = i=1..n c((i), (i+1)) für S
optimale Tour zu finden ist NP-hart !
Lokale Suche - Idee
Seminar : Maschinelles Lernen und Markov Ketten Sommersemester 2002
• einfacher, allgemeiner Approximationsalgorithmus
• Idee : schrittweise Verbesserung der Kosten durch Erforschung von benachbarten Lösungen
Definiere Nachbarschaftstruktur auf S N : S 2S mit i N(j) j N(i)
i
Beispiel : TSP
´ N() j i j
(j)
(i)
´
Lokale Suche - Pseudocode
Seminar : Maschinelles Lernen und Markov Ketten Sommersemester 2002
LOKALE_SUCHE( s0 )Setze s s0
Wiederhole• Generiere s´ N(s) zufällig• Falls f(s´) < f(s) ersetze s s´
Bis f(s) f(t) für alle t N(s)
Lokale Suche - Pseudocode
Seminar : Maschinelles Lernen und Markov Ketten Sommersemester 2002
LOKALE_SUCHE( s0 )Setze s s0
Wiederhole• Generiere s´ N(s) zufällig• Falls f(s´) < f(s) ersetze s s´
Bis f(s) f(t) für alle t N(s)
Problem : Algorithmus bleibt in lokalem Minima stecken
mit verschiedenen Startwerten s0 versuchen...
Simulated Annealing - Idee
Seminar : Maschinelles Lernen und Markov Ketten Sommersemester 2002
Modifikation des Algorithmus LOKALE_SUCHE :
• Transitionen s s´ mit f = f(s´)-f(s) > 0 mit Wahrscheinlichkeit exp(- f / T) annehmen
um aus lokale Minima rauskommen zu können
• Konstante T 0 („abkühlen“)
um sich in einem globalen Minimum zu stabilisieren
Analogie aus der Physik : „Simulierte Abkühlung“
Simulated Annealing - Pseudocode
Seminar : Maschinelles Lernen und Markov Ketten Sommersemester 2002
INITIALISIERE u0
u:=u0
WIEDERHOLE
GENERIERE u´ N(u) BERECHNE f:=f(u´)-f(u) FALLS f<0 DANN u:=u´ SONST FALLS exp(-f/Tk)>RANDOM[0,1) DANN u:=u´
BIS f(u)f(u´) für alle u´ N(u)
Simulated Annealing - Pseudocode
Seminar : Maschinelles Lernen und Markov Ketten Sommersemester 2002
INITIALISIERE u0, T0
u:=u0
WIEDERHOLE
GENERIERE u´ N(u) BERECHNE f:=f(u´)-f(u) FALLS f<0 DANN u:=u´ SONST FALLS exp(-f/Tk)>RANDOM[0,1) DANN u:=u´
BERECHNE Tk // T0>T1>T2>...0 BIS f(u)f(u´) für alle u´ N(u)
k:=0
k:=k+1
Simulated Annealing - Pseudocode
Seminar : Maschinelles Lernen und Markov Ketten Sommersemester 2002
INITIALISIERE u0, T0
u:=u0
WIEDERHOLE
GENERIERE u´ N(u) BERECHNE f:=f(u´)-f(u) FALLS f<0 DANN u:=u´ SONST FALLS exp(-f/Tk)>RANDOM[0,1) DANN u:=u´
BERECHNE Tk // T0>T1>T2>...0 BIS f(u)f(u´) für alle u´ N(u)
k:=0
k:=k+1
FÜR l:=1 BIS L
, L
Simulated Annealing - Pseudocode
Seminar : Maschinelles Lernen und Markov Ketten Sommersemester 2002
INITIALISIERE u0
u:=u0
k:=0
WIEDERHOLE FÜR l:=1 BIS L GENERIERE u´ N(u) BERECHNE f:=f(u´)-f(u) FALLS f<0 DANN u:=u´ SONST FALLS exp(-f/Tk)>RANDOM[0,1) DANN u:=u´
k:=k+1
BIS ABBRUCHBEDINGUNG BERECHNE Tk // T0>T1>T2>...0
k:=0
k:=k+1
, T0, L
Simulation
Seminar : Maschinelles Lernen und Markov Ketten Sommersemester 2002
Gibbsche Verteilung
Seminar : Maschinelles Lernen und Markov Ketten Sommersemester 2002
• bei Temperatur T > 0 :
• für alle s S gilt bei T 0
Metropolis-Algorithmus
Seminar : Maschinelles Lernen und Markov Ketten Sommersemester 2002
• realisiert Markov-Kette zu gegebener stationärer Verteilung
Metropolis-MK[T ; s]• generiere s´ N(s) zufällig• akzeptiere s´ mit Wahrscheinlichkeit :
• Speziallfall : = Gibbsche Verteilung T
• für T 0 geht 2(T) 1
Die Markov-Kette konvergiert immer langsamer !
Simulated Annealing - Pseudocode
Seminar : Maschinelles Lernen und Markov Ketten Sommersemester 2002
INITIALISIERE u0
u:=u0
WIEDERHOLE FÜR l:=1 BIS L GENERIERE u´ N(u) BERECHNE f:=f(u´)-f(u) FALLS f<0 DANN u:=u´ SONST FALLS exp(-f/Tk)>RANDOM[0,1) DANN u:=u´
BERECHNE Tk // T0>T1>T2>...0
BIS ABBRUCHBEDINGUNG
k:=0
k:=k+1
, T0, L
Markov-Ketten Struktur
Seminar : Maschinelles Lernen und Markov Ketten Sommersemester 2002
SIMULATED_ANNEALING(s0, T0, L)X(0) s0
für k = 0,1,... berechne Tk
für kL t < (k+1)L X(t+1) = Metropolis-MK[Tk
; X(t)]
Abbruchbedingung prüfen
(X(t))t=0,1,... ist inhomogene Markov-Kette
Langsames Abkühlen
Seminar : Maschinelles Lernen und Markov Ketten Sommersemester 2002
T0T0
T1
T2
Tk
T0
T1
T2
Tk
0 *
L
L
L
L
Schnelles Abkühlen
Seminar : Maschinelles Lernen und Markov Ketten Sommersemester 2002
T0T0
T1
T2
Tk
T0
T1
T2
Tk
0 *
L
L
L
Theoretische Ergebnisse
Seminar : Maschinelles Lernen und Markov Ketten Sommersemester 2002
• asymptotische Konvergenz ist garantiert :
limT0 limt P(XT(t) S*) = 1
• Konvergenz in Verteilung der inhomogenen MK :
Tk C / log(k)
führt zu exponentiellen Laufzeit
falls
limt P(X(t) S*) = 1 für alle X(0) = s0 S
Parameter des Algorithmus
Seminar : Maschinelles Lernen und Markov Ketten Sommersemester 2002
Kühlprogramm :
• Anfangstemperatur T0
• Abkühlungsmechanismus Tk Tk+1
• Endtemperatur T* durch Abbruchbedingung• Länge L der Markov-Ketten bei festem T
Konvergenz und Laufzeit des Algorithmus hängen davon ab !
Ein einfaches Kühlprogramm
Seminar : Maschinelles Lernen und Markov Ketten Sommersemester 2002
• Wähle T0, sodass die Akzeptanzrate
T0
• Wähle L = (Durchmesser von S)
• Tk+1 = ·Tk für eine festes 0.8 < < 1
• Abbruch bei T* wenn T* 0
Keine theoretische Laufzeit- oder Konvergenzgarantie !
# akzeptierte Transitionen# vorgeschlagene Transitionen 1
Simulation
Seminar : Maschinelles Lernen und Markov Ketten Sommersemester 2002
Fazit : Simulated Annealing
Seminar : Maschinelles Lernen und Markov Ketten Sommersemester 2002
Vorteile :• allgemein anwendbares Verfahren• asymptotische Konvergenz gesichert• liefert hochwertige Approximationen (experimentell)
Nachteil :• sehr rechenaufwendig
• stochastischer Approximationsalgorithmus• basiert auf schrittweisen lokalen Änderungen
Parallelisierung Boltzmann-Maschine