Simulácia vniku života modifikáciou hry Život.
Úvahy o podstate a pravdepodobnosti života (napr.Prečo neverím na stretnutie s mimozemšťanmi - úvahová časť) ma inšpirovali k malému pokusu. Obetoval som jeden večer na vytvorenie jednoduchej simulácie kde si možno vyskúšať vznik a evolúciu jednoduchého "života" pri rôznych pravdepodobnostiach.
Hra Život
Keďže vymýšľať nový vhodný model by bolo na dlhšie použil som už osvedčený z hry Život (J.H.Conway). Ak náhodou ešte neviete o čo ide tak v skratke:
Svet je simulovaný jednoduchou mriežkou. Prázdne políčko znamená že sa tam nič nechádza, plné políčko predstavuje bunku. Evolúcia má jednoduché pravidlá:
- ak má bunka menej ako 2 susdeov zanikne (osamelosť)
- ak má bunka viac ako 3 susdeov zanikne (premnoženie)
- bunka prežije ak má 2-3 susedov
- nová bunka vznikne na prázdnom políčku ktoré má presne 3 susdeov (množenie)
Viac informácií nájdete napr. na Conway's Life game.
Modifikácia - Evolution
Bežný prístup je navrhnutie nejakej vhodnej štruktúry a sledovanie jej vývoja. Toto by som prirovnal k inteligentnému dizajnu. Ale ja som lenivý dizajnér a tak som sa rozhodol vyskúšať čo to spraví ak sa má takýto jednoduchý "život" vyvinúť sám od seba. K tomu som potreboval trocha upraviť pravidlá:
- Začína sa na úplne prázdnej ploche (bez života)
- V každom ťahu prebehne pevne daný počet "mutácií" - na náhodných miestach sa vytvoria nové bunky (väčšina zahynie keďže sú osamote)
Ideálne by pokus mal prebiehať na nekonečnej ploche. Keďže toto nie je moc reálne tak som zvolil konečný obdĺžnik s prepojeným pravým-ľavým a horným-dolným okrajom (topológia torusu).
Ideou je že časom sa náhodne vytvoria bunky dosť blízko k sebe aby dali vznik kolíske života. Na druhej strane ale tieto mutácie aj rozbíjajú stabilné štruktúry a v istom zmysle umožňujú evolúciu. Výsledky sú vcelku zaujímavé. Ak si to chcete vyskúšať tu je môj malý výtvor:
Požiadavky na spustenie: Ms Windows a podpora OpenGL
Ovládanie
Simulácia sa odohráva na ploche 400x300. Po spustení si vypýta dva parametre:
- počet mutácií na ťah (Mutat)
- čím väčšie číslo tým väčšia šanca že nejaký život vznikne
- odporúčam hodnoty >70, zaujímavé sú okolo 100
- pri <50 už môže dosť dlho trvať kým sa niečo objaví
- pesimisti zadajú "3" a nechajú bežať celú noc, ale zrejme nič nevznikne... Ak predsa áno tak rýchlo podať loto (a prosím pošlite mi tie parametre).
- seed pre generovanie pseudonáhodných čísel
- môžte nechať prázdny a nastaví sa náhodne (podľa času)
- ak chcete presne zopakovať predošlý/iný pokus môžte sem zadať hodnotu ktorá bola pri simulácii použitá
SPACE - pozastavanie a znova spustenie simulácie
ESC - ukončenie programu
- červené bunky sú bunky vniknuté mutáciou
- zelené bunky sú bunky vniknuté rozmnožovaním (až tieto považujem za "život")
Simulácia prebieha rýchlo až kým sa neobjaví život. Ak je život (zelené bunky) prítomný, tak sa simulácia spomalí aby ju bolo možné sledovať. V ľavom hornom rohu sa zobrazuje pár informácií:
Size - veľkosť mriežky
Turn - počet prebehnutých ťahov (iterácií)
Cells - počet živých buniek (zelených)
1stlife - číslo ťahu kedy sa objavila prvá živá (zelená) bunka
Mutat - počet mutácií na ťah
Seed - seed použitý pri simulácii
A na záver zopár zaujímavých simulácií:
Mutat=200, Seed=1291839727
Napriek veľkému počtu mutácií má život problém sa usadiť. Opätovne vzniká a zaniká až sa mu to nakoniec podarí okolo ťahu 4700.
Mutat=50, Seed=1291840117
Napriek malému počtu mutácií sa vytvorí malý stabilný ostrovček a život začne nesmelo prekvitať okolo ťahu 2800.
Mutat=100, Seed=1291845650
Život má problém vniknúť. Keď to už okolo ťahu 6500-6800 vyzerá že sa uchytí, je komplexná štruktúra postupne zničená. Neskôr potom začne vznikať na inom mieste.
A ešte ilustračný obrázok:
Pridať nový komentár