01.12.2014 Views

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

SHOW MORE
SHOW LESS

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ů

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!