Igra Življenja


 

Narejeno z NetLogo-om
Izvorna datoteka: Zivljenje.nlogo

KAJ JE TO?

Ta program je primer dvorazsežnega celičnega avtomata (ang. cellular automation). Celični avtomat je računski stroj, ki izvaja neka opravila po določenih pravilih. Lahko si jo predstavljamo kot ploščo, ki je razdeljena na polja (podobno kot šahovnica). Vsaka celica je lahko "živa" ali "mrtva". To imenujemo "stanje" celice. Glede na podana pravila bo vsaka celica v naslednjem časovnem koraku bodisi živa, bodisi mrtva.
Ta program ponazarja celično avtomatizacijo, ki se imenuje Igra življenja. Pravila te igre so naslednja. Vsaka celica preveri svoje stanje in stanja svojih osmih sosedov in na podlagi tega nastavi svoje stanje na "živa" ali "mrtva". Če sta okoli nje manj kot dva živa soseda, celica umre. Če so okoli nje več kot trije živi sosedi, celica umre. Če sta ob njej dva živa soseda, celica ohrani svoje obstoječe stanje. Če so okoli nje natanko trije živi sosedi, celica oživi. To se dogaja vzporedno in se nadaljuje v neskončnost.
Obstajajo določene ponavljajoče se življenjske strukture, na primer "jadralec" in "utripalec". Jadralec je sestavljen iz petih celic, razporejenih v obliki puščice:

           X
            X
          XXX
Jadralec se pomika po zaslonu in ohranja svojo obliko. Utripalec je vrsta treh celic (prečna ali pokončna), ki vsakič zamenja smer (iz prečne v pokončno in obratno).