Téma: Horolezecký algoritmus s učením (hill climbing with learning, HCwL), realizácia algoritmu pre hľadanie globálneho minima funkcií s binárnou repr

Podobné dokumenty
EVOLUČNÁ ROBOTIKA

EVOLUČNÁ ROBOTIKA

Informačná a modelová podpora pre kvantifikáciu prvkov daňovej sústavy SR

Inteligentné rozhodovacie systémy Heuristické prehľadávanie SP Október, 2018 Katedra kybernetiky

Úvodná prednáška z RaL

Microsoft Word - Argumentation_presentation.doc

Genetické algoritmy

Matematický model činnosti sekvenčného obvodu 7 MATEMATICKÝ MODEL ČINNOSTI SEKVENČNÉHO OBVODU Konečný automat predstavuje matematický model sekvenčnéh

Microsoft Word - Algoritmy a informatika-priesvitky02.doc

Microsoft Word - Transparencies03.doc

Microsoft Word - 16.kapitola.doc

Teória pravdepodobnosti Zákony velkých císel

SRPkapitola06_v1.docx

Tue Oct 3 22:05:51 CEST Začiatky s jazykom C 2.1 Štruktúra programu Štruktúra programu by sa dala jednoducho popísať nasledovnými časťami, kto

NÁVRH UČEBNÝCH OSNOV PRE 1

MO_pred1

Operačná analýza 2

Neineárne programovanie zimný semester 2018/19 M. Trnovská, KAMŠ, FMFI UK 1

1

2.5. Dotyčnica krivky, dotykový kužeľ. Nech f je krivka a nech P V (f) (t.j. m P (f) 1). Ak m P (f) = r a l je taká priamka, že I P (f, l) > r, potom

8 Cvičenie 1.1 Dokážte, že pre ľubovoľné body X, Y, Z platí X + Y Z = Z + Y X. 1.2 Dokážte, že pre ľubovoľné body A, B, D, E, F, G afinného priestoru

Operačná analýza 2

Priebeh funkcie

Informačné technológie

bakalarska_praca

Obsah

Paralelné algoritmy, cast c. 2

Pokrocilé programovanie XI - Diagonalizácia matíc

Matematika 2 - cast: Funkcia viac premenných

SocialInsects

1

Microsoft Word - 6 Výrazy a vzorce.doc

Microsoft Word - Zaver.pisomka_januar2010.doc

1. KOMPLEXNÉ ČÍSLA 1. Nájdite výsledok operácie v tvare x+yi, kde x, y R. a i (5 2i)(4 i) b. i(1 + i)(1 i)(1 + 2i)(1 2i) (1 7i) c. (2+3i) a+bi d

trafo

Detekcia akustických udalostí v bezpečnostných aplikáciách

9.1 MOMENTY ZOTRVACNOSTI \(KVADRATICKÉ MOMENTY\) A DEVIACNÝ MOMENT PRIEREZU

1 Portál pre odborné publikovanie ISSN Heuristický adaptívny PSD regulátor založený na miere kmitavosti Šlezárová Alexandra Elektrotechnika

Microsoft Word - skripta3b.doc

9. kapitola Maticová algebra II systém lineárnych rovníc, Frobeniova veta, Gaussova eliminačná metóda, determinanty 1. Systém lineárnych rovníc Systém

Klasická metóda CPM

Kolmogorovská zložitost

Snímka 1

Vzorové riešenia úlohy 4.1 Bodovanie Úvod do TI 2010 Dôvod prečo veľa z Vás malo málo bodov bolo to, že ste sa nepokúsili svoje tvrdenia dokázať, prič

III. Diferenciálny počet funkcie viac premenných (Prezentácia k prednáškam, čast B) Matematická analýza IV (ÚMV/MAN2d/10) RNDr. Lenka Halčinová, PhD.

Metrické konštrukcie elipsy Soňa Kudličková, Alžbeta Mackovová Elipsu, ako regulárnu kužeľosečku, môžeme študovať synteticky (konštrukcie bodov elipsy

Preco kocka stací? - o tom, ako sú rozdelené vlastné hodnoty laplasiánu v limite, ked sú velké

bakalarska prezentacia.key

Cvičenie 9 Riešené príklady 1. Príklad min f(x 1, x 2 ) = x x x 1 s.t. x 1 80 x 1 + x Pre riešenie úlohy vykonáme nasledujúce kroky

Tomáš Jelínek - včely vyhľadávanie

Photo Album

PowerPoint Presentation

Pokrocilé spracovanie obrazu - Fourierová transformácia

Microsoft Word - 06b976f06a0Matice - Uzivatelska Dokumentacia

NSK Karta PDF

Prenosový kanál a jeho kapacita

Operačná analýza 2

SK MATEMATICKÁOLYMPIÁDA skmo.sk 2009/ ročník MO Riešenia úloh česko-poľsko-slovenského stretnutia 1. Určte všetky trojice (a, b, c) kladných r

Slovenská technická univerzita Fakulta informatiky a informačných technológií Ilkovičova 3, Bratislava 4 Bc. Peter Bartalos Simulované žíhanie

Paralelné algoritmy, cast c. 3

Pokrocilé programovanie II - Nelineárne iteracné schémy, chaos, fraktály

Aplikace matematiky- záverečná práca Juraj Bodík 28. septembra 2017 Definície Žena - objekt ohodnotený celým číslom. Každé dve ženy sa dajú porovnat a

Študijný program (Študijný odbor) Školiteľ Forma štúdia Téma Elektronické zbraňové systémy (8.4.3 Výzbroj a technika ozbrojených síl) doc. Ing. Martin

Poznámky k cvičeniu č. 2

Microsoft PowerPoint - Prog_p08.ppt

O možnosti riešenia deformácie zemského povrchu z pohladu metódy konecných prvkov konference pro studenty matematiky

Metódy dokazovanie v matematike 1 Základné pojmy Matematika exaktná veda vybudovaná DEDUKTÍVNE ZÁKLADNÉ POJMY základy každej matematickej teórie sú in

A51

DIDKATICKÉ POSTUPY UČITEĽA

Vzorový soubor ve Wordu pro pøíspìvky konference

Úlohy: Inteligentné modelovanie a riadenie model MR mobilný robot s diferenciálnym kolesovým podvozkom 1. Vytvorte simulačnú schému pre snímanie tréno

ROZBOR ROVNOVÁŽNYCH BINÁRNYCH DIAGRAMOV (2. ČASŤ) Cieľ cvičenia Zostrojiť rovnovážne binárne diagramy podľa zadania úloh na cvičení. Teoretická časť P

Ohyb svetla

Zeszyty Naukowe PWSZ, Nowy Sącz 2013 Konštrukcie magických obdĺžnikov Marián Trenkler Faculty of Education, Catholic University in Ružomberok Hrabovsk

untitled

Microsoft Word - mpicv11.doc

Microsoft Word - Final_test_2008.doc

Svetlo - základné vlastnosti

Súkromné gymnázium, Česká 10, Bratislava INFORMATIKA

A 1

Vybrané kapitoly zo štatistickej fyziky - domáce úlohy Michal Koval 19. mája 2015 Domáca úloha č. 1 (pochádza z: [3]) Systém pozos

Paralelné algoritmy, cast c. 3

Informačná a modelová podpora pre kvantifikáciu prvkov daňovej sústavy SR

NSK Karta PDF

NSK Karta PDF

Trendy a inovatívne prístupy v podnikových procesoch 2015, roč. 18 Trends and Innovative Approaches in Business Processes 2015, Vol. 18 MOŽNOSTI VYUŽI

Podpora metód operačného výskumu pri navrhovaní systému liniek doc. RNDr. Štefan PEŠKO, CSc. Katedra matematických metód, Fa

Axióma výberu

SK MATEMATICKÁOLYMPIÁDA skmo.sk 63. ročník Matematickej olympiády 2013/2014 Riešenia úloh česko-poľsko-slovenského stretnutia 1. Dokážte, že kladné re

Jednotkový koreň (unit root), diferencovanie časového radu, unit root testy Beáta Stehlíková Časové rady, FMFI UK, 2011/2012 Jednotkový koreň(unit roo

Relačné a logické bázy dát

Microsoft Word - 8.cvicenie.doc

Funkcie viac premenných

Úvod do lineárnej algebry Monika Molnárová Prednášky 2006

Katalóg cieľových požiadaviek k maturitnej skúške

gis5 prifuk

Príspevok k modelovaniu a riadeniu robotických systémov s využitím metód umelej inteligencie

Centrum vedecko-technických informácií, Odbor pre hodnotenie vedy, Oddelenie pre hodnotenie publikačnej činnosti Vyhľadávanie a práca so záznamami - C

2

Prepis:

Téma: Horolezecý algoritmus s učením (hill climbing with learning, HCwL), realizácia algoritmu pre hľadanie globálneho minima funcií s binárnou reprezentáciou premennej. Predmet: Modelovanie a simulácie Vypracovala: Ing. Martina Romanová 3. roční EXT APIN Úvod V eseji, torú som vypracovala, bude posytnutý úvod do optimalizačných algoritmov. V druhej časti budú opísané záladné stochasticé metódy hill climbing, de ao posledná bude popísaná metóda hill climbing s učením. V tretej časti bude popísané možnosti binárnej reprezentácie premennej. Posledná časť bude venovaná onrétnemu popisu ódu hill climbing algoritmu with learning. V praxi sa vysytuje množstvo úloh, toré možno nazvať optimalizačné. Optimalizáciou chápeme proces zameraný na nájdenie určitého vyhovujúceho riešenia nejaej úlohy. Môže ísť naprílad o nájdenie parametrov aproximovanej funcie, nájdenie správnych onštánt na reguláciu výrobného procesu, či nájdenie optimálneho rozloženia strojov vo výrobnej hale ta, aby zaberali čo možno najmenej miesta. Podobných príladov je možné nájsť veľa ta v technicej praxi, ao aj vo vede a výsume. Úlohou aždého optimalizačného algoritmu: "nájsť extrém" v určitom stavovom priestore. Obtiažnosť úlohy vyplýva z viacerých fatov. Zvyčajne je nemožné rozhodnúť, či od nájdeného "najlepšieho" riešenia existuje riešenie lepšie alebo nie. Preto sa spravidla úloha nájsť najlepšie riešenie reduuje na úlohu nájsť riešenie vyhovujúce. To vša nie je jedná nástraha číhajúca na pri optimalizácii. Ďalšími sú naprílad časová náročnosť optimalizačného procesu, lamlivosť daného problému, či nebezpečenstvo uviaznutia v loálnom extréme. Obrázo Rozdelenie a príslušnosť algoritmov.

Optimalizačný problém Je charaterizovaný predovšetým účelovou funciou, obmedzujúcimi podmienami a požiadavou minimalizácie alebo maximalizácie, ďalej môžu byť stanovené ešte špeciálne podmieny ao napr. nájdené parametre riešenia musia byť celočíselného typu alebo musia byť použité binárne vyjadrené premenné. Úlohou je nájsť optimum účelovej funcie, teda minimálnu alebo maximálnu hodnotu tejto funcie, podľa toho, čo sa od riešenia optimalizačného problému vyžaduje. Požiadava minima alebo maxima určuje, aý extrém budeme hľadať. Pri hľadaní minima hľadáme globálne minimum účelovej funcie a pri hľadaní maxima globálne maximum. Heuristicé metódy a algoritmy hľadania optima pracujú zvyčajne s disrétnou reprezentáciou účelovej funcie. To znamená, že najprv treba taú funciu previesť do tvaru, torý je vhodný pre spracovanie heuristicými metódami, tento proces sa nazýva vzorovanie. Zvyšovaním výpočtovej sily počítačov nastal rozmach aj vo vývoji a experimentovaní s heuristicými metódami riešenia zložitých optimalizačných problémov. Tieto metódy síce nezaručujú nájdenie úplne presného globálneho riešenia, ale posytujú riešenie, toré sa globálnemu optimu veľmi približuje. Výsledné riešenie je nájdené v uspoojivom čase a dostatočnou presnosťou. Používajú sa hlavne na optimalizáciu mnohoparametrových funcií, toré môžu nadobúdať veľa extrémov. Funcia vhodnosti (angl. "fitness function") daného riešenia. Každému riešeniu jednoznačne priraďuje ohodnotenie v podobe nezáporného reálneho čísla. Toto číslo je tým väčšie, čím dané riešenie lepšie vyhovuje úlohe. Optimalizačná úloha sa potom definuje ao snaha o maximalizáciu funcie vhodnosti. Stochasticé metódy Stochasticé algoritmy sú iteratívne výpočtové metódy, toré v priebehu činnosti používajú náhodné operácie. V priebehu hľadania riešenia pripúšťajú dočasné zhoršenie riešenia za predpoladu budúceho zlepšenia. Každý ro stochasticého algoritmu je zaťažený určitou neurčitosťou a môže viesť ao zlepšeniu ta i zhoršeniu riešenia. Táto vlastnosť umožňuje stochasticým metódam preonanie loálneho extrému. Medzi stochasticé metódy zaraďujeme napr.: - Metóda simplexov (Nelder-Mead) - Monte Carlo (Brute-Force Search) - Horolezecý algoritmus (Hill climbing) - Simulované žíhanie (Simulated Annealing) - Zaázané prehľadávanie (Tabu Search) - Náhodné prehľadávanie (Random Wal) Horolezecý algoritmus je zástupcom jednoduchých heuristicých metód s gradientnou metódou hľadania extrému v loálnom oolí nejaého bodu. Je to stochasticé prehľadávanie doplnené o usmernenie generovaných riešení. Záladným princípom horolezecého algoritmu je prehľadanie loálneho oolia najlepšieho nájdeného riešenia. Najlepšie riešenie sa použije v nasledujúcom rou ao zálad pre generovanie nového oolia. Horolezecý algoritmus má jednu veľú nevýhodu. Jeho prehľadávanie je závislé na šíre generovania najbližšieho oolia. Poiaľ nastane prípad, de na ceste prehľadávania stojí loálny extrém,

môže sa stať, že sa algoritmus zastaví. Vraví sa tomu, že algoritmus uviazne v loálnom extréme a v tom prípade sa nenájde globálne optimum, ale iba loálne optimum. Voľba šíry generovaného oolia určuje časovú zložitosť algoritmu. Čím je väčšia, tým sa zvyšuje časová náročnosť hľadania. Uončenie výpočtu pri horolezecých algoritmoch môže nastať naprílad sledovaním hodnôt najlepších riešení. K uončeniu dôjde vtedy, poiaľ dva roy idúce po sebe nájdu rovnaé hodnoty. uončenie je možné urobiť aj obmedzením iteračných roov. Obrázo Uazuje uviaznutie v loálnom minime v šiestom iteračnom rou V nasledujúcej časti budú bližšie opísané jednotlivé druhy algoritmov hill climbing. Horolezecé algoritmy Záladné stochasticé optimalizačné algoritmy: slepý algoritmus a horolezecý algoritmus Sú dva záladné typy stochasticých optimalizačných algoritmov, toré aj eď neobsahujú evolučné rysy, budú slúžiť ao zálad pre formuláciu evolučných optimalizačných algoritmov. Slepý algoritmus je záladný stochasticý algoritmus, torý opaovane generuje náhodne riešenie z oblasti D a zapamätá si ho len vtedy, a bolo lepšie riešenie ao to, toré už bolo zaznamenané v predchádzajúcej histórii algoritmu. Z dôvodov ompatibility tohto algoritmu s evolučnými algoritmami uvedieme jeho implementáciu pre binárnu reprezentáciu vetorov - riešení (pozri algoritmus 3.). Algoritmus 3.. Pseudopascalovsá implementácia slepého algoritmu. Vstupné parametre procedúry sú t max (maximálny počet iterácií) a onštanty a n (dĺža binárneho reťazca jednotlivej premennej, 3

resp. počet premenných optimalizovanej funcie f). Algoritmus začína inicializáciou premenných f fin (výsledná hodnota nájdeného minima funcie f) a t (počítadlo iterácií). Algoritmus sa opauje t max -rát, potom je uončený a výstupné parametre α fin a f fin obsahujú najlepšie hodnoty riešenia v binárnej reprezentácii a príslušnú najlepšiu funčnú hodnotu. Jednoduchými úvahami sa dá doázať, že tento jednoduchý stochasticý optimalizačný algoritmus posytuje oretné globálne minimum optimalizačného problému (.5) realizovaného nad ortogonálnou mriežou bodov z oblasti D za predpoladu, že parameter procedúry tmax asymptoticy rastie do neonečna (3.) de P(tmax αfin=αopt) je pravdepodobnosť toho, že slepý algoritmus po tmax iteračných rooch posytne výstupné riešenie, toré je totožné s presným riešením (globálne minimum). Prílad 3.. Ao prílad vysoo multimodálnej funcie budeme používať túto funciu f (x) = 0.993853 e 0.0x sin (0x) cos (8x) pre xϵ[-0,0]. Výse jej priebehu pre xϵ [-3,3] má tento tvar Prvé tri minimá tejto funcie sú: x=-0.785304, f(x)=5.69x0- (globálne minimum), x=.355907, f(x)= 0.047848, x3=-0.44084, f(x3)=0.77. Konštanta ϭ, torá charaterizuje minimálnu vzdialenosť medzi dvoma minimami (pozri obr..), je približne rovná δ =/4. To znamená, že neexistuje taá dvojica dvoch susedných miním, torých vzdialenosť by bola menšia ao δ =/4. V nasledujúcich príladoch sa táto funcia bude často používať ta v -rozmernej, ao aj v mnohorozmernej verzii pre testovanie schopnosti nájsť globálne minimum. Vo všeobecnosti môžeme povedať, že slepý algoritmus neobsahuje žiadnu stratégiu onštrucie riešení (t.j. binárnych vetorov dĺžy n) na zálade predchádzajúcej histórie algoritmu. Každé riešenie je zostrojené úplne nezávisle (t.j. celom náhodne) od 4

predchádzajúcich riešení. Zaznamenáva sa to riešenie, toré v priebehu ativácie procedúry posytuje zatiaľ najnižšiu funčnú hodnotu. Po uončení ativácie procedúry je toto riešenie výstupným parametrom. Slepý algoritmus sa môže jednoducho zovšeobecniť na tzv. horolezecý algoritmus (hill climbing), de sa iteračne hľadá najlepšie loálne riešenie v určitom oolí a toto riešenie sa v ďalšom rou použije ao "stred" novej oblasti. Na formalizácii horolezecého algoritmu zavedieme nietoré záladné pojmy, toré sú dôležité pre jeho jednoduchý popis. Operácia mutácie stochasticy transformuje binárny vetor α na nový binárny vetor α', pričom stochastičnosť toho procesu je určená pravdepodobnosťou Pmut de α a α ' sú dva binárne vetory rovnaej dĺžy n (3.a) (3.b) de jednotlivé omponenty α' sú určené tato (3.c) de random je náhodné číslo z intervalu [0,) generované s rovnomernou distribúciou (pozri algoritmus 3.). Pravdepodobnosť Pmut určuje stochastičnosť operátora mutácie, v limitnom prípade a Pmut 0, potom operátor Omut nemení binárny vetor (3.d) 5

Obrázo 3.. Priebehy pravdepodobností číselných hodnôt binárnych vetorov, toré sú generované mutáciou pre štandardné a Grayovo ódovanie. Binárne vetory majú dĺžu =30, pričom reprezentujú reálne čísla z intervalu [0,]. Grafy sú zostrojené ta, že 0000-rát sa náhodne vygeneroval bitový vetor α, apliovaním mutácie s pravdepodobnosťou P mut sa vygeneroval nový binárny vetor α '=O mut(α). Na horizontálnej osi sa vynášajú rozdiely číselných hodnôt - Γ( α)- Γ( α '). Na vertiálnej osi sa vynášajú pravdepodobnosti ω výsytu rozdielu Γ ( α)- Γ ( α'). Na obr. 3. je znázornený efet mutácie (3.) (pre dve pravdepodobnosti Pmut=0. a Pmut=0.03) na binárny vetor dĺžy =30, torý reprezentuje reálne čísla z intervalu [0,]. Použili sa dva rôzne prístupy u ódovaniu, a to štandardné ódovanie a Grayovo ódovanie. Z obráza je vidieť, že mutácia pre binárne vetory so štandardným ódovaním vytvára nové binárne vetory s číselnými hodnotami, toré sú rozdelené disrétnym spôsobom oolo nulovej hodnoty. A sa použije Grayovo ódovanie, číselné hodnoty nových binárnych vetorov vytvárané mutáciou sú rozdelené pomerne "spojito" oolo nulovej hodnoty približne s Gaussovou distribúciou pravdepodobnosti. Môžeme teda povedať, že mutácia v rámci štandardného ódovania posytuje nové binárne vetory, toré vzhľadom na pôvodné (t.j. nemutované) binárne vetory majú číselné hodnoty, toré sú relatívne disrétne rozdelené oolo nuly. Táto "disrétnosť rozdelenia" je potlačená, a sa použije Grayov ód pri binárnej reprezentácii reálnych čísel. Na zálade tohto výsledu možno onštatovať, že Grayov ód je zrejme vhodnejší pre binárnu reprezentáciu reálnych premenných, mutáciou vytvorené binárne vetory sa vysytujú "spojito" v celej oblasti prípustných hodnôt (pozri obr. 3.). Záladná idea horolezecého algoritmu spočíva v tom, že vzhľadom na určité zvolené riešenie zostrojíme náhodne predpísaný počet nových riešení ta, že vo zvolenom riešení sa náhodne zmenia bitové premenné (hovoríme, že zvolené riešenie je stred oblasti z neho náhodne 6

generovaných riešení). Z tejto oblasti vyberieme najlepšie riešenie (t.j. s minimálnou funčnou hodnotou nad bodmi z daného oolia), toré sa použije v nasledujúcom iteračnom rou ao stred novej oblasti. Tento proces sa opauje predpísaný počet-ráz, pričom sa zaznamenáva najlepšie riešenie, toré sa vysytlo v priebehu histórie algoritmu. (Možná modifiácia tohto algoritmu spočíva v prehľadávaní všetých riešení, toré sa líšia od atuálneho riešenia v jednom bite.) Algoritmus 3.. Implementácia mutácie binárneho reťazca dĺžy n. Pravdepodobnosť P mut určuje - bitovú mutáciu, t.j. zmenu bitu na jeho omplement. Premenná random je náhodné číslo s rovnomernou distribúciou z intervalu [0,). Oolie U(α) binárneho vetora α sa zostrojí pomocou vetorov α = O mut (α) (3.3) pričom budeme predpoladať, že ardinalita (počet elementov) sa rovná predpísanej hodnote, U(α) = c0, de c0 je dané ladné celé číslo. Poznamenajme, že v dôsledu stochastičnosti apliácie operácie mutácie na daný binárny vetor α má zloženie oolia U(α) tiež stochasticý charater. To, či nejaý vetor α ' patrí alebo nepatrí do oolia U(α), je určené len pravdepodobnostne, a nie deterministicy. Najlepšie riešenie v oolí U(α) je určené tato (3.4) V horolezecom algoritme sa tato zísané riešenie α * použije ao "stred" v ďalšom iteračnom rou algoritmu, pozri obr. 3.. Implementácia horolezecého algoritmu v pseudopascale je uvedená v algoritme 3.3. Analóg vzorca (3.) zo slepého algoritmu, torý hovorí, že tento jednoduchý algoritmus je asymptoticy schopný nájsť globálne minimum, platí aj v horolezecom algoritme. V tomto prípade sa avša ardinalita oolia c0= U(α) musí asymptoticy zväčšovať do neonečna (3.5) Potom je vša zbytočné opaovať iteračné roy horolezecého algoritmu pre nové loálne optimálne riešenia, už v rámci jedného iteračného rou zísame globálne riešenie pre c0. Ao naznačujú jednoduché numericé apliácie, horolezecý algoritmus, aj eď explicitne neobsahuje evolučnú stratégiu, je pomerne efetívny a robustný stochasticý optimalizačný algoritmus, torý je schopný pre jednoduchšie úlohy nájsť globálne minimum. V nasledujúcej časti tejto apitoly uvedieme dve jednoduché zovšeobecnenia horolezecého algoritmu, toré sú už blíze evolučným algoritmom a môžu sa považovať ao určitý prototyp týchto algoritmov. 7

Obrázo 3.. Schematicé znázornenie generovania oolia binárneho vetora α a najlepšieho riešenia α* v oolí U(α) (diagram A). Počet binárnych vetorov v oolí je onštantný, rovná sa c 0. Iná schéma najjednoduchšej stochasticej optimalizácie hill climbing. Pre jednoduchosť je metóda apliovaná na unimodálnu účelovú funciu s minimom, torý sa rovná aj jej globálnemu minimu. V prvom rou pre náhodne vygenerované riešenie X je vytvorené prostredie U, potom určíme loálne minimum x. Toto nové dočasné riešenie sa použije v nasledujúcom rou ao stred oolia. Používanie loálneho minima ao stredu je opaované až do rou, edy neexistuje lepšie riešenie v oolí ao stred. Horolezecý algoritmus je znázornený na diagrame B, tento algoritmus pozostáva z tvorby postupností oolí U(), U(), U(3),..., Stred oolia U(i) je totožný s najlepším riešením z predchádzajúceho oolia U(i-). Algoritmus sa inicializuje riešením α0, toré sa náhodne generuje. 8

Algoritmus 3.3. Pseudopascalovsá implementácia procedúry realizujúcej horolezecý algoritmus. Vstupnými parametrami sú onštanty t max, c 0 a P mut, toré opisujú maximálny počet iterácií horolezecého algoritmu, ardinalitu oolia U(α), resp. pravdepodobnosť -bitovej mutácie. Algoritmus sa inicializuje náhodným generovaním binárneho vetora α, torého dĺža je n (de je dĺža binárnej reprezentácia reálnej premennej a n je počet premenných optimalizovanej funcie f). Binárny vetor α * je najlepšie riešenie nájdené v oolí U(α), toto riešenie sa v nasledujúcom rou použije ao stred nového oolia. Najlepšie riešenie zísané v priebehu celej histórie je uložené vo výstupných premenných f fin a α fin. Horolezecý algoritmus s učením Horolezecý algoritmus s učením patrí medzi jednoduché modifiácie štandardného horolezecého algoritmu. Táto modifiácia (podobne ao pri metóde zaázaného hľadania) sa dotýa onštrucie oolia U(α). Pôvodná definícia oolia (3.3) využíva stochasticý operátor mutácie Omut, zo "stredu" α sa pomocou tohto operátora generujú nové binárne operátory, pričom pravdepodobnosť zmeny binárnej hodnoty na jej omplement je určená pravdepodobnosťou Pmut (pozri (3.b-c)). V prípade, že pravdepodobnosť mutácie je malá (Pmut 0), potom nové stavy generované mutačným operátorom sú veľmi blíze pôvodnému stavu α (t.j. stredu oolia U(α)). Opačne, a sa pravdepodobnosť Pmut blíži /, potom oolie U(α) obsahuje binárne vetory, torú sú veľmi vzdialené od "stredu" α. Táto jednoduchá úvaha nás vedie myšliene onštrucie oolia ta, že pre aždú polohu bitového vetora máme zadanú zvlášť pravdepodobnosť. Zavedieme dva nové oncepty, toré zaujímavým spôsobom umožňujú modifiovať horolezecý algoritmus () Pravdepodobnostný vetor w=(w,w,...wn)ϵ[0,] n. Jeho jednotlivé zložy 0 wi určujú pravdepodobnosti výsytu premennej '' v danej pozícii. Napr. a wi=0(), potom αi=0(), pre 0<wi <, potom premenná αi je náhodne určená vzťahom (3.6) 9

de random je náhodné číslo z intervalu [0,) s rovnomernou distribúciou. Tento stochasticý prístup u generovaniu bitového vetora α vyjadríme pomocou funcie α =R(w). Potom je oolie U(w) zostrojené z binárnych vetorov náhodne generovaných vzhľadom pravdepodobnostnému vetoru w určené vzťahom (3.7) Budeme predpoladať, že ardinalita tohto oolia je onštantná, c0= U(w). A všety zložy pravdepodobnostného vetora sú buď blízo nuly alebo jedničy, potom je "priemer" oolia U(w) veľmi malý, aždý element taéhoto oolia je tesne vztiahnutý binárnemu vetoru α, torý je jednoznačne určený pravdepodobnostným vetorom w zaorúhlením jeho prvov na 0 alebo. V opačnom prípade, a zložy pravdepodobnostného vetora sú všety blíze /, potom bitové vetory α zostrojené predpisom (3.6) sú rozložené v celom priestore {0,} n (pozri obr. 3.3). Obrázo 3.3. Schematicé znázornenie oolia U(w) pre daný pravdepodobnostný vetor w. Za predpoladu, že všety zložy w sú blíze /, potom binárne vetory oolia U(w) sú "rozmiestnené" v celom priestore binárnych vetorov {0,} n (diagram A). V prípade, že zložy w sú blíze buď alebo 0, potom binárne vetory oolia U(w) sú rozložené blízo binárneho vetora, torý vznine z w zaorúhlením jeho zložie (diagram B). () Učenie pravdepodobnostného vetora w. Nech B(w) je množina s predpísanou ardinalitou b= B(w), torá obsahuje b najlepších riešení z oolia U(w), formálne (3.8) Pravdepodobnostný vetor je modifiovaný - učený pomocou Hebbovho pravidla (známeho z teórie neurónových sietí) 0

Obrázo 3.4. Geometricá interpretácia Hebbovho učiaceho pravidla (3.9). Nový pravdepodobnostný vetor w'=λα+(-λ)w leží bližšie najlepšiemu riešeniu α. de λ je oeficient učenia (malé ladné číslo) a sumácia beží cez b najlepších riešení z B(w). Pravidlo učenia (3.9) má veľmi jednoduchú geometricú interpretáciu. Pre jednoduchosť predpoladajme, že množina B(w) obsahuje len jeden element, potom práva strana vzorca (3.9) je onvexná ombinácia dvoch vetorov w a, môže sa prepísať do tvaru w λα+(- λ)w. To znamená, že výsledný vetor tejto onvexnej ombinácie musí ležať na úseče, torá spája "body" w a α (λ je malé ladné číslo, 0<λ<<, pozri obr. 3.4). Učenie (3.9) posunie pravdepodobnostný vetor w smerom najlepším riešeniam z množiny B(w). Oba tieto nové oncepty (pravdepodobnostný vetor a učenie) môžu byť jednoducho včlenené do štandardného horolezecého algoritmu. V tomto prípade, namiesto náhodnej generácie vetorov oolia pomocou apliácie mutačného operátora Omut na fixný binárny vetor, teraz vetory oolia sa generujú pomocou pravdepodobnostného vetora w. Orem toho, pravdepodobnostný vetor w sa systematicy obnovuje pomocou Hebbovho učenia, toré ho posúva smerom najlepším riešeniam B(w) z množiny riešení U(w), generovanej pomocou pravdepodobnostného vetora w, B(w)je podmnožinou U(w) (pozri algoritmus 3.4). (3.9)

Obrázo 3.5. Priebeh jednotlivých pravdepodobností vzhľadom na počet iterácii horolezecého algoritmu s učením v rámci modelového príladu optimalizácie reálnej funcie s jednou reálnou premennou reprezentovanou binárnym reťazcom s dĺžou =30. Prerušovaná sigmoidná čiara odpovedá veličine χ(w), schodová neprerušovaná čiara odpovedá veličine τ (w)/n, de n je počet premenných (v našom prípade n=). Funcie χ (w) a τ (w) sú definované vzťahmi (3.0) resp. (3.), pričom w eff=0.. Algoritmus 3.4. Pseudopascalovsá procedúra realizujúca horolezecý algoritmus s učením (HCwL, Hill Climbing with Learning). Algoritmus sa inicializuje ta, že pravdepodobnosti w i sú rovné /. Vonajší cylus while sa opauje timemax iterácií. V rámci tohto cylu sa zostrojí množina B(w) pre atuálny pravdepodobnostný vetor w, na zálade znalosti tejto množiny sa adaptuje (učí) pravdepodobnostný vetor. Ao onečné (výstupné) riešenie sa berie najlepšie riešenie z množiny B(w) po sončení iteračného procesu. Na obr. 3.5 sú znázornené typicé priebehy pravdepodobností vzhľadom na počet iterácií. Vo všeobecnosti možno onštatovať, že hodnoty aždej pravdepodobnosti v počiatočnej fáze algoritmu flutuujú oolo /, potom sa monotónne približujú buď 0 alebo. Po určitom počte iterácií sú všety pravdepodobnosti rovné buď 0 alebo. V tejto etape už nemá zmysel poračovať v algoritme a ten môže byť zastavený. Ao vhodná veličina na postihnutie tejto sutočnosti sa používa parameter usporiadania (3.0) Pre počiatočný vetor pravdepodobností w(0)=(/,/,...,/) je parameter usporiadania nulový. Pre pravdepodobnostné vetory so zložami odlišnými od / sú hodnoty parametra usporiadania ladné a menšie ao. Konečne, a je pravdepodobnostný vetor rovný binárnemu vetoru (t.j. jeho omponenty sú buď 0 alebo ), parameter usporiadania sa rovná. Môžeme teda povedať, že a je v priebehu horolezecého algoritmu parameter

usporiadania väčší než určitá prahová hodnota -ε(de ε je malé ladné číslo), potom metóda je uončená, pretože výsledný binárny vetor určený ao najlepšie riešenie z množiny B(w) sa už nemení (pozri obr. 3.5). Obrázo 3.6. Schematicé znázornenie trajetórie pravdepodobnostných vetorov v horolezecom algoritme s učením. Body obratu zodpovedajú sevencii pravdepodobnostných vetorov w0, w,..., wn, de wi je pravdepodobnostný vetor, v je torom i zložie už fixovaných buď na 0 alebo. Na začiatu procesu má vetor w0 všety zložy približne rovné /. To znamená, že odpovedajúci priestor riešení obsahuje všetých možných n binárnych vetorov dĺžy n, t.j. S(w0)={0,}n. Pre prechodný pravdepodobnostný vetor wi (de 0<i<n), torý obsahuje i zafixovaných zložie, dimenzia priestoru riešení je ni, de exponent n-i je priradený počtu ešte stále neurčených zložie pravdepodobnostného vetora. Symbol S(wi) označuje podpriestor zložený z vetorov s troma zafixovanými omponentmi, napr. (##0######), de i symbolov # je zamenených buď za 0 alebo za, platí dim(s(wi))= n-i. Konečne, vetor wn má všety zložy zafixované, preto dimenzia priestoru riešení je (obsahuje práve jeden binárny vetor). Priebeh horolezecého algoritmu s učením a jeho interpretáciu podstatne uľahčuje tzv. parameter nasýtenia τ(w) = počet zložie wi pravdepodobnostného vetora w, (3.) toré sú menšie ao weff alebo a (- weff), de weff je malé ladné číslo (napr. weff=0.). Na začiatu algoritmu všety zložy pravdepodobnostného vetora ležia v blízosti /, preto hodnota parametru nasýtenia je τ (w)=0. V priebehu histórie algoritmu sa tento parameter soovo zvyšuje, na záver histórie algoritmu sa parameter nasýtenia rovná počtu zložie pravdepodobnostného vetora, τ (w)=n (pozri obr. 3.5 a 3.6). Táto podmiena sa tiež môže uvažovať ao alternatívne ritérium pre uončenie horolezecého algoritmu s učením. Horolezecý algoritmus môže byť aj deterministicý v prípade, že je typ a počet mutácií daný fixne. Stoachasticý algoritmus volí mutácie náhodne. 3

Stochasticé optimalizačné algoritmy môžu využívať reprezentáciu riešenia pomocou binárneho vetora, vetora reálnych čísiel, prípadne vetora s presne definovanými hodnotami pre aždý prvo, alebo ombináciou uvedených troch riešení. Binárna reprezentácia reálnej premennej Binárny vetor α dĺžy (... ) 0, Je interpretovaný ao celé číslo int( ) i i... i i K tomuto celému číslu priradíme racionálne číslo b a x real( ) a int( ) x[ a, b] real (α) aproximuje požadované reálne číslo x s presnosťou (b-a)/ -. Interval [a.b] obsahuje m= bodov x=a, x=a+(b-a)/( -),..., xi=a+(i-)(b-a)/( -),..., xn=b, pozri obr..5 a tab... 4

5 Grayova binárna reprezentácia Dvojica binárnych reťazcov, toré sú odlišné vo všetých polohách bitových premenných môže odpovedať dvom susedným celým číslam. α=(0) a α=(00) sú interpretované ao int(α)=4 resp. int(α)=5 Táto nevýhoda štandardného binárneho ódu je odstránená použitím tzv. Grayovho ódu. Jeho záladná myšliena spočíva v tom, že óduje binárne čísla ta, že dve susedné celé čísla sú binárne čísla reprezentované reťazcami, toré sú rôzne len v jednej poloho binárneho reťazca ᾶ=(0) a ᾶ=(00) sú interpretované ao int(ᾶ)=4 resp. int(ᾶ)=5 3... 3...... 3 3 3 Nájdenie globálneho minima použitím lasicých optimalizačných metód patrí vo všeobecnosti medzi obtiažne numericé problémy pre funcie, toré nie sú ohraničené ďalšími podmienami. Z týchto dôvodov sa v súčasnosti pri riešení globálneho optimalizačného problému často používajú tzv. evolučné optimalizačné algoritmy, toré posytujú riešenie blíze globálnemu, alebo s ním totožné.