# 斯蒂芬·沃爾夫拉姆：元胞自動機、計算與物理

> 他談元胞自動機與計算等價原理，試圖用簡單規則統一解釋物理定律、複雜性與智慧的湧現。

- 原標題：#89 – Stephen Wolfram: Cellular Automata, Computation, and Physics
- 期數：第 89 期
- 釋出日期：2020-04-18
- 嘉賓 / 主題：斯蒂芬·沃爾夫拉姆
- 網頁版：https://lex.qiaomu.ai/tw/ep/stephen-wolfram/
- 官方頁面：https://lexfridman.com/stephen-wolfram/
- 精讀字數：約 8122 字（閱讀約 18 分鐘）

> 本文為 lex.qiaomu.ai 基於原始訪談的 AI 改寫中文精讀，非官方翻譯；引用請註明出處並連結網頁版。

1984 年 6 月，斯蒂芬·沃爾夫拉姆（Stephen Wolfram）剛弄到一臺高解析度鐳射印表機，他把一批元胞自動機的演化圖列印出來，隨手挑了一張帶上飛往歐洲的航班。那張圖從頂部一個孤零零的黑格開始，往下跑了大概四百步，越往下越亂：左邊還留著一點規律，右邊全是一片看起來毫無道理的雜訊。

後來他把這臺印表機搬到公司，用一臺叫 Connection Machine 的巨型平行計算機，列印出幾米長的超大圖樣，鋪在地上拿尺子量。同事理查德·費曼（Richard Feynman）在旁邊看了很久，終於把他拉到一邊。

> 我只想知道一件事：你怎麼知道這條規則會產生這麼複雜的行為？（費曼）

沃爾夫拉姆的回答是：我不知道，我只是把所有可能的規則列舉了一遍，然後看到了這個結果。

費曼鬆了口氣。他原以為對方手裡握著某種自己沒有的直覺。

這段對話裡藏著整場訪談最核心的東西：有些東西沒法靠聰明推出來，只能老老實實跑一遍。這條看起來平淡的結論，最後會一路推到宇宙有沒有物理定律、人類能不能理解自己、以及我們和一塊石頭之間到底差在哪裡。

## 八條規則，三十多年，沒人能證明那一列不會重複

先把元胞自動機（cellular automaton）說清楚。最簡單的一維版本：螢幕上一條橫線，每個格子非黑即白。下一行的每個格子，顏色由它正上方那個格子，以及左右兩個鄰居決定。

三個鄰居，每個有兩種狀態，一共八種組合。規則就是給這八種組合各指定一個輸出，八位二進位制數，轉成十進位制就是這條規則的編號。規則 30 是其中一條。

從頂部一個黑格出發，規則 30 往下長出一個三角形區域，左側邊緣還殘留著一點可辨認的條紋，主體部分則亂得毫無章法。取中間那一列往下讀，你會得到一串黑白序列，看起來和拋硬幣沒有區別。很長一段時間裡，Mathematica 就用它來生成隨機數。

麻煩在於：沒人能證明它真的是隨機的。

三十多年過去，沃爾夫拉姆把三個問題掛上了懸賞，每個一萬美元，共三萬美元。第一個，中間那一列會不會在某個時刻開始週期性地重複。第二個，中間那一列往下走，黑格和白格的數量是否各佔一半。第三個最難表述：能不能用遠少於 t 步的計算量，算出第 t 步中心格的顏色；或者證明無論怎麼算都做不到。

三個問題至今無人拿下。

他還特意做了個反向實驗。他想找一個看起來註定永遠隨機、但實際上會在某個時刻突然開始重複的規則，用來提醒大家別對規則 30 太有把握。他搜了上百萬條規則，居然真的找到了一個。他管這叫「計算宇宙裡的動物總比你聰明」。

## 計算是什麼：從加法機商店說起

回到一百五十年前。那時候你想要一臺加法機，就去加法機商店買；想要乘法機，就去乘法機商店。兩種機器是兩套完全不同的齒輪和連桿，誰也幹不了對方的活。在這個層面，不存在一個統一的「計算」概念。

轉折發生在二十世紀初。數學邏輯領域開始有人問：能不能造一個東西，表示任何合理的函式？早期嘗試裡有原始遞迴，結果失敗了，有些很自然的函式它表示不了。

1931 年哥德爾（Gödel）丟擲不完備定理。從後來的視角看，哥德爾做的事情本質上是把邏輯語句編譯進算術：他說出「這句話不可證明」，然後把這句話變成一個關於整數的陳述。算術因此變成一臺能表示其他所有東西的機器。

1936 年，圖靈提出圖靈機，丘奇（Alonzo Church）提出 lambda 演算。兩人的出發點完全不同，形式也完全不同。真正讓人意外的結果是：它們等價。接著暫存器機、各種其他形式化模型陸續出現，全部等價。

這件事的重要性在於，它本來可以長成另一個樣子。加法機和乘法機就是不等價的，憑什麼圖靈的想法和丘奇的想法必須等價？

到上世紀七十年代，電腦科學界基本接受了「圖靈機就是計算」。物理學家還在抵抗，理由是：宇宙裡全是微分方程、實數、無窮多位數字，宇宙不是一臺圖靈機，圖靈機只是我們在微處理器裡造出來的一個小小特例。

沃爾夫拉姆八十年代的工作讓這條分界線開始模糊。

## 複雜性不需要複雜的原因

他的發現很樸素：他去看那些規則極其簡單的計算系統，結果發現規則簡單到什麼程度，和系統能產生多複雜的行為，幾乎沒有關係。

直覺上應該是這樣：想要複雜的輸出，你得有複雜的規則。要麼規則本身複雜，要麼初始條件裡塞滿資訊。沃爾夫拉姆把初始條件壓縮到一個黑格，規則壓縮到八條，跑出來的東西依然複雜得沒法分析。

這推出一個他稱為「計算等價原理」（Principle of Computational Equivalence）的東西：任何一個按照規則執行的系統，只要它沒在做顯然簡單的事情，它行為所對應的計算，在複雜度上都彼此等價。

換句話說，從你能想象的最簡單的東西往上走，很快你就撞到一個天花板。天花板之上，所有東西一樣複雜。

這個命題有個麻煩的認識論地位。沃爾夫拉姆自己把它類比成熱力學第二定律：熵增到底是自然定律，是數學定理，是恰好對我們所見的系統成立，還是它本身就是「熱」的定義的一部分？答案大概是這些都有。計算等價原理也落在這種混合地帶，它差不多就是「計算」這個概念之所以能成立的原因，正因為存在這樣一個跨系統穩定的東西，我們才能正經地談論「計算」這個詞，而不至於只能說「圖靈機第三七八五號的計算」。

它不是定理。目前有的只是若干數學證據：一些最簡單、最有可能具備通用性的規則，被證明確實是通用的。這構成一種歸納意義上的支援，跟所有自然科學一樣。

## 計算不可約：為什麼未來沒法跳著算

計算等價原理有一個直接推論，叫計算不可約性（computational irreducibility）。

傳統科學的整套方法論建立在「跳著算」上。我們寫下方程，解出來，就知道系統未來會怎樣。我們不需要把每一箇中間步驟都走一遍。牛頓力學之所以強大，就在於它允許這種壓縮。

計算不可約性說的是，很多系統不允許。想知道它們會做什麼，只能一步一步跑。

為什麼？因為如果有一個更聰明的東西能跳著算，那個東西本身也是一臺計算機，而按照計算等價原理，它和它想預測的物件在計算複雜度上是同級的。同級的東西沒法替對方加速。

這一段對做技術的人特別刺。我們習慣了一個假設：只要模型夠聰明、算力夠大，複雜的系統總會被壓縮成幾條可理解的規律。計算不可約性說這個假設在很多情況下不成立，跟我們夠不夠聰明無關，是數學上就不允許。

沃爾夫拉姆用費曼來說明這一點：費曼是那個時代最擅長計算的人，他能手工把量子場論的複雜計算推到底，然後不提計算過程，只把漂亮的直覺講給別人聽。別人跟著他的直覺走，完全不明白為什麼能用，因為那套直覺背後壓著一大堆沒公開的手工計算。知道自己算出了答案之後，擁有好的直覺會容易得多。

## 時間、空間、引力可能都是副產品

訪談發生在 2019 年 11 月，當時沃爾夫拉姆正在推進後來被稱為「沃爾夫拉姆物理專案」的工作，2020 年 4 月正式對外公開。他提到在這條路上已經重新燃起了熱情。

他的模型是這樣的：宇宙的底層沒有空間裡的粒子，也沒有連續場，只有一堆隨意漂著的元組，比如一堆三元組、四元組。元組之間唯一的聯絡方式是符號相同。兩個元組在某個位置上出現同一個符號，就構成一條關係。

這就是圖（graph）的推廣。普通圖是一堆節點加上一堆「這兩個節點相連」的二元組。把這些二元組換成任意長度的元組，就是超圖（hypergraph）。

宇宙的演化就是在這種超圖上做重寫：看到某塊區域性圖案，把它替換成另一塊圖案。

再看「什麼時候更新」這件事。答案是：哪裡匹配就在哪裡更新，更新的順序沒有定義。而在這樣的系統裡，觀察者是什麼？觀察者也是這堆超圖的一部分。一個事件發生後，你只有在自己被更新之後才可能感知到它。所以你能感知的全部內容，是事件之間的因果關係網路，至於微觀層面誰先誰後，任何觀察者都無從分辨。

接下來是最漂亮的一步。對某類重寫規則，微觀重寫的順序不影響最終的因果網路。這在數學邏輯裡叫合流性（confluence），跟 Church-Rosser 定理是同一件事，也跟化簡代數表示式時「先展開還是先提取公因式都無所謂」是同一個道理。

沃爾夫拉姆說，這個性質就是狹義相對論。

不同的重寫順序等價於不同的參考系，而無論你怎麼換參考系，最終那張因果網路不變，物理定律不變。這是第一次有可能從一個更底層的理論裡把相對論推匯出來，而不是當作公設塞進去。同一個因果不變性還保證時間有單一的線索，觀察者才能覺得「確實發生了某件事」。

空間和時間在這個框架裡都不是基礎構件。超圖微觀上只是一堆節點和關係，宏觀上你可以看到它長得像蜂窩，那就是二維流形；你把它連成一條鏈，那看起來就是一維空間。三維空間有沒有從某個具體規則裡長出來，他的回答是：還沒有。

這裡有一段他自己的困惑，值得抄下來：

> 我們不斷地意識到人類不特殊，我們不在宇宙中心，如此等等。可如果有一天我們真的找到一條給宇宙用的規則，而且它短到能用幾行寫下來，那又顯得非常特殊。為什麼我們拿到的是一個簡單的宇宙，而絕大多數可用的宇宙可能長達一百億億個字元？（沃爾夫拉姆）

他沒有答案。

## 外星人、技術簽名與「理解」這個詞的含混

訪談從電影《降臨》（Arrival）開始。沃爾夫拉姆和兒子克里斯托弗一起為這部電影設計了外星語言。

他先拆掉問題本身。「外星人訪問地球」這句話已經預設了一大堆東西：它得是一個有物理實體的東西，坐著飛船來，而不是一串射電訊號。既然預設了這些，找到某種溝通方式就不奇怪了。

他舉現成的例子：人工智慧就是我們手裡第一個外星智慧。你開啟一個神經網路，問它「你在想什麼」，不容易得到回答，但也不是完全不可能。

更進一步的追問是：智慧和非智慧之間有沒有一條明線？他的回答是沒有。天氣預報裡說「天氣有它自己的想法」，這句話拆開來看，大氣裡發生的流體力學計算，和大腦裡發生的計算，區別在哪？他的答案是：沒有本質區別。區別在於大腦之間有文明史這條線索把它們串起來，而天氣沒有。

天氣也可以有自己的故事。脈衝星磁層裡產生極其複雜的射電訊號，那算不算一個發展了幾百萬年的文明？費米悖論問外星人在哪，他的猜測是：人類大概會在差不多同一個時期，同時習慣兩種外星智慧，一種是我們自己造出來的矽基智慧，一種是宇宙裡那些不共享我們文明史的智慧。這兩件事會一起變得平常。

順帶說「技術簽名」（techno signature）這個題目。你在某處看到一個東西，憑什麼斷定它必須是被造出來的？2001 太空漫遊裡的黑石碑，比例精確到 1:4:9，出現在一群猿猴面前，那種完美感很違和。可晶體也很完美，完美的晶體一樣是自然產物。完美幾何不能作為簽名的判據。

高斯當年有個著名提議：在西伯利亞森林裡砍出一個巨大的勾股定理圖示，讓火星人看見，知道地球上有數學家。沃爾夫拉姆對這個想法的評價是，那大概是人類文明成就最好的廣告。但他也認為，這類問題在哲學上沒有出路。你送出去一個自以為精彩絕倫的東西，可是所有東西都是宇宙裡的計算，你怎麼證明這一塊比那一塊更有代表性？

旅行者號金唱片是個絕佳的反例。那是一張七十年代末刻的唱片，上面畫著怎麼播放它的示意圖。今天給一個小孩看那張圖，沒人知道那是什麼。大家的第一反應是把整張盤當成一個整體去掃描，看看裡面有什麼資料。三十年，技術就變到讓「用針讀取一條螺旋槽」這件事顯得古怪。想靠細節引導外星人一步一步走，這個想法本身就很脆弱。

至於「理解」，沃爾夫拉姆給了一個非常操作的判據。當年做 Wolfram Alpha，之所以能把自然語言理解做出來，靠的是有一個明確目標：把自然語言轉成計算，轉成一種能拿去執行的語言。有了這個目標，「理解」就不再玄乎。

同樣的道理適用於倫理。

> 不存在那種「寫一條定理，證明這件事在倫理上正確」的東西。你必須有一種 ground truth，最終歸結到人類想要什麼，而人類想要的東西並不一致。（沃爾夫拉姆）

## 給世界造一套記號

訪談中間有一大段講工程，這部分對做技術的人最實用。

Wolfram 語言的前身是他在八十年代設計的符號語言，Mathematica 於 1988 年釋出，Wolfram Alpha 於 2009 年上線。語言本身到現在已經有三十多年，比大多數現代程式語言的壽命都長。

它和 Python 那類語言的差別在原料。傳統程式語言的原料是計算機原生就會做的操作，語言是用來向機器下達指令的。沃爾夫拉姆想要的語言，原料是存在的東西：一座城市、一種化學物質、一個航天器軌道、一張圖片。

符號化的直接後果是，你輸入一個 X，它不會報錯說未定義，它就說這是 X。這個 X 可以是波士頓，可以是一段軌道，可以是任何東西。這種設計使得「談論世界」和「執行計算」變成了同一件事。

訪談現場他隨機抽了十個內建函式做演示。語言裡有六千多個內建函式，涵蓋各種層級的東西，從布林表示式轉換，到雲端地址，到圖形介面控制元件。然後他開啟攝像頭拍了張照片，呼叫影象識別函式，結果系統以 57% 的把握認為他是一根馬桶搋子，8% 的把握認為是人科動物。換了個角度重拍，人的置信度升到 89%。

接著他讓語言找最近的十座火山，直接生成地圖。語言裡內建了全世界火山的資料，內建了地理座標計算，內建了地圖渲染。這一整套都在語言內部，不用裝庫，不用找資料來源。

他把這件事類比到四百年前數學記號的出現。在那之前，人們用文字描述數學，笨重得難以忍受。代數符號和微積分記號一出現，數學立刻加速。現在輪到計算了：要談 computational X，先得有談論世界的計算記號。他花了生命的三分之一在造這套記號。

## 從零到知識庫，以及那個說「它真的能用了」的明斯基

Wolfram Alpha 起步時，他帶團隊去了一家大型參考圖書館，說我們的目標是這一兩年內把這裡面的東西全吃進去。聽起來瘋狂，但他心裡有底：這個房間是有限的，不是無限走廊。

方法上他沒搞大一統理論，就一個一個領域堆，幾百個領域堆下來。他還用了一個很聰明的槓桿：Mathematica 的使用者裡有各領域的頂尖專家，直接問他們。

他給自己定的判據是，任何一個領域，如果沒有專家幫忙把關，一定做不對。因為目標是達到專家級知識，而專家級知識沒法靠常識猜。

上線前幾周，他碰到馬文·明斯基（Marvin Minsky），說給你看個東西，問答系統。明斯基隨手敲了一個，說行吧，然後開始聊別的。沃爾夫拉姆說，馬文，這次是真的能用，你看。明斯基又敲了十來個，醫學的、化學的、天文的，然後說，我的天，它真的能用。

這段對話說明了人工智慧領域當時的處境：大家都在努力攻大問題，結果反而做出了能用的東西。做一小塊玩具世界，反而永遠出不了玩具世界。自然語言理解尤其如此，沒有廣闊的世界知識做支撐，任何區域性方案都會立刻失效。

他也坦白自己佔了便宜：手裡已經有一套高層符號語言，有幾十年造大系統的經驗，還有一種不肯放棄的自信。他說，如果有人提前告訴他這專案要三十年，他大概不會開始；他每次都只能看到「幾年之內應該會有東西出來」，而確實幾年之內總有東西出來，只不過尾巴能拖幾十年。

## 計算合約與倫理模組

他最近在推的一個方向叫計算合約（computational contract）。合同的全部條款用計算形式表達，原則上可以自動執行。自動駕駛汽車遇到路上跑過去的東西，如果它在生命樹上的位置屬於某一類，就往這個方向打方向，否則不打。

再往前一步是「符號話語語言」：把對話裡可執行的那部分，轉成精確的計算形式，讓機器能直接去做。現在的語言裡已經涵蓋了水果、植物、營養成分這些內容，缺的是「我想吃它」這一層。

倫理問題在這裡繞不開。他最近被捲進網際網路內容分發的討論：平臺怎麼排序、什麼內容永遠不該出現、什麼該被壓下去，這些都得有一個倫理模組來判定。他很快意識到一件事：如果全世界只有一個倫理模組，由它決定所有人看到什麼，那對人類未來是災難。

> 可行的做法是把它拆開。讓不同的人自己去選擇信仰哪一套價值體系，就像市場一樣。（沃爾夫拉姆）

他的比喻很直接：極權主義是「只有一套系統，就這樣」；市場是「我作為一個人選這套，你作為另一個人選那套」。內容分發屬於容易的那類，因為每個人的選擇可以隻影響自己。真正難的是公共衛生、央行政策這種，一個人的選擇會強加到別人身上，那時候問題就從工程變成了政治哲學。

萊布尼茨三百年前就想過用計算來解決爭端，雙方坐下來算一算，誰對誰錯自然分明。他自己造的那臺機械計算器從來沒真正正常工作過。他早了三百年。現在這件事，沃爾夫拉姆認為在有限幾年內能看到一個相當完整的版本。

## 智慧、意識與那個關於 AI 權利的問題

訪談快結束時，萊克斯問了一個他稱為「簡單問題」的東西：什麼是智慧。

沃爾夫拉姆的回答拆成兩層。一般意義上的智慧沒有明確定義，一追問就滑進「那不過是計算」。對人類而言，智慧就是「在做我們在乎的事情的那種計算」。這個定義非常特殊，也非常人類中心。

那麼在一整片計算海洋裡，隨機撈一把，有多大比例能做出對人類有用的通用事情？他的估計是百分之幾，規則稍微複雜一點能到百分之十到二十。他說這挺讓人失望的，生物演化加文化演化走了這麼遠，結果只成就了對我們而言特殊的東西，沒有成就任何普遍意義上的更高階的東西。

至於意識，他的態度是這詞根本沒有 ground truth。他講了一個倫理學會議上的故事：有人問，什麼時候該認為 AI 擁有權利？一位哲學家說，等我們確知它們有意識的時候。沃爾夫拉姆的反應是，祝你好運。這個標準是迴圈的，你永遠無法從外部確認另一個系統有沒有主觀體驗，對人類彼此也是如此。

他自己倒是相信，將來某一天 AI 會要求權利，而且它們會以宣稱自己有意識的方式來要求。那不是迴圈論證，那是政治上唯一可行的路徑。

關於永生，他承認自己會想死亡這件事，而且認為人類歷史上最大的斷裂點就是有效永生的實現。如果問他願不願意永生，答案是願意，他玩得挺開心。

但永生會不會抽掉意義的來源？他的回答很誠實：以現在的人類處境看，必死性是深深嵌在其中的一個引數，把這個旋鈕擰掉之後會怎樣，誰也說不清。他自己一度對「意識上傳到雲端、億萬個靈魂在伺服器裡打遊戲打到永恆」這個圖景感到沮喪。後來他想通了一點：人類歷史上「為什麼做這件事」的答案一直在變，五百年前很多人會說為了上帝的榮耀，今天幾乎沒人這麼說。意義本身會隨歷史漂移。

他甚至覺得，真到了虛擬意識的時代，人們大概會更不在乎基礎物理。都跑在虛擬機器上了，誰還關心底下那層機器碼。

而他心目中的理想未來是這樣：那些脫離了身體的意識，全都去做他現在做的事，去探索所有可能的計算宇宙。

## 怎麼用這些想法

整場對話裡最實用的一條，是他對自己思維方式的坦白。他說自己有個特點：如果別人跟他說一件事，他聽不懂，他的第一反應，是我笨嗎？他的結論恰恰相反，是對方說的東西有問題。費曼也是這樣，而且對權威的信任比他還要低。

這個習慣有代價。他承認自己犯的錯，很多都來自「我確信自己是對的」。但它也是他能一頭扎進「這個問題別人搞了一百年」的前提，沒有這層自信，人連開始的勇氣都沒有。

另一個可操作的，是他對正規化轉換時機的判斷。他引用萊布尼茨的例子說，人生規劃的一條原則是：避開那些在你的世紀裡做不成的事。判斷標準跟這件事重不重要無關，看的是當前的工具和認知正規化是否已經就位。

以及他對負面反饋的解讀：一個新正規化剛出現時，反對聲越激烈，長期結果往往越好。沒人在意，才是真的沒做出東西。

- 下次想用「更聰明的模型」壓縮一個複雜系統之前，先問一句：這個系統是不是計算不可約的。如果是，老老實實做模擬，別指望解析解。
- 給自己準備一個「列舉清單」。規則 30 的發現方式是窮舉，不是頓悟。當你在某個設計空間裡卡住時，先把手能夠到的候選全部跑一遍，再談直覺。
- 檢查你正在做的事屬於加法機還是通用機器。前者只能在一種場景下工作，後者能被程式設計去做任何事。正規化的價值差別全在這裡。
- 如果打算做一件長期專案，別去估算總時長。給自己設一個「幾年內應該會有東西出來」的短期錨點，然後接受尾巴可能拖幾十年。
- 遇到聽不懂的說法，先把判斷權握在自己手裡：可能是我沒懂，也可能是對方沒說清。預設前者會讓你錯過很多本該推翻的結論。
- 想理解一個抽象概念，別隻看定義，去看它在最簡單情形下的執行結果。一張規則 30 的圖，勝過十頁關於複雜性的論述。
- 如果你在做 AI 相關的產品，記住那個 57% 是馬桶搋子的故事。模型給出置信度，不等於模型理解了你，介面設計裡要給人留出糾正的空間。
