Igra Život

Praktikum iz operativnih sistema

Sadržaj:

Igra – Život	3

Uvod	3

Istorija	3

Pravila	3

Karakteristične šeme	4

O kôdu	5

Zašto je “Život” interesantan?	6

Igra – Život

Uvod

Igra “Život” nije zapravo klasična igra. Ne postoje igrači u njoj. Ona vise predstvavlja vrstu simulacija i ilustruje situacija automatizovanog organozovanja ćelija . Danas se ova igra koristi u raznim sistemima za simulaciju realnih situacija.

Istorija

Igru “Život” izmislio je Džon Konvej (John Conway) 1970-te godine. Nakon dugog proučavanja kakva bi pravila preživljavanja/umiranja trebalo primeniti imao je uspone i padove, nekada su ćelije prebrzo umirale, a nekada su se neprestano rađale. Na kraju pažljivo je izabrao pravila, takva da za nasumično rasporežene ćelije nije jednostavno reći da li će u potpunosti izumreti, formirati oblik koji se neće nikad promeniti ili će se , pak, neograničeno rađati.

Pravila

Univerzum igre “Život” predstvavlja dvodimenziona tabla (u programu matrica) koja je izdeljena na ćelije. Svaka ćelije može imati jedno od dva stanja, može biti živa ili mrtva. Ćelije interaguju sa svojim komšijama. Za komšiju određene ćelije smatra se svaka ćelija neposredno pored posmatrane ćelije i to horizontalno, vertikalno i dijagonalno (poput osmosmerke). Komšije su takođe i ćelije na krajevima table (tabla se može zamisliti kao lopta).

Komšije Komšije Komšije

Pravila su dakle vrlo jednostavna, ali pažljivo odabrana:

svaka živa ćelija koja ima manje od dvoje komšija umire, od usamljenosti

svaka živa ćelija koja ima više od troje komšija umire, od prenaseljenosti

svaka živa ćelija koja ima dvoje ili troje komšija, ostaje živa do sledeće generacije

svaka mrtva ćelija koja ima tačno troje komšija postaje živa

Inicijalno se postavlja raspored ćelija ručno, a zatim se gore navedena pravila primenjuju na tu, tzv. prvu generaciju. Pravila se primenjuju redom na svaku ćeliju pojedinačno. Dalje, pravila se primenjuju kako bi se dobile naredne generacije.

Karakteristične šeme

Postoje razne šeme koje se mogu pojaviti u igri “Život”, ali tri grupe šema koje se održavaju, i nikad ne umiru, su karakteristične. U toj grupi nalaze se:

statične šeme

oscilatorne šeme

svemirski brodovi

Statične šeme su šeme koje održavaju svoj oblik iz generacije u generaciju, i nikad ga ne menjaju. Takve šeme su npr. popularno nazvani blok i čamac (brod).

Blok	Čamac	Brod

Oscilatorne šeme su šeme koje takoreći osciluju, tj. svake druge generacije imaju isti oblik. Primeri takvih šema su žmigavac i žaba.

Žmigavac	Žaba

Kada su svemirski brodovi u pitanju može se reći da su to šeme koje kao da se kreću po tabli. Najbolji primeri takvih šema su “pero-laki” svemirski brod i penjač.

“pero-laki” svemirski brod	penjač

O kôdu

Centralno mesto u programu pripada dvema klasama. Klasa Matrica, je klasicna klasa koja predstavlja matricu. Opremeljena je svim metodama koja su potrebne za udobno korišćenje jedne matrice. Tu je konstruktor koji postavlja matricu na zadatu širinu i visinu, zatim konstruktor koji omogućava inicijalizaciju matrice nekim elementom, a vredi jos pomenuti i metodu koja menja velicinu matrice. U samom programu postoje dve matrice koje predstavljaju generacije, a tu su i dva pokazivača na matrice za tekuću i narednu generaciju.

Druga i glavan klasa je klasa IgraZivot. To je klasa koja obavalja zapravo sav posao vezan za igru. Od interesa su sledeće metode:

IzracunajSledecuGeneraciju-centralna metoda. Ona računa sledeću generaciju na osnovu tekuće. U petlji se kreće po matrici i najpre izbroji koliko suseda im jedna ćelija, a zatim se na tu ćeliju primene i pravila preživljavanja.

Citaj – metoda koja iz zadate datoteke čita stanje matrice.

Prikaži – ispisuje sadržaj matrice na glavni na zadatu lokaciju (datoteku ili glavni izlaz).

U glavnom programu se nalazi interfejs koji nudi korisniku opcije citanja, uspisivanja u datoteku i računanja sledeće generacije.

Zašto je “Život” interesantan?

Igra “Život” je jedan od najjednostavnijih primera tzv. “samo-organizujućih sistema”. Ova tema zaokuplja pažnju velikog broja naučnika iz raznih oblasti. U studijama zaključuju se šeme ponašanja koje mogu da se izrode iz veoma jednostavnih pravila. Igra “Život” nam može pomoći da shvatimo kako funcionišu neki delovi žive prirode npr. kako se formiraju zebrine pruge iz živih ćelija. Na kraju može nam pomoći čak i da možda shvatimo kao se život razvijao na Zemlji.

-termin koji je Džon Konvej ustanovio za jedinke, tj. pojla.

-naziv koji je sam Konvej dao.

Milan Boričić 239/04	jun 2006.

Milan Boričić

2006-06-03T19:01:57