生命遊戲
三條規則,一張方格,沒有玩家——卻走出了滑翔機、時鐘,和會計算的機器。
三條簡單的規則,一張方格棋盤,沒有人在玩——可形狀卻會誕生、會滑過棋盤,甚至會搭出機器。
核心想法
生命遊戲不是一個你去玩的遊戲,而是一個你去看的遊戲。你先在網格上把一些格子塗上(代表「活」),其餘留白(代表「死」)。然後,一遍又一遍,每個格子都在同一瞬間,依一條簡單的判斷來更新:數一數它的八個鄰居裡有幾個是活的。一個活格子,有 2 或 3 個活鄰居便繼續活著;太少,它死於孤獨,太多,它死於擁擠;一個死格子,恰好有 3 個活鄰居,便活了過來。
就這麼簡單。沒有人決定下一步會發生什麼——是規則決定的。然而,僅憑這三條規則,便生出了閃爍的光點、穩穩爬過網格的形狀,以及精巧到唯有讓它跑起來、你才知道它將作何變化的圖案。
它是如何誕生的
約翰·康威,一位愛玩、又才華橫溢的劍橋數學家,在 1969 至 1970 年間花了幾個月,去尋找那套最簡單、卻能產生出不可預測、宛如生命之行為的規則——他和學生們在一張圍棋盤上,用手一組組地試。當他找到那個恰到好處的平衡,便把它寄給了馬丁·加德納,後者在《科學美國人》上的「數學遊戲」專欄,擁有一大群好奇的讀者。
加德納 1970 年 10 月的那篇專欄,點燃了引線。康威曾押下五十美元,賭沒有任何圖案能永遠增長下去;數週之內,麻省理工學院比爾·戈斯珀帶領的團隊便造出了「滑翔機槍」,它無窮無盡地吐出一架架新滑翔機——贏走了賭注。業餘愛好者與科學家們,把數不清的早期計算機機時傾注其中;而圍繞一個簡單的問題——簡單的規則究竟能做到什麼?——一整個領域就此生長起來。
它為何重要
生命遊戲,給所有人一個生動的答案,去回應一個深刻的問題:複雜從何而來?你並不需要一個宏大的設計、或一個總指揮——驚人地豐富的行為,可以從簡單的規則、在局部被一遍遍遵循之中湧現出來。人們後來證明,生命遊戲強大到足以計算一切計算機所能計算之物。它成了「湧現」的經典範例,而這種思維方式,如今已貫穿生物學、物理學、經濟學與計算機科學。
一個可以想像的畫面
想想體育場裡觀眾做「人浪」。沒有人在指揮;每個人只是在鄰座站起時、跟著站起來。僅憑這一條局部的規則,一道波浪便繞著整座體育場掃過——一個龐大的、移動的圖案,沒有誰設計過它。生命遊戲,就是把這個念頭推到極限:幾條關於鄰居的規則,在每一處同時反覆執行,於是波浪、滑翔機,還有機器,便都走了出來。
它的位置
讓一張細胞網格遵循局部規則的這個念頭,來自 1940 與 50 年代的約翰·馮·諾伊曼與斯坦尼斯瓦夫·烏拉姆,他們用這樣的「細胞自動機」去研究能自我複製的機器。康威的生命遊戲,讓這個念頭變得家喻戶曉、又令人欲罷不能。它與另一些「揭示出簡單系統裡竟藏著狂野複雜」的發現並肩而立——愛德華·洛倫茲那組混沌的天氣方程(lorenz-1963)、伯努瓦·曼德博的分形(mandelbrot-1967)——並一路向前,匯入了今天的複雜系統科學。
The basic idea is to start with a simple configuration of counters (organisms), one to a cell, then observe how it changes as you apply Conway's “genetic laws” for births, deaths, and survivals.
Survivals. Every counter with two or three neighboring counters survives for the next generation.
Deaths. Each counter with four or more neighbors dies (is removed) from overpopulation. Every counter with one neighbor or none dies from isolation.
Births. Each empty cell adjacent to exactly three neighbors — no more, no fewer — is a birth cell. A counter is placed on it at the next move.