1 / 33

Genetické algoritmy a jejich využití při hledání rovnovážných struktur

Genetické algoritmy a jejich využití při hledání rovnovážných struktur. Bc. Lucie Zárubová Vedoucí práce: Mgr. Karel Oleksy, D oc. RNDr. René Kalus, Ph.D. OBSAH. Cíle Evoluční algoritmy Genetické algoritmy Testovaná nastavení Závěr Vyhlídky. CÍLE.

rafi
Download Presentation

Genetické algoritmy a jejich využití při hledání rovnovážných struktur

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Genetické algoritmy a jejich využití při hledání rovnovážných struktur Bc. Lucie Zárubová Vedoucí práce: Mgr. Karel Oleksy, Doc. RNDr. René Kalus, Ph.D.

  2. OBSAH • Cíle • Evoluční algoritmy • Genetické algoritmy • Testovaná nastavení • Závěr • Vyhlídky

  3. CÍLE • Nalézt vhodné hodnoty parametrů algoritmu • Nalézt vhodné evoluční operátory, zjistit jejich interakce a ověřit optimální nastavení programu

  4. 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

  5. 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

  6. Fáze algoritmu VYTVOŘENÍ NOVÉ GENERACE ZAČÁTEK CYKLU INICIALIZACE Tvorba nulté generace (náhodně vygenerovaní jedinci) Výběr několika jedinců s vysokou fitness funkcí využití křížení, mutace, reprodukce Při nesplnění zastavovací podmínky Výstupem jedinec s nejvyšší hodnotou fitness funkce VYPOČTENÍ FITNESS NOVÝCH JEDINCŮ KONEC ALGORITMU KONEC CYKLU

  7. VÝPOČETNÍ PROGRAM V našem výpočetním programu lze provést několik změn nastavení. Lze • nastavit počet optimalizací a počet generací v jedné optimalizaci • nastavit různé pravděpodobnosti různých evolučních operátorů • nastavit různý typ interakčního modelu v klastru vody (TIP3P, TIP4P, TIP5P) • nastavit různý počet molekul v klastru

  8. 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 interakce evolučních operátorů • Ověření našeho optimálního nastavení

  9. TEST PARALELIZACE • Pro Lennard-Jonesovy klastry o 10 a 30 atomech • Pro 1-8 procesorů • Na frontě teri na VŠB – omezeno časem 72 hodin • 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. 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)

  11. TEST VHODNOSTI POUŽITÍ RŮZNÝCH EVOLUČNÍCH OPERÁTORŮ • Testovali jsme vhodnost použití genotypové a fenotypové mutace, křížení pomocí řezu rovinou, pravděpodobnost křížení jednotlivých proměnných či pravděpodobnost křížení na úrovni molekul • Vždy jsme testy prováděli pouze pro jeden operátor, ostatní se nepoužívaly • Testováno pro klastr o 11 molekulách vody

  12. 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

  13. 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

  14. Pravděpodobnost křížení jednotlivých proměnných • 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

  15. Pravděpodobnost křížení na úrovni molekul • 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

  16. Křížení 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

  17. Jako nejvhodnější nastavení se jeví nastavení s pravděpodobností genotypové mutace 0,1 fenotypové mutace 0,01 křížení pomocí řezu rovinou 1,0 křížení jednotlivých proměnných nenulová křížení na úrovni molekul nedůležitá Je ale třeba ověřit, zda tyto operátory mezi sebou neinteragují a jestli jejich použitím získáme lepší výsledky než s původním nastavením programu

  18. TEST INTERAKCE OPERÁTORŮ • Testujeme, zda při různých nastaveních pravděpodobností jednotlivých evolučních operátorů nedochází k interakci mezi nimi a zjišťujeme, zda optimální nastavení, které jsme našli, je opravdu nejvhodnější • Třeba otestovat všechny možné kombinace nastavení operátorů mnoho možností provedli jsme zjednodušení

  19. Testujeme pro každý operátor pouze 3 možnosti nastavení – optimální a minimální a maximální hodnoty pravděpodobnosti • V současnosti probíhají testy

  20. OVĚŘENÍ OPTIMÁLNÍHO NASTAVENÍ • Zjišťujeme, zda s pomocí nastavení, o kterém si myslíme, že je optimální, získáme lepší výsledky než s použitím původního nastavení programu • Pomocí porovnání s našimi původními výsledky a rovněž s dostupnými výsledky - D.J.Wales and M. P. Hodges, Chem. Phys. Lett., 286, 65 (1998)

  21. 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 – testy použití různých evolučních operátorů • Testovali jsme různé varianty použití evolučních operátorů

  22. Při použití genotypové mutace se jako nejlepší nastavení programu jeví nastavení s pravděpodobností 0,1 • Při použití fenotypové mutace je nejvhodnější nastavení programu nastavení s pravděpodobností 0,01 • Při použití křížení pomocí řezu rovinou je nejvhodnější co největší pravděpodobnost mutace (tj. 1,0) • 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 • Při testování optimálního nastavení jsme naše nynější a předchozí výsledky porovnávali s výsledky Walese – naše současné výsledky jsou lepší než výsledky předchozí, pro klastry vody s více než 13 molekulami se ale od Walesových hodnot liší více

  23. VYHLÍDKY • Dokončit test interakce mezi jednotlivými evolučními operátory, provést jeho vyhodnocení a podle získaných výsledků upravit program • Upravený program poté využít k dalším výpočtům (např. pro větší klastry vody)

  24. DĚKUJI ZA POZORNOST

More Related