28
Simulované žíhanie 6. Prednáška

Simulované žíhanie

  • Upload
    idalee

  • View
    24

  • Download
    0

Embed Size (px)

DESCRIPTION

Simulované žíhanie. 6. Prednáška. Úvod. Metóda simulovaného žíhania patrí medzi tie stochastické optimalizačné algoritmy, ktoré majú základy vo fyzike. Algoritmus simulovaného žíhania je založený na analógii medzi žíhaním tuhých telies a optimalizačným problémom. Úvod. - PowerPoint PPT Presentation

Citation preview

Page 1: Simulované žíhanie

Simulované žíhanie

6. Prednáška

Page 2: Simulované žíhanie

Úvod

• Metóda simulovaného žíhania patrí medzi tie stochastické optimalizačné algoritmy, ktoré majú základy vo fyzike.

• Algoritmus simulovaného žíhania je založený na analógii medzi žíhaním tuhých telies a optimalizačným problémom.

Page 3: Simulované žíhanie

Úvod

• Znázornenie fyzikálnej realizácie žíhania. Teleso sa vloží do pece, ktorá je vyhriata na vysokú teplotu Tmax. Teplota sa programovacím zariadením postupne znižuje na teplotu Tmin. Týmto spôsobom sa odstránia štruktúralne defekty vyskytujúce sa v telese.

Page 4: Simulované žíhanie

Teoretické základy

• Predpokladajme, že proces ochladzovania je dostatočne pomalý, potom pre každú teplotu T žíhané teleso je v tepelnej rovnováhe, ktorá je podpísaná Boltzmannovským rozdelením pravdepodobnosti toho, že pri teplote T je telesov v stave i s energiou Ei

kT

E

TQEw i

iT exp)(

1)(

Page 5: Simulované žíhanie

Teoretické základy

• Kde k je Boltzmannova konštanta a Q(T) je normalizačný faktor nazývaný partičná funkcia, kde sumácia obsahuje všetky stavy i telesa.

i

i

kT

ETQ exp)(

Page 6: Simulované žíhanie

Teoretické základy

• Nech teplota T klesá, potom Boltzmannovská distribúcia uprednosňuje stavy s menšou energiou. V prípade, že teplota sa blíži nule, stav s minimálnou energiou má nenulovú (jednotkovú) pravdepodobnosť.

• Ak je ochladzovanie telesa príliš rýchle (telesu nie je umožnené získať tepelnú rovnováhu pre každú teplotu T), defekty v telese môžu zamrznúť za vzniku metastabilných štruktúr, ktoré sú vzdialené od mriežkovej štruktúry s najnižšou energiou.

Page 7: Simulované žíhanie

Simulácia fyzikálnej evolúcie

• Metropolis a spol. Navrhli Monte Carlo metódu, ktorá simuluje evolúciu systému tak, že generuje postupnosť stavov systému nasledujúcim spôsobom:

• Nech je daný aktuálny stav systému (určený polohou častíc telesa), potom malá náhodná porucha je generovaná tak, že častice sú „jemne“ posunuté.

Page 8: Simulované žíhanie

Simulácia fyzikálnej evolúcie

• Ak rozdiel E = Eperturbed – Ecurrent medzi porušeným a aktuálnym stavom je negatívny ( Eperturbed Ecurrent ) potom proces pokračuje s novým porušeným stavom. V opačnom prípade, ak E ≥ 0 , pravdepodobnosť akceptovania porušeného stavu

• Toto pravidlo akceptovania porušeného stavu sa nazýva Metropolisovo kritérium.

))/exp(,1min(Pr kTEcurrent)(perturbed

Page 9: Simulované žíhanie

Priebeh Metropolisovho kritéria

Pre rôzne teploty T, kde f je fixná funkčná hodnota (f=4) a f’ je nezávislá premenná braná z intervalu [0,10]. Pre klesajúce hodnoty teploty T a pre f’ > f , pravdepodobnosť Pr0 ak T0.

))/)'(exp(,1min(Pr Tff

Page 10: Simulované žíhanie

Metropolisov algoritmus

• Stav systému nech je určený stavovou premennou x (vo všeobecnosti vektor obsahujúci mnoho nezávislých reálnych premenných) a energiou f(x).

• Proces poruchy stavu x na iný stav x’ je formálne reprezentovaný stochastickým operátorom, x’ = Opertur(x). Stochastický chrakter tohto operátora spočíva v náhodnej zmene stav x na x’.

Page 11: Simulované žíhanie

Implementácia Metropolisovho algoritmu

Procedure Metropolis_algorithmBegin k : = 0; x : = xini;

while k < kmax dobegin k : = k+1;

x’ = : Opertur(x);Pr : = min ( 1, exp ( - ( f ( x’) - ( x ) ) / T ));if random < Pr then x : = x’;

end;xout : = x;

end;

Page 12: Simulované žíhanie

Metropolisov algoritmus

• Procedúra je inicializovaná tak, že počiatočný stav sa položí rovný vstupnému stavu xini, opakuje sa kmax krát (toto číslo musí byť dostatočne veľké k tomu, aby sa dosiahla tepelná rovnováha), symbol Opertur modifikuje aktuálny stav x na x’. Akceptovanie nového stavu je riešené pomocou Metropolisovho kritéria realizovaného pre teplotu T. Po skončení Metropolisovho algoritmu výstupný stav xout je posledný stav x.

Page 13: Simulované žíhanie

Simulované žíhanie - algoritmus

procedure Simulated_annealing

begin xini : randomly generated;

T : = Tmax

while T > Tmin do

begin Metropolis_algorithm(xini,xout,kmax,T)

xini : = xout

T : = a*T

end;

xopt : = xout;

end;

Page 14: Simulované žíhanie

Simulované žíhanie

• Implementácia simulovaného žíhania, vstupné parametre sú Tmin, Tmax , kmax, α, výstupný parameter je xopt . Algoritmus je inicializovaný náhodným generovaním počiatočného stavu xini a maximálnou teplotou Tmax . While – cyklus sa opakuje tak dlho, pokiaľ platí T > Tmin, teplota T sa znižuje pomocou parametra α vzťahom T : = α * T. Po ukončení while-cyklu výsledný stav xout je považovaný za výsledné riešenie označené xopt .

Page 15: Simulované žíhanie

Simulované žíhanie

• Jeden zo základných problémov simulovaného žíhania je špecifikácia teplôt Tmin, Tmax a pravidlá pre znižovanie teploty T.

• V literatúre boli navrhnuté rôzne schémy, ako určiť tieto parametre simulovaného žíhania.

• V praktických aplikáciách sa dobre osvedčil najjednoduchší prístup pre ochladzovanie (multiplikatívny prístup parametra α) a počiatočná teplota zvolená tak, aby približne 50% porušených stavov bolo akceptovaných Metropolisovým algoritmom.

Page 16: Simulované žíhanie

Vzťah k štatistickej fyzike

1. Základný predpoklad štatistickej fyziky je, že fyzika mnohočasticových systémov je kompatibilná so štatistickými súbormi a že časové stredné hodnoty mechanických veličín systému v rámci mikroskopickej rovnováhy sú rovné odpovedajúcim stredným hodnotám nad súbormi.

2. V štatistickej fyzike boli definované vhodné veličiny popisujúce fyzikálne vlastnosti systému, a tiež bolo ukázané, ako počítať tieto veličiny pomocou rovnovážneho rozdelenia stavov systému.

3. Ukazuje sa, že v tepelnej rovnováhe rozdelenie pravdepodobnosti je určené Boltzmannovým rozdelením. Vzťah medzi štatistickou fyzijou a simulovaným žíhaním môže byť študovaný pomocou formalizmu štatistickej fyziky.

Page 17: Simulované žíhanie

Vzťah k štatistickej fyzike

• Uvažujme funkciu f definovanú nad diskrétnou a konečnou doménou D

• Rozdelenie pravdepodobnosti stavu x (t.j. premennej x z D), ktoré je výsledkom Metropolisovho algoritmu realizovaného pre teplotu T, je určené vzťahmi

RADf :

i

i

kT

ETQ exp)(

kT

E

TQEw i

iT exp)(

1)(

Page 18: Simulované žíhanie

Vzťah k štatistickej fyzike

• Pre naše ďalšie úvahy bude vhodné poznať hustotu funkčných hodnôt y=f(x) , ktorá je určená takto

• Kde D(y) D je množina obsahujúca všetky xD pre ktoré platí y=f(x)

T

y

tQ

yDywT exp

)(

)()(

Ay T

yyDTQ )(exp()(

)}(;{)( xfyDxyD

Page 19: Simulované žíhanie

Vzťah k štatistickej fyzike

„Makroskopické veličiny“

1.Stredná hodnota funkcie f(x)

2.Stredná hodnota funkcie f2(x)

Ay

TTyywf )(

Ay

TTywyf )(22

Page 20: Simulované žíhanie

3. Disperzia funkcie f(x)

4. Entropia

4. Špecifické telo

2222

TTAy

TT ffyfywT

Ay

TT yD

ywywTS ln)()(

T

TS

T

Tf

TTC

T

2

2

)(

Page 21: Simulované žíhanie

• Hustota funkčných hodnôt vyhovuje týmto asymptotickým podmienkam

• Kde yopt=f(xopt) je optimálna hodnota funkcie f(x) odpovedajúca globálnemu minimu. Druhý asymptotický vzťah je veľmi dôležitý pre metódu simulovaného žíhania; podľa tejto formula ak teplota T sa blíži k nule (cez rovnovážne stavy), potom pravdepodobnosť výskytu stavu odpovedajúcemu globálnemu minimu je jednotková.

)(1

lim yDD

ywywTT

)(0

)(1,lim

0opt

optoptTT yprey

ypreyyyywyw

Page 22: Simulované žíhanie

Modelové výpočty

• Nech zobrazenie f:D={0,1}n→AR+, s definičným oborom obsahujúcim binárne vektory dĺžky N, je definované takto

• kde |x|=∑xi je L1 norma vektora x={0,1}N, 0≤|x|≤N. Parameter p je ohraničený podmienkou 0≤p≤N. Pre p<N táto funkcia má dve minimá, prvé minimum je f(x)=1, pre |x|=0, druhé (globálne) minimum je f(x) =0, pre |x|=N. Parameter p určuje stupeň deceptívnosti (falošnosti tejto funkcie)

xN

xxxxfxf N

1),...,()( 21

Page 23: Simulované žíhanie

Modelové výpočty

Page 24: Simulované žíhanie

Modelové výpočty

• Operátor Operturb z Metropolisovho algoritmu transformujúci binárny vektor x={0,1}N na iný binárny vektor x’={0,1}N je v tomto prípade realizovaný pomocou operátora mutácie Omut (terminológia je prevzatá z genetického algoritmu)

• K tomu aby sme mohli vypočítať makroskopické veličiny musíme poznať kardinality množín D(y) pre funkciu. Pre N=10 a pre p=4 a p=7, sú kardinality nasledovné:

• p=4:

• p=7:

462533041653

55211110

DDD

DDD

120821072106

21051204453

55211110

DDD

DDD

DDD

Page 25: Simulované žíhanie

Modelové výpočty

• Priebehy makroskopických veličín vypočítaných teoreticky pomocou formúl pre parametre p=1,4,7,9 (diagramy A-E).

Page 26: Simulované žíhanie

Modelové výpočty

Page 27: Simulované žíhanie

Paralelné simulované žíhanie

• Táto verzia simulovaného žíhania bola s úspechom použitá pre riešenie komplikovaných kombinatoriálnych grafovo teoretických problémov, kde štandardná verzia simulovaného žíhania nie je schopné poskytnúť globálne riešenie.

• Základná idea paralelného simulovaného žíhania spočíva v súčasnom aplikovaní simulovaného žíhania na množinu P stavov x,x’,x’’,… ktoré sú „synchronizované“ tak, že Metropolisvocé agloritmy bežiace nad nimi majú rovnakú teplotu.

• K interakcii stavov je použitá operácia kríženia.

Page 28: Simulované žíhanie

Paralelné simulované žíhanie

• Schematické znázornenie paralelnéh simulovaného žíhania. Na jednotlivé stavy (znázornená čiernymi blokmi) sú aplikované nezávislé Metropolisove algoritmy s rovnakou teplotou T. Šípky znázorňujú, že stavy medzi sebou interagujú s malou pravdepodobnosťou Pcross.