Simulated Annealing Marco Block & Miguel Domingo Seminar : Maschinelles Lernen und Markov...

23
Simulated Annealing Marco Block & Miguel Domingo inar : Maschinelles Lernen und Markov Ketten Sommersemester 2002

Transcript of Simulated Annealing Marco Block & Miguel Domingo Seminar : Maschinelles Lernen und Markov...

Page 1: Simulated Annealing Marco Block & Miguel Domingo Seminar : Maschinelles Lernen und Markov KettenSommersemester 2002.

Simulated AnnealingMarco Block & Miguel Domingo

Seminar : Maschinelles Lernen und Markov Ketten Sommersemester 2002

Page 2: Simulated Annealing Marco Block & Miguel Domingo Seminar : Maschinelles Lernen und Markov KettenSommersemester 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!)

Page 3: Simulated Annealing Marco Block & Miguel Domingo Seminar : Maschinelles Lernen und Markov KettenSommersemester 2002.

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 !

Page 4: Simulated Annealing Marco Block & Miguel Domingo Seminar : Maschinelles Lernen und Markov KettenSommersemester 2002.

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)

´

Page 5: Simulated Annealing Marco Block & Miguel Domingo Seminar : Maschinelles Lernen und Markov KettenSommersemester 2002.

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)

Page 6: Simulated Annealing Marco Block & Miguel Domingo Seminar : Maschinelles Lernen und Markov KettenSommersemester 2002.

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...

Page 7: Simulated Annealing Marco Block & Miguel Domingo Seminar : Maschinelles Lernen und Markov KettenSommersemester 2002.

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“

Page 8: Simulated Annealing Marco Block & Miguel Domingo Seminar : Maschinelles Lernen und Markov KettenSommersemester 2002.

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)

Page 9: Simulated Annealing Marco Block & Miguel Domingo Seminar : Maschinelles Lernen und Markov KettenSommersemester 2002.

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

Page 10: Simulated Annealing Marco Block & Miguel Domingo Seminar : Maschinelles Lernen und Markov KettenSommersemester 2002.

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

Page 11: Simulated Annealing Marco Block & Miguel Domingo Seminar : Maschinelles Lernen und Markov KettenSommersemester 2002.

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

Page 12: Simulated Annealing Marco Block & Miguel Domingo Seminar : Maschinelles Lernen und Markov KettenSommersemester 2002.

Simulation

Seminar : Maschinelles Lernen und Markov Ketten Sommersemester 2002

Page 13: Simulated Annealing Marco Block & Miguel Domingo Seminar : Maschinelles Lernen und Markov KettenSommersemester 2002.

Gibbsche Verteilung

Seminar : Maschinelles Lernen und Markov Ketten Sommersemester 2002

• bei Temperatur T > 0 :

• für alle s S gilt bei T 0

Page 14: Simulated Annealing Marco Block & Miguel Domingo Seminar : Maschinelles Lernen und Markov KettenSommersemester 2002.

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 !

Page 15: Simulated Annealing Marco Block & Miguel Domingo Seminar : Maschinelles Lernen und Markov KettenSommersemester 2002.

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

Page 16: Simulated Annealing Marco Block & Miguel Domingo Seminar : Maschinelles Lernen und Markov KettenSommersemester 2002.

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

Page 17: Simulated Annealing Marco Block & Miguel Domingo Seminar : Maschinelles Lernen und Markov KettenSommersemester 2002.

Langsames Abkühlen

Seminar : Maschinelles Lernen und Markov Ketten Sommersemester 2002

T0T0

T1

T2

Tk

T0

T1

T2

Tk

0 *

L

L

L

L

Page 18: Simulated Annealing Marco Block & Miguel Domingo Seminar : Maschinelles Lernen und Markov KettenSommersemester 2002.

Schnelles Abkühlen

Seminar : Maschinelles Lernen und Markov Ketten Sommersemester 2002

T0T0

T1

T2

Tk

T0

T1

T2

Tk

0 *

L

L

L

Page 19: Simulated Annealing Marco Block & Miguel Domingo Seminar : Maschinelles Lernen und Markov KettenSommersemester 2002.

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

Page 20: Simulated Annealing Marco Block & Miguel Domingo Seminar : Maschinelles Lernen und Markov KettenSommersemester 2002.

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 !

Page 21: Simulated Annealing Marco Block & Miguel Domingo Seminar : Maschinelles Lernen und Markov KettenSommersemester 2002.

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

Page 22: Simulated Annealing Marco Block & Miguel Domingo Seminar : Maschinelles Lernen und Markov KettenSommersemester 2002.

Simulation

Seminar : Maschinelles Lernen und Markov Ketten Sommersemester 2002

Page 23: Simulated Annealing Marco Block & Miguel Domingo Seminar : Maschinelles Lernen und Markov KettenSommersemester 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