康威生命遊戲

康威生命遊戲

劍橋大學約翰·何頓·康威(John Horton Conway)教授設計了一個叫做“生命遊戲”的電腦程式,美國趣味數學大師馬丁·加德納(Martin Gardner,1914-2010)通過《科學美國人》雜誌,將康威的生命遊戲介紹給學術界之外的廣大瀆者,一時吸引了各行各業一大批人的興趣,這時細胞自動機課題才吸引了科學家的注意。

生命遊戲概述

生命遊戲(Game of Life)沒有遊戲玩家各方之間的競爭,也談不上輸贏,可以把它歸類為仿真遊戲。事實上,也是因為它模擬和顯示的圖像看起來頗似生命的出生和繁衍過程而得名為“生命遊戲”。在遊戲進行中,雜亂無序的細胞會逐漸演化出各種精緻、有形的結構;這些結構往往有很好的對稱性,而且每一代都在變化形狀。一些形狀一經鎖定就不會逐代變化。有時,一些已經成形的結構會因為一些無序細胞的“入侵”而被破壞。但是形狀和秩序經常能從雜亂中產生出來。

生命遊戲是一個二維格線遊戲,這個格線中每個方格居住著一個活著或死了的細胞。一個細胞在下一個時刻的生死取決於相鄰8個方格中活著或死了的細胞的數量。如果相鄰方格活著的細胞數量過多,這個細胞會因為資源匱乏而在下一個時刻死去;相反,如果周圍活細胞過少,這個細胞會因為孤單而死去。在遊戲初始階段,玩家可以設定周圍活細胞(鄰居)的數目和位置。如果鄰居細胞數目設定過高,格線中大部分細胞會因為找不到資源而死去,直到整個格線都沒有生命;如果鄰居細胞數目設定過低,世界中又會因為生命稀少而得不到繁衍。實際中,鄰居細胞數目一般選取2或者3;這樣整個生命世界才不至於太過荒涼或擁擠,而是一種動態平衡。遊戲規則是:當一個方格周圍有兩個或3個活細胞時,方格中的活細胞在下一個時刻繼續存活;即使這個時刻方格中沒有活細胞,在下一個時刻也會“誕生”活細胞。在這個遊戲中,還可以設定一些更加複雜的規則,例如當前方格的狀態不僅由父一代決定,而且還考慮到祖父一代的情況。

每個方格中都可放置一個生命細胞,每個生命細胞只有兩種狀態:

“生”或“死”。用黑色方格表示該細胞為“生”,空格(白色)表示該細胞為“死”。或者說方格網中黑色部分表示某個時候某種“生命”的分布圖。生命遊戲想要模擬的是:隨著時間的流逝,這個分布圖將如何一代一代地變化。

生命遊戲的生存定律

遊戲開始時,每個細胞隨機地設定為“生”或“死”之一的某個狀態。然後,根據某種規則,計算出下一代每個細胞的狀態,畫出下一代細胞的生死分布圖。

應該規定什麼樣的疊代規則呢?需要一個簡單的,但又反映生命之間既協同又競爭的生存定律。為簡單起見,最基本的考慮是假設每一個細胞都遵循完全一樣的生存定律;再進一步,把細胞之間的相互影響只限制在最靠近該細胞的8個鄰居中。

也就是說,每個細胞疊代後的狀態由該細胞及周圍8個細胞目前的狀態所決定。作了這些限制後,仍然還有很多方法來規定“生存定律”的具體細節。例如,在康威的生命遊戲中,規定了如下生存定律。

(1)當前細胞為死亡狀態時,當周圍有3個存活細胞時,則疊代後該細胞變成存活狀態(模擬繁殖);若原先為生,則保持不變。

(2)當前細胞為存活狀態時,當周圍的鄰居細胞低於兩個(不包含兩個)存活時,該細胞變成死亡狀態(模擬生命數量稀少)。

(3)當前細胞為存活狀態時,當周圍有兩個或3個存活細胞時,該細胞保持原樣。

(4)當前細胞為存活狀態時,當周圍有3個以上的存活細胞時,該細胞變成死亡狀態(模擬生命數量過多)。

可以把最初的細胞結構定義為種子,當所有種子細胞按以上規則處理後,可以得到第1代細胞圖。按規則繼續處理當前的細胞圖,可以得到下一代的細胞圖,周而復始。

上面的生存定律當然可以任意改動,發明出不同的“生命遊戲”。

相關詞條

熱門詞條

聯絡我們