320 likes | 475 Views
OPTIMALIZACE KLASTRŮ EVOLUČNÍMI ALGORITMY. Lucie ZÁRUBOVÁ Mgr. Karel OLEKSY. 25.6.2010. 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.
E N D
OPTIMALIZACE KLASTRŮ EVOLUČNÍMI ALGORITMY Lucie ZÁRUBOVÁ Mgr. Karel OLEKSY 25.6.2010
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
Princip 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í
Fáze algoritmu 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í
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ů
Test 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
Test 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)
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
Pravdě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
Pravdě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
Mutace 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: 101 1101 100 I 1101 100 0101 • Testováno pro pravděpodobnost 0,0; 0,5; 1,0
Pravdě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´
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 • …