vysoké uÄenà technické v brnÄ evoluÄnà algoritmy - matlab gate toolbox
vysoké uÄenà technické v brnÄ evoluÄnà algoritmy - matlab gate toolbox
vysoké uÄenà technické v brnÄ evoluÄnà algoritmy - matlab gate toolbox
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
30<br />
4.1.3 Genetický algoritmus GA a GA-HC<br />
Genetický algoritmus zahrnutý v DLL má chromozomy kódovány pomocí binárních<br />
řetězců. Ty jsou opět tvořeny parametry v binární reprezentaci poskládanými za sebou. Celý<br />
algoritmus je řešen jako potomek jádra COptMethod, výkonné části kódu jsou opět deklarovány<br />
jako virtuální metody. Algoritmy GA a GA-HC se od sebe liší pouze typem mutace, GA-HC<br />
využívá mutaci s jádrem, které je optimalizováno <strong>algoritmy</strong> HCA. Velikost populace jedinců a<br />
ostatní parametry volí uživatel při inicializaci modelu algoritmu (nIndi, nParam, nBitParam,<br />
iParm, mCode, funcOpt, funcName).<br />
Popis všech důležitých metod:<br />
Selection<br />
- metoda selekce nejlepších jedinců, je řešena turnajovým výběrem, uživatel volí<br />
počet jedinců vstupujících do turnaje. Turnaj probíhá tak dlouho, dokud se<br />
nenaplní nová populace, tj. nIndikrát.<br />
Stará populace<br />
011001011100101001<br />
101001010010110101<br />
011010100111010101<br />
101010100101010101<br />
011100111010111010<br />
Nová populace<br />
101001010010110101<br />
101010100101010101<br />
Obr. 10 Příklad dvou cyklů turnajové selekce ze dvou jedinců<br />
Cross<br />
- metoda křížení jedinců, implementovány jsou tři druhy křížení, které volí<br />
uživatel: bodové, bodové pouze v parametrech a uniformní. Uživatel volí, kolik<br />
procent jedinců z populace bude zkříženo.<br />
Bodové křížení<br />
111111 111111 111111<br />
000000 000000 000000<br />
111100 000001 111111<br />
000011 111110 000000<br />
Bodové křížení s respektováním parametrů<br />
111111 111111 111111<br />
000000 000000 000000<br />
111111 000000 111111<br />
000000 111111 000000<br />
Uniformní křížení (swapbits)<br />
111111 111111 111111<br />
000000 000000 000000<br />
110111 111111 101111<br />
001000 000000 010000<br />
Obr. 11 Příklady všech druhů křížení pro dva náhodné body<br />
Mutation<br />
- metoda mutace, která je řešena jako náhodná změna určitého počtu bitů v celé<br />
populaci, uživatel volí počet mutovaných bitů, nebo kolik procent populace má<br />
mutovat.<br />
00000000000000000<br />
00000000000000000<br />
00000000000000000<br />
00000000000000000<br />
00000000000000000<br />
00000000000000000<br />
00000000000000000<br />
00001000000000000<br />
00000000000000000<br />
00000000000000000<br />
Obr. 12 Mutace náhodného bitu v populaci jedinců