Sakaru Pasaule - Žurnāls par
modernām komunikācijām

  
  


Atpakaļ Jaunais numurs Arhīvs Par mums Meklēšana

Dzīves spēle joprojām dzīva

   

 

Kā radās spēle Dzīve?

Spēle Dzīve nav tipiska datorspēle. Drīzāk tas ir šūnu automāts, ko izgudroja Kembridžas matemātiķis Džons Konvejs. Spēle kļuva plaši pazīstama pēc tās apraksta publikācijā žurnālā Scientific American 1970. gadā. Spēli veido šūnu kolonija, kas pēc noteiktiem matemātiskiem likumiem, atkarībā no blakus šūnu skaita dzīvo vai mirst. Atkarībā no šūnu sākuma konfigurācijas spēles laikā izveidojas dažādas figūras. Spēlētājam tikai jāievada sākuma dati un jāpriecājas par rezultātu.

Šūnu automāta izveidošanas ideja ir tikpat veca kā skaitļojamās mašīnas. Pirmos šūnu automātu teorijas pētījumus 1950. gados veica matemātiķis Džons fon Neimans. Sākotnējā Neimana doma bija radīt vienkāršu sistēmu, kas spētu veidot savas kopijas, kā to dara dzīvi organismi. 1970. gadā britu zinātnieks Džons Konvejs (Jon Conway) aprakstīja šūnu automātu, kura darbību imitēja vēlāk plaši pazīstamā spēle Dzīve.

 

Spēles izgudrotājs Džons Konvejs

Džona Konveja tēvs strādāja par asistentu ķīmijas laboratorijā. Kaut arī Džonam bērnībā nebija īstas skaidrības par to, ko dara matemātiķi, viņš jau pamatskolas laikā vēlējās kļūt par matemātiķi un viņu visvairāk interesēja matemātika un astronomija.

Pēc skolas beigšanas Džons Konvejs iestājās koledžā Kembridžā, lai mācītos matemātiku. 1959. gadā Konvejs ieguva bakalaura grādu un turpināja pētījumus skaitļu teorijā. 1964. gadā Konvejs ieguva doktora grādu un sāka strādāt par matemātikas pasniedzēju Kembridžas universitātē.

Ievērību matemātiķu vidē Konvejs ieguva 1968. gadā ar pētījumiem grupu teorijā. Taču ievērību ārpus matemātiķu vides Konvejs ieguva ar spēli Dzīve. Konvejs jaunizgudroto spēli parādīja draugam matemātiķim Martinam Gardneram, kurš 1970. gada oktobrī to aprakstīja žurnālā Scientific American. Ar Konveja spēles modelēšanu uz skaitļotājiem aizrāvās programmētāji daudzās pasaules valstīs. Spēli Dzīve var uzskatīt par šūnu automāta modeli. Konveja izgudrojums bija dzinulis sākt pētījumus jaunā matemātikas nozarē - šūnu automātu teorijā.

Arī pēc spēles Dzīve radīšanas Konvejam bija panākumi matemātisko teoriju izstrādē. Viņam bija pētījumi arī grupu teorijā, skaitļu teorijā, spēļu teorijā, kodēšanas teorijā un citās jomās. 1976. gadā Džons Konvejs sarakstīja grāmatu Par skaitļiem un spēlēm (On Numbers and Games). Tā bija grāmata par bezgalīgu skaitļu teorijas un matemātisku spēļu saistību. Tajā aprakstīts nevis, kā izmantot loģiku un skaitļus, lai uzvarētu spēlē, bet gan parādīts, kā ar spēles palīdzību var aprakstīt skaitļus. 1986. gadā Konvejs pēc Džona Neimaņa uzaicinājuma atstāja Kembridžu un devās uz Prinstonu ASV, kur pievērsās pētījumiem kristālisko režģu ģeometrijā. 1987. gadā Konvejs saņēma Poliā balvu Londonas Matemātiķu biedrībā.

 

Kā Dzīve ietekmēja turpmākos pētījumus par šūnu automātiem

Pēc 1970. gada pētījumi šūnu automātu jomā ieguva jaunus pavērsienus. Savstarpēji ietekmējošos šūnu kopumus sāka uzskatīt par reālu fizisku sistēmu – sniegpārsliņu, Galaktikas u. c. – modeļiem. Taču pats interesantākais ir tas, ka šūnu automāti paši kļuva par izpētes objektiem, pat ja arī tos nebija iespējams saistīt ar reāliem modeļiem.

Par nozīmību liecina arī Losalamosas nacionālajā laboratorijā izveidotā darba grupa, kas veica pētījumus šūnu automātu teorijā. Šūnu automātus raksturo četri raksturlielumi. Pirmais, šūnu sākotnējais izvietojums veido noteiktu ģeometrisku struktūru. Sniegpārslas modelī tie ir sešstūri divdimensiju plaknē. Visbiežāk tiek pētīti šūnu automāti, kuros šūnas attēlotas kā kvadrātiņi taisnstūrveida režģī. Taču ir bijuši arī pētījumi, kuros šūnas tiek izvietotas ķēdēs cita aiz citas.

Otrkārt, nepieciešams definēt apkārtni, kuru šūna analizē, lai izskaitļotu savu nākošo stāvokli. Divdimensiju taisnstūrveida struktūrās tiek analizētas blakus šūnas, kuras pieskaras šūnai ziemeļu, dienvidu, austrumu, rietumu pusē un kuras dēvē par Neimana apgabalu. Šūnas, kuras pieskaras šūnai ziemeļu, dienvidu, austrumu, rietumu pusē un arī vēl stūros, dēvē par Mūra apgabalu. Skaidrs, ka ir šūnas, kuras vienlaikus var atrasties dažādos apgabalos.

Treškārt, jāņem vērā šūnas iespējamais stāvokļu skaits. Džona fon Neimana teorētiskajos darbos aprakstītā šūnu automāta šūnas varēja atrasties 29 dažādos stāvokļos, taču visbiežāk šūnu automātos tiek izmantoti divi stāvokļi: 1 un 0 (ieslēgta–neieslēgta, dzīva–mirusi). Ceturtkārt, jāapraksta likumi, kas nosaka šūnas pāreju citā stāvoklī.

Tiek pētīti likumi, kas ieslēdz centrālo šūnu. Šāda tipa likumiem atbilst dažādi fiziskie modeļi, kuriem raksturīga aktīvo centru veidošanās, piemēram, kristālu augšanas, šķidrumu vārīšanās un citos procesos.

Interesants pētījumu objekts ir šūnu automāti, kuriem šūnas apkārtne sastāv piecām šūnām: no Neimana apgabala un pašas šūnas. Šūna dzīvo, ja trīs no apkārtnes šūnām ir dzīvas. Pati sistēma dzīvo, ja tajā sākotnēji vismaz puse šūnu ir dzīvas. Ja maina izdzīvošanas noteikumus un ļauj šūnai dzīvot, ja tās apkārtnē ir tieši divas dzīvas šūnas, tad sistēma dzīvo, ja tajā sākotnēji ir ne mazāk 8,3 procenti dzīvu šūnu.

Pirms šūnu automātu teorijas rašanās pastāvēja uzskats, ka matemātisko pasaules modeli var aprakstīt ar diferenciālvienādojumu sistēmu. Visi šīs sistēmas mainīgie bija nepārtraukti, plūstoši mainīgi. Turpretī šūnu automāts ir diskrēta sistēma, kurā Visums tiek pārstāvēts ar šūnu kopumu, laiks sadalīts diskrētās, secīgās daļās, kā arī automāta šūnas var atrasties galīga skaita stāvokļos. Gan diferenciālo vienādojumu atrisinājumu aprēķinos, gan diskrēto šūnu evolūcijas aprēķinos var izmantot datorus. Taču ar skaitļotājiem var iegūt tikai tuvinātus, aptuvenus diferenciālvienādojumu atrisinājumus, bet šūnu automātos šūnu evolūciju katrā solī var aprēķināt precīzi.

 

Kā programmēja spēli Dzīve?

Tā kā spēle Dzīve atgādina organismu sabiedrības rašanos, izzušanu un pārveidošanos, to var attiecināt uz simulāciju spēlēm, spēlēm, kas imitē reālus dzīves procesus. Publikācija par Konveja spēli piesaistīja lielu interesi, jo bija pārsteidzoši daudz interesantu veidu, kā evolucionēja sākotnējās šūnu kolonijas.

Pirmie spēles Dzīve rezultāti tika iegūti bez skaitļotāju palīdzības. Vienkāršu šūnu izkārtojumu evolūcija tika attēlota, izmantojot rūtiņu papīru vai galda spēļu laukumus un kauliņus. Sākotnējā šūnu izvietojumu evolūcija bija tik pārsteidzoša, ka rosināja programmētājus visā pasaulē rakstīt datorprogrammas, kas atspoguļotu šūnu evolūciju. Vienkāršākajos spēles programmēšanas variantos tika izmantoti divi divdimensiju masīvi – vienā glabāja informāciju par pašreizējo šūnu kolonijas stāvokli, savukārt otrajā glabāja izskaitļoto šūnu kolonijas stāvokli nākošajā gājienā.

Kaut arī pēc noteikumiem spēles Dzīve laukumam jābūt bezgalīgam, taču skaitļotājiem atmiņas resursi ir ierobežoti un programmētājiem bija jāatrisina jautājums, ko darīt tad, ja šūnu izvietojums laukumā evolūcijas gaitā šķērso pieļautās robežas. Vienkāršākais risinājums bija ļaut robežu šķērsojošai šūnai mirt. Atjautīgāks risinājums bija savienot laukuma kreiso un labo malu, kā arī laukuma augšmalu un apakšmalu, tādējādi iegūstot toroidālu spēles laukumu. Taču tā nevarēja iegūt korektus rezultātus. Vēlāk, izmantojot dinamiskos atmiņas programmēšanas paņēmienus, varēja iegūt precīzākus rezultātus.

Pirmo datorprogrammu, kas simulē spēli Dzīve uz skaitļotāja PDP-7, uzrakstīja programmētāji Mike Guy un Stephen Bourne 1970. gadā. Patlaban internetā var atrast ļoti daudzus spēles Dzīve variantus.

 

Vai arī Latvijā kāds ir programmējis šo spēli?

2000. gadā Latvijas izglītības informatizācijas sistēmas (LIIS) projekta resurspunktā ftp://ftp.liis.lv/macmat/pedagog/sp_dzive.zip tika ievietota LU Matemātikas un informātikas institūta vadošā pētnieka, matemātiķa un datorzinātņu doktora Jāņa Sedola Dzīve programma Evo (no vārda evolūcija), ar kuru varēja pētīt šūnu koloniju evolūciju. Diemžēl patlaban programmu vairs neizdodas lejupielādēt. Taču interneta adresē http://www.liis.lv/ sadaļā mācību materiāli pēc uzvārda Sedols var atrast interesantu informāciju gan par spēles Dzīve vēsturi, gan par progammas Evo izmantošanu, gan par pazīstamākajām spēles sākuma un beigu figūrām.

 

Kur var dabūt spēli Dzīve?

Spēles Dzīve instalāciju var lejupielādēt interneta resusrspunktos: http://www.bitstorm.org/gameoflife/ , http://written.ru/programs/life/ .

 

Kā spēlēties ar spēli Dzīve?

Spēle Dzīve notiek bezgalīgā taisnstūra divdimensiju režģī, kurā šūnas var atrasties divos dažādos stāvokļos un kuru apkārtni veido Mūra apgabals. Izskaitļojot šūnas nākošo stāvokli, tiek pārbaudīts, cik dzīvu šūnu atrodas šūnas apkārtnē. Konvejs izveidoja likumu, ka, ja šūnas apkārtnē ir divas vai trīs dzīvas šūnas, šūna nākošajā gājienā dzīvo, ja mazāk nekā divas vai vairāk nekā trīsdzīvas šūnas, tad mirst.

Spēles pievilcība slēpjas apstāklī, ka tās rezultāts ir grūti uzminams. Pastāv tādi sākotnēji dzīvo šūnu izkārtojumi, kas pilnībā izmirst, ir tādi, kas pārvēršas nekustīgās vai cikliskās dzīvo šūnu kombinācijās. Taču ir atrasti arī tādi sākotnēji dzīvo šūnu izvietojumi, kas spēles procesa laikā pārvietojas (gleideri) vai šauj (ieroči). Pētījumi šūnu automātu teorijā turpinās joprojām.

Ar iepriekš minētajiem likumiem pietiek, lai radītu neiedomājamu iespēju dažādību, fantastiskas struktūras un kombinācijas. Spēles ideja ir sākt no kādas vienkāršas šūnu kombinācijas un skatīties, kas ar to notiks laika gaitā. Katrs, kas šo spēli izmēģinājis, būs pamanījis, ka struktūras, kas rodas, nereti ir visai interesantas un pilnīgi negaidītas. Dažām struktūrām, kas spēlē atkārtojas, doti nosaukumi – struktūras, kuras vairs nemainās, tiek sauktas par klusajām dabām, savukārt struktūras, kurā iestājas svārstību režīms, dēvē par mirkšķinātājiem jeb luksoforsiem. Gandrīz jebkura sākuma struktūra agri vai vēlu izbeidz savu attīstību, pārvēršoties par nedzīvu bloku, svārstekļu un planieru kombināciju. Figūra r-pentamino izbeidz savu evolūciju pēc 1103. gājiena, laidusi pasaulē sešus planierus. Bet, kas notiks ar katru konkrētu konfigurāciju, var noskaidrot, tikai pamēģinot. Izrēķināt to nespēj pat visjaudīgākie skaitļotāji.

Tas lika Konvejam aizdomāties, vai vispār ir iespējama bezgalīga evolūcija. Viņš izvirzīja postulātu, ka nav iespējama bezgalīgi augoša konfigurācija, un izsludināja 50 dolāru prēmiju tam, kas pirmais pierādīs vai apgāzīs šo postulātu. Postulātu apgāzt izdevās Masačūsetsas Tehnoloģiskā institūta matemātiķiem, kuri radīja planieru lielgabalu – struktūru, kas, atkārtojoties ik pēc 30 paaudzēm, izšauj izplatījumā planieri. Saistībā ar spēli Dzīve matemātiķi mēģināja atrisināt arī citus principiālus uzdevumus. Piemēram, vai ir iespējami tā saucamie Ēdenes dārzi – struktūras, kuras nevar rasties no kādām citām struktūrām? Tādu struktūru eksistenci pierādīja Mūrs.

Spēle imitē dzīvu organismu attīstību, attēlojot tos kā iekrāsotas rūtiņas uz neierobežotas rūtiņu papīra lapas. Izmantojot spēles noteikumus dažādām sākuma konfigurācijām, var iegūt pārsteidzošus rezultātus un izdarīt interesantus atklājumus, tāpēc spēle joprojām ir populāra. Spēli Dzīve varētu saukt par intelektuālu rotaļlietu, ar kuru var veidot un pētīt dažādas figūras. Tā ir aizraujoša, jo paver neierobežotas iespējas meklēt jaunas figūras ar interesantām īpašībām.

Figūrām ar lielu dzīves ilgumu beigu stāvoklis parasti sastāv no daudzām sīkām figūriņām, kas izkaisītas lielā platībā un ko sauc par atlūzām. Deviņām biežāk sastopamajām atlūzām ir doti nosaukumi: trejacis, bloks, kaste, planieris, laiva, kuģis, strops, karaša, dīķis.

Te ir tikai dažas no izpētītajām un aprakstītajām spēles Dzīve dzīvo šūnu sākumkombinācijām. Pārbaudīt, kas notiek ar šīm figūrām, var, uzzīmējot tās kādā no daudzajām spēles Dzīve programmu versijām.

Velta MIKA

 
Design and programming by Anton Alexandrov - 2001