Efektivní paralelizace evolučních algoritmů
Effective Parallelization of Evolutionary Algorithms
diplomová práce (OBHÁJENO)
Zobrazit/ otevřít
Trvalý odkaz
http://hdl.handle.net/20.500.11956/120915Identifikátory
SIS: 199616
Kolekce
- Kvalifikační práce [10690]
Autor
Vedoucí práce
Oponent práce
Neruda, Roman
Fakulta / součást
Matematicko-fyzikální fakulta
Obor
Umělá inteligence
Katedra / ústav / klinika
Katedra teoretické informatiky a matematické logiky
Datum obhajoby
14. 9. 2020
Nakladatel
Univerzita Karlova, Matematicko-fyzikální fakultaJazyk
Čeština
Známka
Výborně
Klíčová slova (česky)
evoluční algoritmy, paralelizace, vytížení CPUKlíčová slova (anglicky)
evolutionary algorithms, paralellization, CPU utilizationEvoluční algoritmy se často používají na těžké optimalizační problémy. Jejich řešení trvá netriviální čas a proto tu je tlak na efektivní paralelizaci těchto algoritmů. Bohužel klasické metody paralelizace nefungují moc dobře v případech, kdy jednotlivá ohodnocení problémů trvají výrazně různou dobu. V této práci se pokusíme rozšířit evoluční algoritmus s prokládáním generací, který nabízí lepší využití výpočetních zdrojů než klasické paralelní evoluční algoritmy, o spekulativní vyhodnocení. Spekulativním vyhodnocením mys- líme odhad fitness funkce jedince a předpočítání následujících kroků, které v případě správného odhadu později využijeme. V sérii experimentů porov- náme algoritmus se spekulativním vyhodnocením s originální verzí a podí- váme se na vliv přesnosti ve spekulativním kroku na výkon algoritmus. 1
Evolutionary algorithms are often used for hard optimization problems. Solving time of this problems is long, so we want effective parallelization for this algorithms. Unfortunately, classical methods of parallelization do not work very well in cases where the individual evaluations of problems take significantly different times. In this project, we will try to extend the evolu- tionary algorithm with interleaving generations, which offers a better use of computational resources than classical parallel evolutionary algorithms, by speculative evaluation. Speculative evaluation means the estimation of an in- dividual's fitness function and the prediction of the following steps, which we will use later in the case of a correct estimate. We compare the algorithm with speculative evaluation with the original version in a series of experi- ments and we look at the effect of accuracy in the speculative step on the performance of the algorithm. 1