Igra Život

Izvor Wikipedia, besplatna enciklopedija

( http://en.wikipedia.org/wiki/Conway%27s_Game_of_Life ).

"Igra Život" ili jednostavno "Život" je celularni automat koji je razvio 1970. godine Britanski matematičar John Horton Conway. (^)

Nastanak igre

Četrdesetih godina dvadesetog veka matematičar John Von Neumann je započeo razvoj mašine koja je sposobna da reprodukuje samu sebe, da stvori sopstvenu kopiju. U tome i uspeva kada je napravio matematički model za takvu mašinu sa izuzetno komplikovanim pravilima na kvadratnoj mreži. Simplifikujući pravila za ovakvu mašinu Conway stvara celularni automat koji dobija naziv "Igra Život". Igra se prvi put pojavljuje u javnosti 1970. godine, kada izaziva veliko interesovanje naučne javnosti cele planete. Pročitajte originalni članak na gore navedenoj adresi.

Opis celularnog automata

Mreža

Igra se odvija na dvodimenzionalnoj pravougaonoj mreži ćelija.

Stanja ćelija

Svaka ćelija može da zauzme samo jedno od ukupno dva moguća stanja, "živa" ili "mrtva".

"živa" je reprezentovano u mreži popunjenom ćelijom.

"mrtva" je reprezentovano u mreži praznom ćelijom.

Pravila

Svaka ćelija utiče na susedne "Ćelije komšije" koje su raspoređene oko nje horizontalno, vertikalno i dijagonalno.

Svaka "živa" ćelija koja ima manje od dve "žive" ćelije komšije umire zbog usamljenosti.

Svaka "živa" ćelija koja ima dve ili tri "žive" ćelije komšije opstaje jer su to idealni uslovi za održanje života.

Svaka "živa" ćelija koja ima više od tri "žive" ćelije komšije umire zbog prenaseljenosti.

Svaka "mrtva" ćelija koja ima tačno tri "žive" ćelije komšije oživi.

Početni raspored sa zauzetim osnovnim stanjima ćelija se još naziva i "seme" sistema.

Prva generacija nastaje primenom pravila istovremeno na svaku ćeliju u "semenu".

Rađanje i izumiranje ćelija je simultano i odigrava se u određenom trenutku koji se još i naziva "otkucaj".

Jedna od opšte prihvaćenih notacija pravila :

Pravilo ( B / S )

S - označava broj živih ćelija komšija neophodnih da bi posmatrana ćelija preživela (eng. S od survival = srb. preživljavanje)

B - označava broj živih ćelija komšija neophodnih da bi posmatrana ćelija oživela (eng. B od birth = srb. rađanje)

Pravila koja se primenjuju u igri život su po tome klasifikovana kao Pravilo ( B3/S23 ),

ćelije preživljavaju ako imaju 2 ili 3 žive ćelije komšije, a rađaju se kada imaju tačno 3 žive ćelije komšije.

Postoje i mnoga druga pravila kao recimo Pravilo (B36/S23),

ćelije preživljavaju ako imaju 2 ili 3 žive ćelije komšije, a rađaju se kada imaju tačno 3 ili 6 živih ćelija komšija.

Proučite sledeći link koji opisuje mnoga pravila koja se tiču celularnih automata ( ^ ).

Posmatranje

Posmatranje se prekida posle određenog broja generacija koje odredi sam posmatrač,

ukoliko početni raspored ćelija s dodeljenim stanjem ćelijama dovede do negativnog razvoja života u mreži

odnosno sve ćelije izumru, ili dok se ne ostvari neki drugi uslov, recimo raspored stanja ćelija počne da se periodično

ponavlja , takozvani "oscilator".

Primer

Igra se odvija na dvodimenzionalnoj mreži ćelija dimenzija 15 x 15 u kojoj su

"žive" ćelije reprezentovane simbolom zvezdice "*",

"mrtve" ćelije reprezentovane simbolom tačke "."

Početni Raspored T = 0 Generacija 1 T = 1 Generacija 2 T = 2 Generacija 3 T = 3

............... ............... ............... ...............

............... ............... ............... ...............

............... ............... ............... ...............

............... ............... ............... ...............

............... ............... ............... ...............

............... ............... .......*....... ......***......

............... ......***...... ......***...... .....*...*.....

.....*****..... ......***...... .....**.**..... .....*...*.....

............... ......***...... ......***...... .....*...*.....

............... ............... .......*....... ......***......

............... ............... ............... ...............

............... ............... ............... ...............

............... ............... ............... ...............

............... ............... ............... ...............

............... ............... ............... ...............

Generacija 4 T = 4 Generacija 5 T = 5 Generacija 6 T = 6 Generacija 7 T = 7

............... ............... ............... ...............

............... ............... ............... ...............

............... ............... ............... ...............

............... ............... .......*....... ...............

.......*....... ......***...... .......*....... ......***......

......***...... ............... .......*....... ...............

.....*.*.*..... ....*.....*.... ............... ....*.....*....

....***.***.... ....*.....*.... ...***...***... ....*.....*....

.....*.*.*..... ....*.....*.... ............... ....*.....*....

......***...... ............... .......*....... ...............

.......*....... ......***...... .......*....... ......***......

............... ............... .......*....... ...............

............... ............... ............... ...............

............... ............... ............... ...............

............... ............... ............... ...............

Posle četvrte generacije, primenom pravila na mreži ćelija, raspored stanja ćelija se ponavlja svake druge generacije, i taj slučaj u rasporedu stanja ćelija se zove "oscilator" ili "žmigavac". "Život" je dostigao stabilnost i stalan broj ćelija. U početku, posmatranje se ostvarivalo uz pomoć papira i olovke, da bi sa razvojem savremenih kompjutera sve postalo lakše uz kvalitetne kompjuterske programe koji simuliraju celularni automat i omogućavaju kvalitetno posmatranje primene mnogih varijacija pravila ( ^ ).

Kompjuterski program

Desno se nalazi slika iz programa "Game of Life" koji predstavlja simulator istoimenog celularnog automata, Pravila ( B3 / S23 ) ali i ograničenjem dimenzija mreže ćelija na 40 x 40. Klikom na sliku započinjete proces preuzimanja besplatne verzije programa. Program je napisan kao windows form aplikacija u programskom jeziku C# , IDE Sharp Develop.Korisnički interfejs sve govori. U prvo polje unesite željeni broj generacija koje želite da generišete, klikom na polja u mreži postavljate stanja ćelija na "živa"="zvezdica" ili "mrtva"="prazno". Po raspoređivanju "semena", kliknite na "New life" i posmatrajte razvoj života. Ukoliko želite možete da pauzirate razvoj novih generacija, a potom da klikom na strelicu desno posmatrate rađanje svake sledeće generacije ćelija pojedinačno. Srednje brojčano polje pokazuje broj živih ćelija u mreži. Klikom na "Clear table" resetujete kompletan celularni automat, sva stanja ćelija su postavljena na "mrtva", i broj generacija je postavljen na 100. Ukoliko ima nejasnoća proučite help. Za ispravan rad programa neophodan je .Net framework 4.0 ( ^ ) ! Ukoliko želite da vidite programski kod preuzmite kompletan projekat na dole navedenom linku.Kod možete da promenite i primenite druga pravila.