Simulované žíhání jako nástroj k hledání optimálního řešení Michael Pokorný - Střední škola aplikované kybernetiky s.r.o. - pokorny.michael@ssakhk.cz 21. června 211
Úvod Nedeterministická metoda optimalizace Scott Krikpatrick, C. Daniel Gelatt, Mario P. Vecchi 1983, Vlado Černý 1985 Intuice: postupné chlazení kovu Vznikají velké a pravidelné krystaly bez nepravidelností Molekuly hledají minimum vnitřní energie Zahřátí umožňuje uvolnění z lokálního minima Užitečné na velký stavový prostor bez nutnosti zcela ideálního řešení nebo na černé skříňky
Popis Molekula stav, energie ohodnocení stavu, teplota se přimyslí Stav fluktuuje podle velikosti teploty a podle toho, jestli jde do kopce nebo z kopce Stav R, Z, R N,...
Algoritmus Vstup: T (počáteční teplota), x (počáteční stav) T T, x x, k opakuj x n stav z okolí x f( x) f( xn) T ) p g( x x n s pravděpodobností p k k + 1 T h(t, k) dokud k < k max ;
Charakteristické funkce Skoková funkce g a ochlazovací funkce h charakterizují optimalizaci Obvyklé kombinace: { exp(x) x < Klasická : g 1 (x) = 1 x, h 1 (T, k) = T Q k 1 Moderní : g 2 (x) = (1 + exp( x)) 1, h 2 (T, k) = T log 2 (K+2) FSA (fast simulated annealing): g 3 (x) = 1 2 + arctan x π, h 3 (T, k) = T + Cauchyho rozdělení vzdálenosti nového 1+ K N stavu v závislosti na teplotě rychlé a přesné
1D funkce 1.8.6.4.2 f(x) -.2 -.4 -.6 -.8 5 1 15 2 x Minimalizace f(x) = exp( x 1 ) cos(x) na intervalu ; 2
Výsledky - 1D funkce 2 Stav Energie Teplota 15 1 5-5 1 2 3 4 5 6 Michael Pokorný - Střední škola aplikované kybernetiky s.r.o. Krok - pokorny.michael@ssakhk.cz
Výsledky - 1D funkce 2 18 Stav Energie Teplota 16 14 12 1 8 6 4 2-2 5 1 15 2 25 3 Michael Pokorný - Střední škola aplikované kybernetiky s.r.o. Krok - pokorny.michael@ssakhk.cz
Výsledky - 1D funkce - FSA 18 16 Stav Energie Teplota 14 12 1 8 6 4 2-2 5 1 15 2 25 3 35 4 45 5 Michael Pokorný - Střední škola aplikované kybernetiky s.r.o. Krok - pokorny.michael@ssakhk.cz
Rosenbrockova funkce 2.5 2 f(x,y) 6 5 y 1.5 1.5 -.5 4 3 2 1-1 -2.5-2 -1.5-1 -.5.5 1 1.5 2 x R(x, y) = (1 x) 2 + 1(y x 2 ) 2
Himmelblauova funkce 4 35 y 3 2 1-1 -2-3 -4 f(x,y) -4-3 -2-1 1 2 3 4 x 3 25 2 15 1 5 H(x, y) = (x 2 + y 11) 2 + (x + y 2 7) 2
y Problém batohu -1 knapsack problem: různé předměty s různou hmotností, každý s jinou hodnotou. Batoh má omezenou hmotnost. Jak vypadá nejhodnotnější batoh? NP-complete, ale lze rozumně řešit žíháním Stav je věcí v batohu, energie je (cenav cvbatohu) 8 7 6 5 4 3 2 1 1 2 3 4 5 6 7 8 9 1 x
Shrnutí Simulované žíhání je rychlé a funkce může být černá skříňka FSA je ještě rychlejší a lepší
Poděkování Děkuji doc. Ing. Jaromíru Kukalovi, Ph.D. za inspirující odborné vedení miniprojektu a Ing. Vojtěchu Svobodovi, CSc. za organizaci Fyzikálního týdne vědy na Jaderce 211.