Broučci
simulace umělého života

Novinky

15.9.2009
- Verse 2.0 programu - oproti původní versi GUI (mapa, prohlížení algoritmu, statistiky...)

17.12.2008
- Verse 1.0 této stránky

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

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í

Poslední dva parametry mají význam pouze u jedince vyvolávajícího páření (otec), předposlední dva parametry mají význam pouze u jedince přijímajícího páření (matka), nicméně jsou součástí genetické informace všech jedinců.

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í Při přiblížení organismů se vyhodnotí vzájemné splnění podmínek páření a podle toho se každý organismus ve výhledu jiného jedince jeví jako jedinec vhodný k páření nebo jedinec nevhodný k páření. Jedinec, který čeká, je jedinec nevhodný k páření. V této versi modelu nejsou oddělena pohlaví, každý jedinec proto může vystupovat v roli otce i v roli matky. Energii potomkům předává pouze jeden rodič (matka), rodičovská investice otce je ale zajištěna zprostředkovaně prostřednictvím poplatku za páření.

PrograM

Simuluje prostředí podle zadaných parametrů, počítá a vypisuje statistiky.

Ve versi 2.0

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í.

Logo – Evropský sociální fond Tento projekt podpořil Evropský sociální fond

Praha & EU: Investujeme do vaší budoucnosti
©2008 Tomáš Holan