關於此實驗
元胞自動機是由處於開啟或關閉狀態的細胞組成的網格。每個時刻,每個細胞都會查看它的鄰居,並遵循相同的簡單規則來決定自己的下一個狀態。除此之外沒有編寫任何程式,但滑翔機卻能在網格上移動,發射器會一個接一個地發射滑翔機,而一些一維規則會產生極其不規則的圖樣,甚至被用作隨機數產生器。執行約翰·康威的生命遊戲,繪製自己的初始圖樣,並探索全部 256 種初等規則。
學習目標
- 手動套用生命遊戲規則,推算下一代
- 辨識靜物、振盪器和太空船
- 解釋規則編號如何編碼初等一維自動機
- 描述簡單的局部規則如何產生複雜的行為
- 比較能產生重複、嵌套、混沌和複雜圖樣的規則
使用方法
- 1載入滑翔機並按四次「步進」。經過四代後,它發生了什麼變化?
- 2載入脈衝星。它需要經過多少代才會重複?
- 3執行滑翔機槍。多久會出現一個新的滑翔機?觀察活細胞圖表。
- 4清空網格並畫一排三個細胞。在紙上預測下一代,然後按「步進」。
- 5載入 R 五連方並執行它。僅有 5 個細胞會生長成什麼?關閉邊緣環繞並進行比較。
- 6切換至一維規則。比較規則 30、90 和 110。哪一個看起來隨機,哪一個看起來是嵌套的,哪一個包含會移動的結構?
- 7翻轉規則 90 的規則表中的一個結果。你得到的規則編號是多少?圖樣發生了什麼變化?
模型
假設
- 生命遊戲網格為72欄、44列。開啟邊緣環繞後,網格的邊緣會相連,形成一個環面;關閉後,邊緣以外的細胞始終視為死亡。
- 所有細胞都根據上一代的狀態同時更新。
- 一維列的寬度為121個細胞,首尾相連。隨機初始狀態使用固定種子,因此每次都相同。
在課堂上試試這個實驗
- Q1一個死亡細胞恰好有三個存活鄰居。它在下一代會怎樣?
- Q2為什麼由存活細胞組成的2×2方塊永遠不會改變?
- Q3將規則30寫成二進位,並據此求出鄰域為100的細胞的新狀態。
- Q4滑翔機每四代沿對角線移動一個細胞。它需要多久才能穿過72個細胞寬的網格?
- Q5規則110能夠完成電腦可以執行的任何計算。這說明了簡單規則與複雜行為之間可能存在什麼關係?
常見問題
生命遊戲是誰發明的?
由英國數學家約翰·霍頓·康威於 1970 年提出。它因馬丁·加德納在《科學美國人》上的專欄而聞名,此後人們不斷發現新的圖樣。
生命遊戲真的算是一種遊戲嗎?
這是一款零玩家遊戲:畫出起始圖樣後,一切都由規則決定。樂趣在於設計圖樣,並看看它們會產生什麼結果。
細胞自動機有哪些用途?
它們用於模擬森林火災、交通、晶體生長、疾病傳播,以及貝殼上的花紋。規則30曾被用作亂數產生器,而物理學與生物學中的網格模擬也常以相同方式運作。
