TOPIC 4 · PHASE A

极简规则的无限性THE INFINITY OF MINIMAL RULES

复杂的结果,不需要复杂的原因(A complex result needs no complex cause)

2026-07-22 · 什么算「复杂」

你看到一个精巧到不可思议的图案,本能地想:造出它的东西,一定也很精巧。这个本能,是这门学科要拆掉的第一个。

一片雪花、一座白蚁堆出来的三米高"大教堂"、一段让全组熬夜也查不明白的线上故障——见到精巧的东西,我们默认背后站着一个同样精巧的成因:一个复杂的设计、一个高明的对手、一个深藏的阴谋。

可是有一整类东西,它们的规则简单到能写在一张餐巾纸上,跑出来的结果却精巧到你盯多久都数不完。更狠的一点在后面:从那几行规则到最终的图案之间,没有任何近道——你想知道它长什么样,只能老老实实一步一步把它跑出来。

这是 Phase A 的第四期。前三期在问"什么才算复杂",本期给出最锋利的一刀:复杂不在原因里,而在原因反复迭代之后。主角是一个笨到极点的装置——元胞自动机(cellular automaton)。它还牵出另一种不可预测:不是像混沌(第 8 期)那样对初值敏感,而是原理上就没有捷径(第 11 期会正面展开)。

01一行规则,256 种宇宙(Elementary Cellular Automata)

想象一排格子,每格只有两种状态:黑或白(记成 1 和 0)。时间一格一格往下走,下一时刻某个格子是黑是白,只由它自己和左右两个紧邻这一刻的状态决定——不看更远,也不看别处。

三个格子、每个两种颜色,一共 8 种可能的"邻居组合"。所谓一条规则,就是给这 8 种组合分别指定一个输出颜色。于是能写出的规则总数是 28 = 256 条,一条不多一条不少。这类"格子按局部规则一起更新"的装置叫元胞自动机(cellular automaton,缩写 CA),最简单的这种一维版本叫基本元胞自动机(elementary CA),全世界一共就这 256 条。

从顶端一个黑格出发,把每一时刻的那一行往下叠着画,就得到一张"时空图"——横轴是空间,纵轴是时间。看两条规则:

规则 90:新格子 = 左邻 与 右邻 做"异或"(两个邻居一黑一白就变黑,同色就变白,中间那格干脆不看)。跑出来是一个谢尔宾斯基三角(Sierpiński triangle)——一个分形(fractal),放大任何一小块,都是整体的缩小复制。规则 30:同样只看三个格子,长出来的却是一片看不出任何规律的花纹。乱到什么程度?Wolfram 的数学软件 Mathematica 曾经真的拿它某一列的输出,当随机数发生器来用。

一行规则,沿时间向下画规则 90 — 一个分形(谢尔宾斯基三角)规则 30 — 混沌(曾被用作随机数源)同样的起点:顶端只有一个黑格。差别只在规则本身。
两条规则都只看"自己和左右邻居"。左边长成分形,右边长成噪声——差别不在起点,只在那八个格子的对照表。

这里就藏着本期的第一句要紧话:图案的精巧,完全不蕴含规则的精巧。谢尔宾斯基三角看着像被精心设计过,其实只是"左异或右"五个字反复迭代;规则 30 的乱看着像背后有个复杂的随机源,其实也是同样短的一句话。你眼睛看到的复杂度,和生成它的规则的复杂度,是两个可以毫无关系的量。

🎯 决策线

看到一个精巧或杂乱的结果,别急着反推一个同样精巧或杂乱的成因(一个高明的对手、一套复杂的阴谋)。先问那个最笨的问题:有没有一条只看局部的简单规则,迭代几步就能长成这样?这条规则往往比你为"精巧结果"编的故事短得多——也更可能是真的。

🌀 生物 · 芋螺的壳 织锦芋螺(Conus textile)壳上那片繁复的三角花纹,和规则 30 长得几乎一模一样——这不是巧合。壳是沿着壳口一圈一圈长出来的,每一圈某个色素细胞开不开,取决于相邻细胞上一圈的状态;于是整片壳就是一张一维规则的时空图,时间轴被冻结进了钙质里。推得出一个反直觉的结论:花纹的繁复,丝毫不代表这只海螺"高明"——它没有在画画,只是在执行一条局部规则,而你看到的,是它几个月里逐行打印出来的那卷纸带。

EN An elementary cellular automaton: a row of black/white cells; each cell's next state depends only on itself and its two neighbours. Eight neighbourhoods, so 256 possible rules. Rule 90 draws a fractal, Rule 30 draws noise so good it was used as a random-number generator. The intricacy of the output says nothing about the intricacy of the rule.

02四种命运(Wolfram's Four Classes)

把 256 条规则一条条跑出来,你会发现它们不是 256 种各不相同的乱,而是能归成四大类。这个划分是 Stephen Wolfram 做的,叫 Wolfram 四类(Wolfram classes)。

I 类:不管从什么初始行出发,很快全部塌进一个死寂的均匀态——全白,或全黑。II 类:停在一堆固定的、或原地周期性重复的结构上,像一排竖条、或一个来回闪的小块。有序,但也就这样了,不再冒出新东西。III 类:一片持续翻腾的噪声,没有一个稳定结构留得住,像没信号的电视雪花——规则 30 就在这一类。IV 类:最罕见,也最有意思。它既不冻结也不纯噪声,而是长出一些能维持形状、能移动、能相互碰撞的局部结构,在一片背景里游走。规则 110 属于这类。Chris Langton 给这条窄缝起了个名字:混沌边缘(edge of chaos)——卡在死板的秩序(I、II)和纯粹的混乱(III)之间。

一条局部规则的四种命运 — 同一随机初始行出发I 类 · 消亡Rule 32II 类 · 冻结/周期Rule 108III 类 · 混沌Rule 150IV 类 · 复杂(边缘)Rule 110绝大多数规则要么冻住(I,II)要么变噪声(III)。有意思的行为只住在窄窄的第 IV 类里。
同一个"看局部、迭代"的机制,只换规则,就落进四种完全不同的命运。绝大多数规则要么冻住、要么变噪声;能承载复杂行为的只有窄窄的第 IV 类。

这张图值得多看一眼。死板(II 类)和混乱(III 类)是两头,都很常见,也都没什么可看——一个什么都不再发生,一个什么都留不住。真正能承载"复杂行为"(能存住信息、能把它传到别处、能让两段信息相撞组合)的,只有中间那条要靠精心平衡才守得住的窄缝。这也是为什么"复杂"这么稀有:它不是有序的反面,也不是混乱的同义词,它是被这两者夹在中间的一小条。

🌀 经济与制度 · 计划与放任的两头 一个把价格钉死、配置写死的完全计划经济,行为像 II 类(冻结:一切可预测,但也长不出新东西);一个毫无规则、彻底放任的市场,则容易滑向 III 类(剧烈无序、什么都锁不住)。由此能推出一个同时打脸两种直觉的结论:"多加规则=更有序"和"少管一点=更有活力"各自只在自己那一侧成立;越过那条窄缝,加规则只会把系统推向死板,减规则只会推向混乱——有活力的位置从来不在两端,而在那条得靠不断调耦合强度才守得住的边缘上。

EN The 256 elementary rules sort into four classes: I dies to a uniform state, II freezes into fixed or periodic structures, III boils into noise, IV grows localized structures that move and collide — the rare "edge of chaos." Order and chaos are both common and both barren; complex behaviour lives only in the thin fourth class between them.

03太简单,不可能在计算?(Universality Is Cheap)

把元胞自动机升到二维,就是康威生命游戏(Conway's Game of Life,1970 年由数学家 John Conway 提出)→ 参考 · 生命游戏与元胞自动机。规则比前面还少,只有四条。

一个格子活着,若周围八格里正好有 2 或 3 个活的,它继续活;否则死掉(太挤或太孤单)。一个死格子,若周围正好 3 个活的,就复活。就这四条,长出一整座动物园:静止不动的方块、原地一开一合的"红绿灯",以及最有名的滑翔机(glider)——五个格子组成的小图形,每过四步就回到原来的形状,但整体往斜下方挪了一格。它看上去在"移动",可根本没有任何东西在动,只有格子在按同一条规则一开一关。

滑翔机:四条规则,一个会走路的形状第 0 代第 1 代第 2 代第 3 代第 4 代 = 第 0 代,右下移一格没有任何东西在「动」——格子只是按固定局部规则开关。移动是规则印出来的错觉。
滑翔机走四步回到自己,位置右下移一格。"移动"是这套开关规则印出来的错觉——没有任何实体在滑动。

更惊人的在后面:生命游戏被证明是图灵完备的(Turing complete)。用滑翔机当信号、用"滑翔机枪"当信号源,人们真的在里面拼出了与门、或门、非门,进而拼出一台完整的通用计算机。任何一台电脑能算的东西,原则上都能用生命游戏这四条规则算出来。一维世界也一样:前面那条乱糟糟的邻居——规则 110,2004 年被 Matthew Cook 证明同样图灵完备。一条只看三个格子的规则,计算能力和你的手机等价(只是慢得多)。

这件事有个统一的名字叫通用性很廉价(universality is cheap):造一台能算任何东西的机器,不需要复杂的硬件,一条最小的局部规则就够了。所以"它太简单了,不可能在做什么复杂的事"是一句无效的推理——简单,和"没本事",完全是两回事。

🎯 决策线

当你想用"这东西太简单/太小/太不起眼,不可能造成那么复杂的后果"来排除一个嫌疑(一段几行的脚本、一条看似无害的配置改动、一个小小的激励条款),停下。简单的局部规则,恰恰是最能长出任意复杂行为的那种东西。把"它简单"从你的排除理由里删掉,换成:实际把它跑一遍,看它会展开成什么。

🌀 工程与技术史 · 图灵陷阱 图灵完备的东西多到荒诞:除了生命游戏和规则 110,还有集换式卡牌游戏《万智牌》(2019 年被严格证明)、x86 里单单一条 mov 指令、甚至 PowerPoint 的动画系统。规律是:一个系统只要能表达"条件跳转 + 一块能增长的存储",它就藏着一台通用计算机。由此推得:一个系统"能不能算",几乎不由它看起来多复杂决定,那道门槛低到随手就跨过去了。真正稀缺的从来不是计算能力,而是把它组织成你想要的那个计算的那份麻烦。

EN Conway's Game of Life runs on four rules, yet its gliders and glider-guns can be wired into logic gates and a full universal computer — it is Turing complete, as is the one-dimensional Rule 110 (Cook, 2004). Universality is cheap: "too simple to be doing anything complex" is an invalid inference.

04抄不了近道(Computational Irreducibility)

现在回到开头那句"没有任何近道",把它说准。它不对所有规则成立——恰恰是它成立与否,划出了可预测与不可预测的界线。

对规则 90 那种,其实近道:第 N 行第 k 个格子是黑是白,正好等于组合数 C(N,k) 的奇偶性——一个公式,代进去就知道,不必逐行去跑。但对规则 110、规则 30 这种(第 III、IV 类)呢?Wolfram 给了个名字:计算不可约性(computational irreducibility)。意思是:想知道系统第 N 步长什么样,没有任何比"老老实实把前 N 步一步一步算完"更快的办法。不存在一个能"跳着算"的公式。这不是"我们还没找到",而是(对图灵完备的系统)原则上不可能有——否则就等于说你能不运行一个程序就预知它的输出,而这类问题(停机问题)早已被证明无解。

抄不了近道:想知道第 N 行,唯一办法是把前面每一行都跑完第 N 行的这一格,依赖上方一个不断变宽的锥一个公式? 第 N 行 = f(N)✗ 第 IV 类规则没有这样的 f一步 · 一步 · 一步 · … · 一步唯一办法:把每一行中间态都算出来
第 N 行的某一格,依赖上方一个不断变宽的因果锥;要填出它,锥里每一格都得先算出来。没有公式能替你跳过这些中间步。

这和混沌(第 8 期会讲)是两种不同的不可预测。混沌是"初值差一丝丝,结果就差很多",本质是精度问题——理论上初值够准还能算。不可约性更绝:就算初值精确到底、系统完全确定、一点噪声都没有,你还是只能原速把它跑完,一秒都省不下来。确定,从来不等于可预测——这里的理由不是敏感,是根本没有捷径。

🎯 决策线

遇到一个规则清清楚楚、完全确定、但整体行为费解的系统(一堆相互作用的自动化策略、一个多方博弈的定价环境),别再花力气找那个"一步到位算出结局"的公式或直觉——对这类系统它可能根本不存在。把预算从"推导结局"改成"低成本地把它跑出来":做仿真、搭沙盒、灰度里小步放量,让系统自己把下一帧演给你看,而不是你在纸上把它猜出来。

🌀 科学哲学 · 理论即压缩 开普勒把第谷几十年的行星观测,压成三条定律;牛顿再把它压成一个平方反比公式。科学的整个成功,建立在一个隐含假设上:自然界的数据可以被压进短短几条规律里——也就是"可约"。不可约性戳破的正是这个假设的普适性:有些系统(很可能包括经济、生态、历史)也许根本不存在比它自身更短的描述。那么苦苦寻找"历史的规律""经济的公式",就可能是在找一个可以被证明不存在的近道。推论很硬:在某个领域找不到简洁定律,未必是我们还不够聪明,可能是那里本就没有定律可找——这把"没找到"从一次失败,重新定义成了一种结果。

EN Some rules have shortcuts (Rule 90's cell is just the parity of a binomial coefficient); Turing-complete ones like Rule 110 do not. Computational irreducibility means the only way to know step N is to run all N steps — no formula skips ahead. Unlike chaos (a precision problem), this holds even with perfect, noiseless initial data: determinism is not predictability.

05这套说法在哪儿不成立(Where This Breaks Down)

现在说反面。"简单规则长出无限复杂、还能通用计算、而且抄不了近道"——这套说法很迷人,也正因为迷人,特别容易被拿去过度发挥。用之前,得先知道它的边界在哪。

第一,元胞自动机是离散、确定的玩具。格子非黑即白、时间一格一格跳、规则铁板一块、没有一丝噪声。真实世界是连续的、带噪声的,而且规则本身还会变(第 26 期讲的适应系统就专门讲这个)。"整个现实就是一台大 CA"是一个有启发的猜想(Wolfram 在这上面押得很重),不是一个已被证实的事实——把它当事实,就从科学滑进了形而上学。

第二,"混沌边缘是复杂/生命/计算的最佳地带"这句话,比它听起来要软得多。它源于 Langton 的 λ 参数实验,但 1993 年 Melanie Mitchell、James Crutchfield 和 Peter Hraber 用遗传算法复查,发现所谓"演化会自动把系统推到边缘去做计算"的结论,相当程度上是实验设置的产物,不是一条稳健的规律。"边缘"作为比喻很好用,作为一条可测量、可预测的定律,目前立不住。别拿它当挡箭牌,说"我们就是要待在混沌边缘"。

第三,图灵完备 ≠ 正在做有用的计算。说生命游戏"能"算任何东西,和说某个具体的生命游戏格局"正在"算有用的东西,是两码事。绝大多数第 IV 类格局,什么有意义的都没算,就是一堆滑翔机在乱撞。"它是图灵完备的"常被拿来给一个系统镀金,仿佛因此就深刻——但通用性是一种潜力,不是一项成就

第四,也把决策线收回来:"复杂的结果不需要复杂的原因"说的是不需要,不是没有,更不是"所以怪不了规则"。那条局部规则真实存在、可以被指认、可以被修改。芋螺的壳有确切的发育机制,规则 30 有确切的定义。把"原因不必精巧"读成"没有原因可追",是又一次把一个关于结构的命题,偷换成一个关于责任的命题——和上一期自组织临界那个陷阱,一模一样。

🎯 决策线

拿"一条简单规则就能解释它"下结论之前,先诚实地说出你的系统和 CA 差在哪:有没有噪声?规则本身会不会自己变?你是真找到了那条规则,还是只找到一个"看起来像"的比喻?三个问号里只要有一个答不上来,就别把 CA 的结论直接搬过去——尤其别拿它去给谁开脱。

🎒 场景 · BigCat

  1. 带团队与组织团队里一个反复出现的诡异现象——比如"季度目标最后总能完成,但谁都说不清是怎么完成的"——很容易被读成背后有套复杂的隐性博弈、或某个人在下大棋。换个看法:它多半是几条简单的局部激励规则(考核只认结果 + 信息只向上报 + 没人愿第一个说坏消息)迭代出来的涌现,没有谁在布局。具体动作:别去揣测"谁在使什么心眼",把这几条激励规则摆到台面上,只改其中一条(比如加一句"坏消息优先、且不追第一个报的人"),在小范围原样跑一轮,看整体行为怎么变——改规则,不是猜人心。
  2. 育儿孩子那套愈演愈烈、一到某个点就升级的精巧行为,很容易被解读成"性格问题"或"故意气我"——一个复杂的内在原因。可它多半只是一条简单的局部反馈规则(某行为 → 得到关注或让步 → 被强化)迭代出来的时空图,行为的繁复不代表根子有多深。具体动作:别去解读那套行为"想表达什么"(你越解读它越长,就像规则 30 越跑越花),去记录它前后各发生了什么(触发 → 行为 → 你的回应),找到那条规则,改掉"回应"那一环——而不是给孩子贴一个复杂标签。
  3. 写作与这个学习站本身这个站本身就是一台 CA:每期都由 ENGINE 那几条固定规则(决策线 + 两级越界 + BigCat + 最后一节留给证伪)迭代生成。它的风险不是写不出,而是悄悄漂进 II 类——每期越来越像上一期,冻结成一个可预测的模板。具体动作:别靠"多加一条规则"来求丰富(那只会更冻);盯一个具体判据——最近几期的越界联想,是不是开始反复挂同几个人物、同几个学科?若是,说明已经滑进 II 类,该做的是换掉一条规则(比如强制某一大类必须出现新面孔),而不是再加一条。

🌀 越界 · 跨学科的联想(Crossings)

深入思考(Going Deeper)

如果"混沌边缘"最有创造力,一个团队或组织能不能有意地维持在那儿?

支持者会说能,且那是创新的最佳位置。但要小心:如第 5 节所说,这个说法目前更多是隐喻而非可测的主张——你得先说清这个组织的"坡度"到底是什么、拿什么量。说不出量纲的"边缘",就只是一个好听的词。真要落地,先找一个可观测的代理指标(比如决策的可逆比例、信息在层级间的流通速度),再谈"往边缘调"。

规则 110 图灵完备意味着"简单能算一切",那为什么真实世界还需要复杂的芯片?

因为通用性是潜力,速度和密度是另一回事。规则 110 能算任何东西,但慢到没有任何实用价值——把一次加法编码进滑翔机的碰撞,要跑天文数字的步数。真实芯片贵在"每瓦、每平方毫米、每秒能组织出多少有用计算",而不在"能不能算"。这也反过来解释了第 5 节第三点:图灵完备是入场券,不是名次。

如果历史或经济是计算不可约的,"以史为鉴"还有意义吗?

有。不可约性否定的是点预测(精确算出下一个具体状态),不否定学习分布、学习机制、学习边界。你没法预测下一场危机的确切时点与规模,但仍能认出"缓慢积累 + 阈值释放"这种结构、仍能改系统的耦合。可约的那部分照样可学——只是别再指望有一条能跳着算的"历史公式"。

我们凭什么判断一个精巧的东西背后是简单规则、还是真有复杂设计?

一般来说——判断不了。"能不能被一条更短的规则生成"这个问题,本身就与柯尔莫哥洛夫复杂度(Kolmogorov complexity)相关,而后者是不可计算的(第 41 期会讲)。能做的只是"试着去搜一条短规则":搜到了,说明简单成因足够;搜不到,既不能证明它复杂、也不能证明它简单。谦逊是这里唯一诚实的姿态。

延伸阅读(Further Reading)