OPTIMALIZACE KLASTRŮ EVOLUČNÍMI ALGORITMY Lucie ZÁRUBOVÁ Mgr. Karel OLEKSY
OBSAH Cíle Evoluční algoritmy Genetické algoritmy Testovaná nastavení Závěr Vyhlídky
CÍLE Nalézt vhodné evoluční operátory Nalézt vhodné hodnoty parametrů algoritmu
EVOLUČNÍ ALGORITMY Algoritmy používající pro řešení dané úlohy postupy napodobující evoluční procesy známé z biologie (dědičnost, mutace, přirozený výběr, křížení) Například tzv. genetický algoritmus
GENETICKÉ ALGORITMY Pomocí aplikací principů evoluční biologie se snaží nalézt řešení složitých problémů neřešitelných exaktními algoritmy Jedinec většinou reprezentován binárními čísly (řetězcem nul a jedniček), ale i jinak (např. stromem, maticí….) V praxi využívány k řešení různých optimalizačních úloh
P RINCIP METODY Postupná tvorba přibližného řešení problému Uchovává se tzv. populace (každý jedinec představuje jedno řešení problému) Při průběhu evoluce populací se řešení zlepšují První generace složená z náhodných členů, při přechodu do nové generace dochází ke spočtení hodnoty tzv. fitness funkce pro každého jedince Podle kvality jsou vybíráni jedinci do další generace
Dochází k modifikaci (mutace, křížení) – vznik nové populace Opakování postupu – zlepšování řešení Ukončení algoritmu po předem dané době nebo při dosažení určité kvality přibližného řešení
Inicializace – Tvorba nulté generace (náhodně vygenerovaní jedinci) Začátek cyklu – Výběr několika jedinců z vysokou fitness funkcí Vytvoření nové generace – využití metod křížení, mutace, reprodukce Vypočtení fitness nových jedinců Konec cyklu – Při nesplnění zastavovací podmínky program pokračuje znovu od bodu 2 Konec algoritmu – Výstupem jedinec s nejvyšší hodnotou fitness funkce reprezentuje nejlepší nalezené řešení F ÁZE ALGORITMU
TESTOVANÁ NASTAVENÍ Testovali jsme výpočetní program pro různé druhy nastavení pro různé velikosti klastrů Test paralelizace – závislost počtu optimalizací na počtu procesorů Test průběhu optimalizací – závislost vývoje energie na chodu programu Test vhodnosti použití různých evolučních operátorů
T EST PARALELIZACE Pro Lennard-Jonesovy klastry o 10 a 30 atomech Pro 1-8 procesorů Při ideálním programu, kdy by se daly paralelizovat všechny výpočty – závislost počtu optimalizací by byla lineární V našem případě se počet optimalizací bude blížit k určité konečné hodnotě – určité části programu paralelizovat nelze
10 atomů30 atomů Počet procesorů Počet optimalizací PřepočetPočet optimalizací Přepočet ,00221, ,69421, ,46642, ,99853, ,691064, ,271265, ,771486, ,941687,64
T EST PRŮBĚHU OPTIMALIZACÍ Pro klastry vody s 2-13 atomy Sledovaná závislost vývoje energie během chodu programu Snaha nalézt co nejstabilnější konfigurace během každé optimalizace Následně porovnáváno s dostupnými výsledky – D. J. Wales and M. P. Hodges, Chem. Phys. Lett., 286, 65 (1998)
n Literatur e Energy [∙10 -2 eV] 2 27,038 27, ,544 72, , , , , ,637156, , , , ,423204, , , , , ,508316, ,613316, , ,951356, ,101356,018356, , , ,231405,163403,520405,163405, ,520405,231405,163395, , ,812444,101445,199444,198443,078445,336444,74443,864445,022445, , ,336495,383506,176493,457490,722506,037493,457490,292487,809493, , ,335550,725536,591540,721552,336529,799547,310550,446530,508552,164
TEST VHODNOSTI POUŽITÍ RŮZNÝCH EVOLUČNÍCH OPERÁTORŮ Testovali jsme vhodnost použití genotypové a fenotypové mutace, mutace pomocí řezu rovinou, pravděpodobnost křížení jednotlivých proměnných či pravděpodobnost křížení na úrovni molekul Testováno pro klastr o 11 molekulách vody
P RAVDĚPODOBNOST GENOTYPOVÉ MUTACE Dochází k náhodnému vybrání molekuly, poté se náhodně vygeneruje přirozené číslo od 1 do počtu souřadnic (které popisují polohu těžiště molekuly),poté se náhodně tolikrát zvolí některá souřadnice těžiště molekuly, ta se změní Testováno pro pravděpodobnost 0,05; 0,1; 0,2; 0,3; 0,4; 0,5
P RAVDĚPODOBNOST FENOTYPOVÉ MUTACE Dochází k náhodnému výběru molekuly, ta se náhodně umístí do nové polohy (změní se souřadnice těžiště molekuly), zjistí se zda nová poloha molekuly není špatná (například molekuly jsou příliš blízko u sebe) Testováno pro pravděpodobnost 0,01; 0,05; 0,1; 0,2; 0,3
M UTACE POMOCÍ ŘEZU ROVINOU Zvolí se náhodně orientovaná rovina, pomocí ní dochází k rozdělení 2 klastrů na 4 části (každý se rozdělí na 2 části), ty se poté skombinují do dvou nových potomků Testováno pro pravděpodobnost 0,2; 0,4; 0,6; 0,8; 1,0
PRAVDĚPODOBNOST KŘÍŽENÍ JEDNOTLIVÝCH PROMĚNNÝCH Jde o čistě genotypový operátor Každá souřadnice je v tomto případě reprezentována binárním řetězcem; pro dvě molekuly dojde k rozdělení těchto řetězců, ty se navzájem zkříží; toto se provede nad každou souřadnicí např. 101 I 0101 vznik nových: I Testováno pro pravděpodobnost 0,0; 0,5; 1,0
P RAVDĚPODOBNOST KŘÍŽENÍ NA ÚROVNI MOLEKUL Mezistupeň mezi čistě genotypovým křížením jednotlivých proměnných a fenotypovým křížením pomocí řezů klastrů rovinou Vezmou se souřadnice těžiště jednotlivých molekul z klastrů, vygenerují se dvě roviny křížení, poté dojde k výměně souřadnic např. S1 I S2 S3 …….S10 I S11 S1´ I S2´ S3´…...S10´ I S11´ vytvoření S1 S2´ S3´….S10´ S11 S1´ S2 S3 …. S10 S11´
Testováno pro pravděpodobnost 0,0; 0,01; 0,05; 0,1; 0,2
ZÁVĚR Testovali jsme různá nastavení programu pracujícího pomocí genetických algoritmů Při paralelizaci všech výpočtů by byla závislost počtu optimalizací na počtu procesorů lineární – nelze – počet optimalizací se bude blížit k určité konečné hodnotě Pro menší molekulární klastry vody nachází program stabilní konfigurace, pro větší klastry ( n >9) třeba provést další testy Testovali jsme různé varianty použití evolučních operátorů
Při použití genotypové mutace se jako nejlepší nastavení programu jeví nastavení s pravděpodobnost 0,1 či 0,2; naopak nejhorším nastavením je pravděpodobnost 0,3; 0,4 či 0,05 Při použití fenotypové mutace je nejvhodnější nastavení programu nastavení s pravděpodobnost 0,01; naopak nejhorší nastavení je pravděpodobnost mutace 0,3 Při použití mutace pomocí řezu rovinou je nejvhodnější co největší pravděpodobnost mutace (tj. 1,0 nebo 0,8); naopak nevhodná se ukazuje být malá pravděpodobnost
Pro křížení jednotlivých proměnných je nejlepším nastavením nenulová pravděpodobnost mutace Při použití křížení na úrovni molekul nehraje nastavení pravděpodobnosti důležitou roli
VYHLÍDKY Testovat další možné nastavení programu, aby se dosáhlo zvýšení efektivity programu (aby se za danou dobu nalezlo globální minimum vícekrát, resp. aby byla co nejvyšší pravděpodobnost nálezu globálního a nikoli lokálního minima) Počet jedinců v populaci Testy různých způsobů fenotypové mutace …
DĚKUJI ZA POZORNOST