Simulated Annealing - PowerPoint PPT Presentation

1 / 23
About This Presentation
Title:

Simulated Annealing

Description:

Title: Simulated annealing Author: Marco Block Last modified by: Marco Block Created Date: 4/20/2002 10:58:11 AM Document presentation format: Bildschirmpr sentation – PowerPoint PPT presentation

Number of Views:80
Avg rating:3.0/5.0
Slides: 24
Provided by: MarcoB159
Category:

less

Transcript and Presenter's Notes

Title: Simulated Annealing


1
Simulated Annealing
  • Marco Block Miguel Domingo

Seminar Maschinelles Lernen und Markov Ketten
Sommersemester 2002
2
Kombinatorisches 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
3
Beispiel 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
4
Lokale 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
5
Lokale 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
6
Lokale 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
7
Simulated Annealing - Idee
Modifikation des Algorithmus LOKALE_SUCHE
Analogie aus der Physik Simulierte Abkühlung
Seminar Maschinelles Lernen und Markov Ketten
Sommersemester 2002
8
Simulated 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
9
Simulated 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
10
Simulated 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
11
Simulated 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
12
Simulation
Seminar Maschinelles Lernen und Markov Ketten
Sommersemester 2002
13
Gibbsche Verteilung
  • bei Temperatur T gt 0
  • für alle s ? S gilt bei T ? 0

Seminar Maschinelles Lernen und Markov Ketten
Sommersemester 2002
14
Metropolis-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
15
Simulated 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
16
Markov-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
17
Langsames Abkühlen
L
T0
T0
? T0
L
? T1
T1
L
T2
? T2
L
? Tk
Tk
0
?
Seminar Maschinelles Lernen und Markov Ketten
Sommersemester 2002
18
Schnelles Abkühlen
L
T0
T0
? T0
T1
? T1
L
T2
? T2
L
Tk
? Tk
0
?
Seminar Maschinelles Lernen und Markov Ketten
Sommersemester 2002
19
Theoretische Ergebnisse
  • asymptotische Konvergenz ist garantiert

limT?0 limt?? P(XT(t) ? S) 1
Seminar Maschinelles Lernen und Markov Ketten
Sommersemester 2002
20
Parameter 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
21
Ein 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
22
Simulation
Seminar Maschinelles Lernen und Markov Ketten
Sommersemester 2002
23
Fazit 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
Write a Comment
User Comments (0)
About PowerShow.com