複雜性科學 - 複雜適應性系統人工生命細胞自動機 思辨 部落格 信箱 阿特拉斯

生命遊戲的有趣範例

  在瞭解生命遊戲的規則,與幾個簡單的穩定結構後,筆者接著要舉一些較為複雜的例子,讓你更進一步瞭解,生命遊戲之所以讓眾多玩家愛不釋手的潛在魅力。為了循序漸進地操作這些範例,所以,筆者把範例分為兩階段,第一階段是較小尺寸的例子,第二階段便是宏偉壯觀的形態變化。下面有兩個 Java Applet,分別包含這兩階段的範例。

  這些 Java Applet 分成上、中、下三個部分,分別解說如下:

◆ 上端的部分顯示範例選單與三個控制按鈕:
  ● 範例選單的「Clear」選項可以清除畫面
● 範例選單的「Random」選項可以隨機設定初始狀態
●「Start」按鈕,按下之後,便開始連續的疊代過程
●「Step」按鈕,按下之後,可以單步執行個別的疊代演算
●「Stop」按鈕,按下之後,可以讓你暫停所有的疊代演算
◆ 中間的部分顯示細胞疊代過程的圖像:
    當格子設定成很小時,便不畫出格線。當你用滑鼠在方格間移動時,你可以在瀏覽器的狀態列看見滑鼠的所在座標,與該處細胞的狀態,與其(正常存活的)鄰居數;當你用滑鼠在方格中輕按時,你便可以把死細胞變成活細胞,活細胞變成死細胞,自己可以訂作出想要的細胞形態。
◆ 下端的部分顯示疊代狀態與目前生命遊戲所設定的規則:
  ● 疊代標籤:顯示目前是否正進行疊代演算
● 規則標籤:使用的是「規則通用表示法」,在這裡 Conway 生命遊戲的規則表示
  成 23/3,或 23/3/0,下個單元筆者將開始介紹不同規則的生命遊戲。

  想要瞭解更多這個 Java Applet 的細節嗎?請按 這裡


第一階段

  這是大小 50x50 的生命遊戲 ,總共有 21 個範例,這些範例都會維持一定的穩定形態。當然,像這樣從一開始就呈現穩定形態的範例,是由於我們刻意安排其初始狀態的緣故。生命遊戲有個非常重要的特徵,就是這個系統對於環境的任何改變是非常敏感的,這個影響可能造成原本穩定的狀態陷入不規則的紊亂之中。例如,當我們在這些範例的疊代過程中,任意加入一個活細胞,就很有可能馬上破壞畫面中原本維持的穩定性,這會使得畫面陷入一陣混亂,而我們要問:混亂過後,會發生什麼事呢?

  就 Conway 生命遊戲的規則而言(下面所提的結論,不見得對其他規則的生命遊戲是有效的),不管初始的圖像是什麼,也不管一開始疊代就是穩定的還是混沌的,生命遊戲最後都會傾向出現穩定的細胞生態。到最後,整個圖像會由幾個穩定的(靜態的,週期式的,與移動而週期式的)分群所組成,或者到最後,所有的細胞都會滅絕。因此, Conway 的生命遊戲可以看成是對達爾文演化論的模擬,族群最後會適者生存,不適者淘汰,而達成穩定的形態。



第二階段

  這是大小 100x100 的生命遊戲, 總共有 13 個範例,大多數範例會維持一定的穩定形態。Conway 提出生命遊戲後,便試圖藉著簡單規則去模擬類似生命型態的複雜行為 。他相信,生命遊戲中的「有機物」可以表現出類似於真實世界中細胞的行為:移動、生長、複製與進化,甚至是思考。我們無法肯定,Conway 的生命遊戲能否完全做到這些模擬, 因為真實生命的進化方向總是從低級發展至高級的穩定性,並且這種高級的穩定性是建立在不同分群間彼此交換物質與能量的基礎上,而生命遊戲最後達成的穩定性卻「不見得」比原初時高級,往往生命遊戲的分群發展到最後,並沒有交換物質與能量的跡象。這麼說來,生命遊戲對於我們模擬生命現象似乎有著一大段的差距?

  其實,當我們仔細觀察生命遊戲的疊代變化時,會發現生命遊戲展現著超出我們預期的複雜度。許多科學家心裡問著:有沒有可能藉著一組相關的簡單規則,去模擬複雜而表面看起來隨機的世界呢?我們從生命遊戲中,可以肯定:簡單的規則的確可以表現出極其複雜的疊代變化。生命遊戲對於生命模擬的真正啟發,其實在於它告訴我們:表面看起來不重要與不相關的規則,彼此「作用」的結果卻導致複雜而「非線性」的形態變化,換句話說,複雜行為的突現現象,可以從簡單的規則中發展出來。這對於生命現象的理解給了關鍵性的貢獻,真實世界中生命演化的過程,可能也是循此途徑而開啟的。

  對於剛接觸生命遊戲的初學者而言,不需要一開始就思索這麼學術的問題,建議你可以試著用滑鼠「按」出幾個活細胞來,觀察畫面的變化,這樣你會更理解這個遊戲的迷人之處。

  生命遊戲本身還有許多可以探討的部分,接下來的三個單元,筆者將介紹生命遊戲的規則變化,從這些規則的變化我們將發現:其中幾個不同的規則會比 Conway 所提出的規則,更能夠貼近生命行為的模擬,它們疊代到最後可能不是穩定的,而是混沌,或是介於兩者之間。



第一頁 上一層 第三頁