Prírodou inšpirované algoritmy
študijné materiály pre projekt mobilnej triedy umelej inteligencie
|
|
Všeobecná schéma GPAko sme už uviedli genetické programovanie (GP) je špeciálnym druhom evolučných algoritmov, nevýhodou ktorých bola obmedzená kapacita binárneho reťazca. V GP je použitá reprezentácia jedinca-programu pomocou hierarchickej stromovej štruktúry zloženej z funkcií a terminálov prislúchajúcich k danej problémovej doméne. GP prehľadáva v procese riešenia problému paralelne viacero bodov priestoru možných počítačových programov. Samotné prehľadávanie nie je slepé. Riadi sa vhodnosťou programov.
Všeobecný postup GP pri riešení problému môžeme zhrnúť do nasledujúcich troch krokov :
- Vygenerovanie iniciálnej populácie náhodných kompozícií funkcií a terminálov prislúchajúcich problému (počítačových programov)
- Cyklické vykonávanie nasledujúcich subkrokov až pokiaľ nie je splnená ukončovacia podmienka :
- Vykonanie každého programu populácie a získanie hodnoty vhodnosti, v závislosti od toho, ako dobre vie program riešiť zadaný problém
- Vytvorenie novej populácie počítačových programov aplikáciou dvoch primárnych operátorov. Operátory pracujú s programami zvolenými pravdepodobnostne na základe vhodnosti.
- Skopírovanie nezmeneného programu do novej populácie - reprodukcia
- Vytvorenie nového počítačového programu za pomoci genetickej rekombinácie náhodne zvolených častí dvoch existujúcich programov - crossover
- Najlepší program, ktorý sa objavil počas riešenia v ľubovolnej generácii ( takzv. best-so-far individual) je označený ako výsledok GP. Tento výsledok môže byť buď úplným alebo približným riešením problému.
Vývojový diagram celého procesu genetického programovania môžete vidieť na nasledujúcom obrázku
 Vývojový diagram Genetického programovania
|
|
Kontakt: Marek Bundzel |