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

生命遊戲,與其規則

  生命遊戲(Game of Life)是二維的細胞自動機,由劍橋大學的數學家 John Horton Conway 於 1970 年所提出的。他構想 :一群細胞於平面中以一定的條件成長時,會受到什麼制約 ?他認為細胞不會無限制的成長,於是他定義細胞在過度孤單與擁擠時會死亡,這樣的構想使他提出比 John von Neumann 的設計更為簡單的細胞自動機。在這個細胞自動機中,把平面分割成很多方格子(類似棋盤),每一格子代表一個細胞,每一個細胞有八個鄰居,這些細胞有兩種狀態:「生」或「死」,存活的細胞我們在方格內塗上特定單一的顏色,而死亡的細胞我們則不塗色。Conway 生命遊戲的規則(我們稱為 Life Rule)敘述如下:

◆ 對於存活的細胞(塗色的方格):
  當八個鄰近細胞中,只有零個或一個是活細胞時, 則該細胞會因孤獨而死亡
  當八個鄰近細胞中,恰有二或三個是活細胞時,則該細胞繼續存活
  當八個鄰近細胞中,有四個或超過四個是活細胞時,則該細胞會因擁擠而死亡
◆ 對於死亡的細胞(未塗色的空方格):
  當八個鄰近細胞中,恰有三個是活細胞時,則該處誕生一個活細胞

或者,我們也可以這樣表示規則:

◆ 對於存活的細胞:
  當有二或三個存活的鄰近細胞時,才能繼續存活(表示為 Survivals=23)
◆ 對於死亡的細胞:
  當恰有三個存活的鄰近細胞時,則誕生活細胞(表示為 Births=3)

我們可以將規則合起來表示成 Life Rule=S/B=23/3,這樣的表示法,我們稱為「規則通用表示法」,這種表示法以後會常常用到

  生命遊戲的規則就是這麼簡單 。當 Conway 提出生命遊戲後,馬上造成轟動,不只是一些普通人在玩,而一些有名的數學家及電腦學家也樂此不疲。造成轟動的原因是,沒有人想到僅僅幾條簡單的規則,竟然就能產生類似於生命演化過程中無比複雜的現象。當你把這幾個簡單的規則變成電腦程式以後,它們似乎真的會讓電腦螢幕活起來。

  用心注視,螢幕上活躍著各種動作,就好像你用顯微鏡觀察一滴池塘水所見到的微生物一樣。開始的時候,你可以讓螢幕上隨意散布著活細胞,然後就會看到它們自我組織成各式各樣連貫性的結構。有的會滾動,有的好像野獸呼吸一般來回震盪,你還可以發現「滑翔機」--一群活細胞以固定的速度滑過螢幕,還有「滑翔機─機關槍」穩定的發射出新的滑翔機,以及其他結構不動聲色的把滑翔機一一吃掉。你或許還可看到一隻優閒的金魚,搖頭晃腦地上下擺動,然後消失在池塘邊。每一次出現的畫面都不一樣,沒有人看過所有可能的畫面。你將在下個單元看見這些範例 ,不過在看見那些景象之前,筆者必須先介紹 Conway 生命遊戲中簡單的穩定結構的幾個例子,我們可以將這些穩定的結構分成三類:

  ◆ 第一類:在疊代過程中,細胞群不會改變其狀態(形狀)。

  ◆ 第二類:在疊代過程中,細胞群會在有限的疊代次數內週期循環其狀態(形狀),最著名的代表就是所謂的「閃光燈」(blinker)。

  ◆ 第三類:是第二類的延伸,除了會週期循環其狀態(形狀)之外,還會穩定地移動,最有名的代表就是所謂的「滑翔機」(glider)。

  像滑翔機這種會移動並維持形態的結構,似乎能夠在生命遊戲中扮演傳遞訊號的角色 。能夠產生「滑翔機」的生命遊戲,代表著它具有訊號儲存與訊號傳遞的功能,而訊號(資料)的儲存與傳遞(像是 DNA )是生物演化機制的重要特徵,也是建構一台電腦的必要條件, 這符合 von Neumann 當初的看法:細胞自動機可以建構一個以人工生命為計算單位的電腦雛形。同樣地, Conway 也指出,飛行的滑翔機可以想像成川流不息的位元,滑翔機若能與其他滑翔機做巧妙的結合,便可以做符號運算,例如滑翔機的碰撞相當於邏輯閘,入射機群為輸入,而碰撞後的碎片為輸出, Conway 用數學去證明生命遊戲在邏輯上,足以涵蓋多用途數位電腦的全部功能,他甚至認為細胞自動機可以成為一部萬用電腦。雖然 von Neumann 與 Conway 的理論構想是成立的,但是目前還沒有人實際做出來。

  介紹了幾個簡單的穩定結構,想必這些例子是無法滿足你的好奇心。在下一個單元,筆者將介紹 Conway 生命遊戲中幾個比較複雜的著名範例。



  上一層 第二頁