Co to je
Počítačová simulace prostředí, ve kterém žijí (pohybují se, interagují, množí se a hynou) umělé bytosti.Model
Prostředí
Simulované prostředí je rozděleno do čtverečků, na kterých roste potrava, pro každý čtvereček s individuální pravděpodobností zadávanou před začátkem simulace jako mapa úrodnosti.Potrava je jediného druhu, bytosti se živí pouze potravou, neexistuje potravní řetězec.
Smyslem individuální úrodnosti je dovolit modelovat vývoj na mapě, kde budou oblasti úrodnější i méně úrodné. Očekáváme, že se umělý život nejprve rozvine v oblastech úrodných a teprve později, až se u jedinců vyvine lepší schopnost hledat potravu, osídlí i oblasti méně úrodné.
Množství potravy je navíc ovlivňováno globálním nastavením úrodnosti, které dovoluje zkoumat změny v populaci i v parametrech jedinců při změnách v dostupném množství potravy i nastavení vyšší úrodnosti v počátečních fázích evoluce.
Parametry prostředí jsou
- globální úrodnost (hodnota, kterou se násobí pravděpodobnost, s jakou na políčku vyroste potrava)
- množsví energie obsažené v jednotce potravy
- spotřeba energie za jeden krok jedince
- maximální povolená zásoba energie jedince
- využitelnost energie z potravy v závislosti na věku (staří jedinci spotřebovávají na jeden krok více energie a tak musí získávát více potravy)
- doba čekání potomka
- míry mutace algoritmu i parametrů páření
Bytosti
Bytosti jsou popsány proměnným stavem a neměnnou genetickou informací. Stav bytosti sestává z pozice, orientace (jeden ze čtyř směrů), tím, jestli a jak dlouho se jedinec nachází ve stavu čekání potomka, a zásobou energie. Genetická informace obsahuje algoritmus pohybu a parametry páření.Algoritmus pohybu
V každém kroku simulace každá bytost, která není ve stavu, kdy čeká potomka, provede jednu z následujících akcí: otočit doleva, otočit doprava, krok vpřed, nedělat nic.Pokud má organismus paměť, může být s každou akcí svázán přechod do jiného stavu paměti.
O svých akcích se jedinec rozhoduje podle obsahu tří sousedních políček -- nalevo, před sebou a napravo (za sebe nevidí), případně stavu paměti.
Protože na každém pozorovaném políčku bytost rozlišuje jen několik možných obsahů (prázdné, potrava, jedinec vhodný k páření, jedinec nevhodný k páření), lze celý algoritmus popsat jako funkci, kterou můžeme reprezentovat trojrozměrným resp. čtyřrozměrným (stav paměti) polem.
Pokud jedinec vkročí na políčko, kde je potrava, zkonzumuje ji a získá množství energie dané globálním parametrem prostředí.
V každém kroku organismus spotřebovává určité množství energie, pokud nemá dostatek energie, hyne. Abychom podpořili generační výměnu, množství spotřebovávané energie roste s věkem jedince.
Na počátku jsou bytosti náhodně rozmístěny a mají určité počáteční množství energie. Nově narozená bytost dostává určité množství energie od rodiče, toto množství je jedním z parametrů páření.
Páření
Organismy se rozmnožují pářením, podmínkou páření je vzájemné splnění podmínek páření.Podmínky páření každého jedince zahrnují
- dolní limit energie vlastní
(když jedinec hladoví, nemnoží se) - množství energie předávané narozenému potomkovi
(rodičovská investice matky) - množství energie požadované po partnerovi
(poplatek za páření, rodičovská investice otce) - požadavek na rodičovskou investici partnera
(chci partnera, který má v genech dostatečnou rodičovskou investici) - horní limit energie předané partnerovi
(kolik je ochoten zaplatit)
Průběh páření
Jedinec vyvolávající páření (otec) vyvolá páření akcí krok vpřed na políčko, kde stojí jedinec přijímající páření (matka), přitom se jeho poloha nezmění a v případě vzájemného splnění podmínek páření- dojde k předání energie od otce k matce, množství je určeno parametrem matky poplatek za páření
- otec může příštím tahem pokračovat
- matka K tahů čeká a potom na náhodně vybraném nejbližším volném políčku vznikne nový jedinec, K je parametr prostředí
- nový jedinec dostane od matky energii v množství daném jejím parametrem investice do potomka.
- genetická informace nového jedince vznikne zkřížením a mutací genetické informace rodičů.
PrograM
Simuluje prostředí podle zadaných parametrů, počítá a vypisuje statistiky.Ve versi 2.0
- zobrazuje mapu s broučky
- umožňuje krokování po jednom i více krocích nebo souvislý běh
- dovoluje za běhu měnit nastavení prostředí (globální úrodnost, míru mutace atd.)
- dovoluje prohlížet stav a parametry broučka i jeho algoritmus
- dovoluje upravovat, kopírovat, ukládat a číst algoritmus broučka
- volitelně zaznamenává statistiky a ukládá je v .csv
Soubor s parametry
...obsahuje jednak hodnoty parametrů a jednak příkazy.Příkaz run spustí simulaci se zadanými parametry, ale po jejím skončení pokračuje čtení souboru, které může změnit některé parametry a zase spustit výpočet.
Výsledkem je soubor se zapsanými výsledky.
Příklad souboru s parametry
# InputPath = ..\..\ # OutputPath = ..\..\ # MapFileName = mapa_bez_prekazek.bmp # MaxStates = 1 # MutationLevel_Params = 50 # MutationLevel_Algorithm = 500 # MaxRandomGenMationParamsSet = 100 # MaxRandomGenMationParamsDiff = 20 # EnergyInitialValue = 200 # BeetlesPercent = 50 # FoodGlobalGrowFinal = 1,00 # FoodGlobalGrowStep = -0,02 # EnergyMaxStore = 500 # StatisticsBegin = 4000000 # StatisticsNumber = 100 # StatisticsStep = 10000 # OutputMotherFatherTable = false # SurvivedPopulation = 5 # MaxAttempts = 10 # EnergyPerStep = 10 # EnergyFromFood = 100 # PregnancyTime = 5 # MaturityConditionMale = 0 # MaturityConditionFem = 0 # PregnancyTime = 2 # ExperimentName = PregnancyTime2 # FoodGlobalGrowFinal = 0,13 run # FoodGlobalGrowFinal = 0,12 run # FoodGlobalGrowFinal = 0,11 run # FoodGlobalGrowFinal = 0,10 run # FoodGlobalGrowFinal = 0,09 run # FoodGlobalGrowFinal = 0,08 run # FoodGlobalGrowFinal = 0,07
Literatura
Trivers, R.L.: Parental investment and sexual selection.In B. Campbell (Ed.), Sexual selection and the descent of man, 1871-1971. Chicago, IL: Aldine, (pp. 136-179).
Dawkins, R.: Slepý hodinář (Zázrak života očima evoluční biologie)
Paseka 2002
Publikace
HOLAN, Tomáš: Rodičovské investice umělých bytostíIn Obdržálek, David a Štanclová, Jana a Plátek, Martin: MIS 2008, Sborník semináře., Praha: Matfyzpress, 2008., pp. s.11-18.
Experimenty mapující závislost rodičovských investic na parametrech prostředí.
HOLAN, Tomáš: Evoluce parametrů páření
In Vojtáš, Peter. ITAT 2008 Informačné technológie - Aplikácie a Teória.,
Košice: UPJŠ, 2008., pp.49-52.
Popis modelu, implementace, získávání výsledků, první výsledky.
HOLAN, Tomáš: Jiné programování
In Vojtáš, Peter. ITAT 2004 Informačné technológie - Aplikácie a Teória., Košice: UPJŠ, 2004., pp. 139-148.
První experimenty s broučky, hledání potravy, žádné páření, generování nových broučků vyšší mocí.