Title: Simulated Annealing
1Simulated Annealing
- Marco Block Miguel Domingo
Seminar Maschinelles Lernen und Markov Ketten
Sommersemester 2002
2Kombinatorisches Optimierungproblem
gegeben
- endliche Menge S (Lösungen)
- Kostenfunktion f S ? R
gesucht
- 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!)
Seminar Maschinelles Lernen und Markov Ketten
Sommersemester 2002
3Beispiel Problem des Handlungsreisenden (TSP)
- gegeben
- n Städte, Reisekosten c(i,j)
- gesucht
- günstigste Rundreise durch alle Städten
- formal
- S Permutationen von 1,..,n
- f(?) ?i1..n c(?(i), ?(i1)) für ? ? S
optimale Tour zu finden ist NP-hart !
Seminar Maschinelles Lernen und Markov Ketten
Sommersemester 2002
4Lokale Suche - Idee
- 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)
Seminar Maschinelles Lernen und Markov Ketten
Sommersemester 2002
5Lokale Suche - Pseudocode
- LOKALE_SUCHE( s0 )
- Setze s ?? s0
- Wiederhole
- Generiere s ? N(s) zufällig
- Falls f(s) lt f(s) ersetze s ?? s
- Bis f(s) ? f(t) für alle t ? N(s)
Seminar Maschinelles Lernen und Markov Ketten
Sommersemester 2002
6Lokale Suche - Pseudocode
- LOKALE_SUCHE( s0 )
- Setze s ?? s0
- Wiederhole
- Generiere s ? N(s) zufällig
- Falls f(s) lt 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...
Seminar Maschinelles Lernen und Markov Ketten
Sommersemester 2002
7Simulated Annealing - Idee
Modifikation des Algorithmus LOKALE_SUCHE
Analogie aus der Physik Simulierte Abkühlung
Seminar Maschinelles Lernen und Markov Ketten
Sommersemester 2002
8Simulated Annealing - Pseudocode
INITIALISIERE u0
uu0
WIEDERHOLE
GENERIERE u? N(u) BERECHNE
?ff(u)-f(u) FALLS ?flt0 DANN uu
SONST FALLS exp(-?f/Tk)gtRANDOM0,1)
DANN uu
BIS f(u)?f(u) für alle u? N(u)
Seminar Maschinelles Lernen und Markov Ketten
Sommersemester 2002
9Simulated Annealing - Pseudocode
INITIALISIERE u0, T0
k0
uu0
WIEDERHOLE
GENERIERE u? N(u) BERECHNE
?ff(u)-f(u) FALLS ?flt0 DANN uu
SONST FALLS exp(-?f/Tk)gtRANDOM0,1)
DANN uu
kk1
BERECHNE Tk // T0gtT1gtT2gt...?0
BIS f(u)?f(u) für alle u? N(u)
Seminar Maschinelles Lernen und Markov Ketten
Sommersemester 2002
10Simulated Annealing - Pseudocode
INITIALISIERE u0, T0
, L
k0
uu0
WIEDERHOLE
FÃœR l1 BIS L
GENERIERE u? N(u) BERECHNE
?ff(u)-f(u) FALLS ?flt0 DANN uu
SONST FALLS exp(-?f/Tk)gtRANDOM0,1)
DANN uu
kk1
BERECHNE Tk // T0gtT1gtT2gt...?0
BIS f(u)?f(u) für alle u? N(u)
Seminar Maschinelles Lernen und Markov Ketten
Sommersemester 2002
11Simulated Annealing - Pseudocode
INITIALISIERE u0
k0
uu0
WIEDERHOLE
FÃœR l1 BIS L
GENERIERE u? N(u) BERECHNE
?ff(u)-f(u) FALLS ?flt0 DANN uu
SONST FALLS exp(-?f/Tk)gtRANDOM0,1)
DANN uu
kk1
BERECHNE Tk // T0gtT1gtT2gt...?0
BIS ABBRUCHBEDINGUNG
Seminar Maschinelles Lernen und Markov Ketten
Sommersemester 2002
12Simulation
Seminar Maschinelles Lernen und Markov Ketten
Sommersemester 2002
13Gibbsche Verteilung
- für alle s ? S gilt bei T ? 0
Seminar Maschinelles Lernen und Markov Ketten
Sommersemester 2002
14Metropolis-Algorithmus
- realisiert Markov-Kette zu gegebener stationärer
Verteilung ?
- Speziallfall ? Gibbsche Verteilung ?T
- Metropolis-MK?T s
- generiere s ? N(s) zufällig
- akzeptiere s mit Wahrscheinlichkeit
-
Seminar Maschinelles Lernen und Markov Ketten
Sommersemester 2002
15Simulated Annealing - Pseudocode
INITIALISIERE u0
uu0
WIEDERHOLE
FÃœR l1 BIS L
GENERIERE u? N(u) BERECHNE
?ff(u)-f(u) FALLS ?flt0 DANN uu
SONST FALLS exp(-?f/Tk)gtRANDOM0,1)
DANN uu
BERECHNE Tk // T0gtT1gtT2gt...?0
BIS ABBRUCHBEDINGUNG
Seminar Maschinelles Lernen und Markov Ketten
Sommersemester 2002
16Markov-Ketten Struktur
SIMULATED_ANNEALING(s0, T0, L) X(0) ?? s0 für k
0,1,... berechne Tk für kL ? t lt (k1)L
X(t1) Metropolis-MK?Tk X(t)
Abbruchbedingung prüfen
? (X(t))t0,1,... ist inhomogene Markov-Kette
Seminar Maschinelles Lernen und Markov Ketten
Sommersemester 2002
17Langsames Abkühlen
L
T0
T0
? T0
L
? T1
T1
L
T2
? T2
L
? Tk
Tk
0
?
Seminar Maschinelles Lernen und Markov Ketten
Sommersemester 2002
18Schnelles Abkühlen
L
T0
T0
? T0
T1
? T1
L
T2
? T2
L
Tk
? Tk
0
?
Seminar Maschinelles Lernen und Markov Ketten
Sommersemester 2002
19Theoretische Ergebnisse
- asymptotische Konvergenz ist garantiert
limT?0 limt?? P(XT(t) ? S) 1
Seminar Maschinelles Lernen und Markov Ketten
Sommersemester 2002
20Parameter des Algorithmus
Kühlprogramm
- Anfangstemperatur T0
- Abkühlungsmechanismus Tk ? Tk1
- Endtemperatur T durch Abbruchbedingung
- Länge L der Markov-Ketten bei festem T
Konvergenz und Laufzeit des Algorithmus hängen
davon ab !
Seminar Maschinelles Lernen und Markov Ketten
Sommersemester 2002
21Ein einfaches Kühlprogramm
- Wähle T0, sodass die Akzeptanzrate
akzeptierte Transitionen
?T0 ??
? 1
vorgeschlagene Transitionen
- Tk1 ?Tk für eine festes 0.8 lt ? lt 1
- Abbruch bei T wenn ?T ? 0
- Wähle L ?(Durchmesser von S)
Keine theoretische Laufzeit- oder
Konvergenzgarantie !
Seminar Maschinelles Lernen und Markov Ketten
Sommersemester 2002
22Simulation
Seminar Maschinelles Lernen und Markov Ketten
Sommersemester 2002
23Fazit Simulated Annealing
- stochastischer Approximationsalgorithmus
- basiert auf schrittweisen lokalen Änderungen
- Vorteile
- allgemein anwendbares Verfahren
- asymptotische Konvergenz gesichert
- liefert hochwertige Approximationen
(experimentell)
- Nachteil
- sehr rechenaufwendig
? Parallelisierung
? Boltzmann-Maschine
Seminar Maschinelles Lernen und Markov Ketten
Sommersemester 2002