Prírodou inšpirované algoritmyštudijné materiály pre projekt mobilnej triedy umelej inteligencie |
||||||||||||||||||||||||||
|
Popis funkčnosti simulátora
Autorom projektu je Dan Kunkle student Informačných technológií na Rochester Institute of Technology Simulácia začína vybudovaním prostredia. Toto prostredie je tvorené mriežkou veľkosti 18x18. Každé miesto v mriežke má nejaké vlastnosti. V tomto prípade je základnou vlastnosťou potrava. Potrava je reprezentovaná zelenou farbou. Intenzita farby predstavuje množstvo potravy. Produkované množstvo potravy, závislé od času, je náhodné. Na začiatku približne jedna tretina miest v mriežke má potravu a množstvo potravy na každom mieste je určené náhodne. Prostredie je ďalej osídlené veľkým počtom tzv. Decision Making Turtles (DMTs). Všetky DMTs začínajú s rovnakým množstvom energie, rovnakou rýchlosťou a náhodnou lokáciou umiestnenia v prostredí. Vždy keď sa pohnú, strácajú energiu, keď jedia, tak práve naopak, nejakú energiu získajú. Množstvo stratenej energie pri pohybe závisí od rýchlosti. Rýchlejšia DMT stratí viac energie ako pomalšia, ale zase môže nájsť viac potravy. Po každom jedení sa množstvo potravy na príslušnom mieste v mriežke zmenší. Čierne miesta neobsahujú potravu. Každé miesto v mriežke môže produkovať jedlo - zvyšovať postupne túto hodnotu, aj to ktoré začína prázdne. Z toho je jasné, že všetky miesta podporujú život. Šanca, že mriežka obnoví potravu záleží na aktuálnom počte žijúcich DMTs - väčšia populácia má viac dostupného jedla ako menšia. Každá DMT začína s náhodným genómom, ktorý je použitý na rozhodovanie. Niektoré DMTs budú prežívať lepšie, iné horšie. U DMTs sa rozhodovací genóm počas života nemení. Vo vývoji populácie dôležitú úlohu zohráva genetický algoritmus. Genetický algoritmus vyberie lepšie DMTs z populácie, vytvorí potomstvo a umiestni 72 nových DMTs v prostredí s rovnakými počiatočnými podmienkami pre energiu, rýchlosť a umiestnenie. Miesta v mriežke znovu generujú náhodné množstvo potravy a simulácia je reštartovaná. |
|||||||||||||||||||||||||
Kontakt: Marek Bundzel |