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

一維細胞自動機,與其規則(一)

  在生命遊戲日漸風靡之時 ,普林斯頓高等研究院的 Stephen Wolfram 於 1980 年代開始研究更簡單的一維細胞自動機(One-Dimensional Cellular Automata)。 在一維細胞自動機中 , 細胞只能生存在一列緊連的方格裡,每個細胞有左右兩邊的鄰居,細胞在指定規則的疊代演算之後只能處於不同狀態的其中之一,其中一組最簡單的狀態就是:「生」或「死」,存活的細胞我們在方格內塗上特定單一的顏色,而死亡的細胞我們則不塗色。你可能會覺得疑惑,我們很容易從平面的生命遊戲中分辨出群落的聚散模式,那一維細胞自動機呢?難道我們只能看到一列方格在做莫名的顏色變化嗎?為了讓一維細胞自動機,能夠呈現如生命遊戲那般的二維視覺效果,我們把新一次疊代的結果畫在前一代的下方,等到進行了足夠的疊代次數之後,我們便可以「同時」看見細胞們每一次疊代的連續過程。

  一維細胞自動機的規則也很簡單,只不過它的表示法,比生命遊戲的規則繁瑣一點。這個單元筆者要先介紹一個簡單的規則 Pascal's Triangle Rule。 Pascal's Triangle Rule 定義,影響細胞下一次疊代的鄰居有細胞兩邊各一個鄰居,而且細胞原本的狀態也會影響下一次疊代自己的狀態,我們以符號記做 Nb=3,代表:影響細胞下一次疊代的因素有左邊一個鄰居、自己與右邊一個鄰居,總共有三個 。而細胞只有兩個狀態,「生」或「死」, 我們記做 States=2 或者是Ghosts=0,為了符號表示的方便,我們以 0 代表細胞死亡,1 代表細胞存活。 Pascal's Triangle Rule 之中,鄰居們的狀態如何決定(中央)細胞下一代的狀態,係表列如下:

Pascal's Triangle Rule
Nb=3,States=2,RuleBinary=01001000 or RuleHex=12
規則編號 1 2 3 4 5 6 7 8
疊代前的細胞狀態 000 001 010 011 100 101 110 111
疊代後的細胞狀態 0 1 0 0 1 0 0 0

  Pascal's Triangle Rule 所疊代出來的圖形是巴斯卡三角形,而且圖形是不斷自我複製與尺寸相似的, 這樣的規則具有碎形的特徵 ,如下面的 Java Applet 所顯示的, 你可以「同時」看見 150 次疊代的過程,而且你看見的都是細胞們過去狀態的遺跡 。在之後幾個單元的範例裡,你會發現滑翔機也常常出現在一維細胞自動機之中,它們是斜對或垂直地經過畫面,當它們碰到阻礙可能會消失,或者是分裂成更多的小碎片往不同方向繼續移動。不過在看到這些迷人的圖案之前,我們還必須更進一步的瞭解一維細胞自動機的規則,與其相關的細節。

  從上面的列表中可以得知 ,當 Nb=3 且 States=2 時, 規則數目=8=2x2x2=23,算法是三個鄰居不同狀態的排列組合:鄰居1的兩個狀態,乘上鄰居2的兩個狀態,再乘上鄰居3的兩個狀態。為了將規則編寫成特定的符號字串,我們必須定義排列組合的順序,如下圖所示:

    從最左邊的鄰居開始作分類,以 0 與 1 的順序分成兩組,然後在各組中再繼續以同樣的順序作分類,直到所有鄰居的不同狀態都考慮完為止。如圖所示,當細胞有兩個狀態,三個鄰居可以排列成八組不同狀態的組合,而每一組各自決定著中央細胞下一代的狀態。我們只要固定住這八組排列組合的順序 , 那麼我們便可以用 01001000 這個字串來直接定義 Pascal's Triangle Rule 的規則。

  你會發現我們用了三個參數來表示 Pascal's Triangle Rule, 除了 Nb=3,States=2(這個參數可以省略,因為一維細胞自動機通常只討論兩個細胞狀態的情況,當超出兩個狀態時,所可能產生的規則變化將膨脹到難以討論的地步), 還有 RuleBinary=01001000 或 RuleHex=12。前者指的是直接將列表中的最後一列依序寫出來,而後者就是 Wolfram 所用的規則表示法,我們稱做「Hex Wolfram's Code」,簡寫成 RuleHex,是以十六進位法來表示規則,簡單的算法是這樣:先將 RuleBinary 倒過來寫,然後再從二進位轉成十六進位即可,例如:

  倒過來的 RuleBinary=00010010 ==> 000100102=1216
  其中,0001 ==> 0x23 + 0x22 + 0x21 + 1x20=1
     0010 ==> 0x23 + 0x22 + 1x21 + 0x20=2

  而 Nb=3 且 States=2 的條件, 除了 Pascal's Triangle Rule 之外 ,還有其他種類的規則。像這樣的規則有幾個呢?總共有 28=256 個,因為這八組規則所決定的細胞下一代狀態都各有兩種可能,所以 8 個 2 相乘,所得出的數字就是總共可能的規則種類。

  這個單元比較詳細地介紹了,一維細胞自動機在 Nb=3 時的規則表示法,在下個單元筆者將繼續介紹 Nb=5 與 Nb=7 的狀況,這些狀況所衍生的排列組合將會更多。



  上一層 第二頁