libincao
← ARTICLES
2026.10.20 · 9 MIN · 中文 · 随笔

涌现:复杂的结果并不需要复杂的原因

看到一个复杂的东西,我们的第一反应通常是:它背后一定有一个复杂的原因。一座精密的蚁穴,背后应该有一位聪明的设计师;一群整齐转弯的鸟,前面应该有一只领头的指挥。但这几天我被几个小实验彻底说服了:很多时候,复杂的结果背后,只是几条简单到不像话的规则,加上足够多的重复。

文中的配图都是用代码真实跑出来的模拟结果,不是示意图。

一片整齐的小方格从左下角开始松动、聚拢,往右上方渐渐变成一群飞鸟
小方格聚成了鸟群。

这件事有个名字,叫涌现(emergence):整体出现了个体身上没有的性质。下面这几个实验,每一个都可以在网上找到在线版本亲手玩一玩。

一、康威生命游戏:四条规则,一个世界

1970 年,英国数学家约翰·康威发明了一个「游戏」。说是游戏,其实没有玩家:你只决定开局的样子,然后看它自己演化。

一个无限大的方格棋盘,每一格是一个细胞,只有「活」和「死」两种状态。每一代,每个细胞看看身边的 8 个邻居:

  1. 活细胞,邻居少于 2 个:孤独而死
  2. 活细胞,邻居 2 或 3 个:继续活着
  3. 活细胞,邻居多于 3 个:拥挤而死
  4. 死细胞,邻居正好 3 个:诞生

就这些。小学生都能看懂。

然后奇怪的事情发生了。

有些图案一动不动,像静物;有些来回闪烁,像心跳;还有一种只有 5 个细胞的小图案,每 4 代就往斜下方挪一格,一直往前爬,像一只小虫。它被叫做滑翔机(glider)。

滑翔机从第 0 代到第 4 代的五个格子图,第 4 代的形状和第 0 代一样,但整体往右下挪了一格

注意:没有任何一个细胞在移动。 每个细胞都待在原地,只是决定自己这一代是生是死。所谓「移动」,只有当你退后一步、把那 5 个细胞看成一个整体时才存在。规则里根本没有「移动」这个词,移动却出现了。

这就是涌现最直观的样子。

后来事情越来越离谱。同一年,有人找到了一个能源源不断「发射」滑翔机的结构,叫滑翔机枪。再后来,人们发现可以用滑翔机当信号、用它们的碰撞当逻辑门,在生命游戏里搭出一台完整的计算机。

高斯帕滑翔机枪的动图:左上角的结构来回振荡,每隔一段时间朝右下方射出一只滑翔机
高斯帕滑翔机枪:左上角的「枪」每 30 代射出一只滑翔机

也就是说,生命游戏是图灵完备的:只要棋盘够大、时间够长,它能计算任何一台电脑能计算的东西。

还有一个让人背后发凉的推论:因为它图灵完备,所以对一般的开局,你没有办法提前知道它最后会变成什么样,唯一的办法就是让它跑下去看。

规则你全知道,结果你却预测不了。

二、兰顿蚂蚁:一万步混乱之后,突然开始修路

1986 年,克里斯·兰顿设计了一只更简单的「蚂蚁」。它站在一个全白的方格棋盘上,只遵守两条规则:

  1. 在白格上:右转,把这一格涂黑,前进一步
  2. 在黑格上:左转,把这一格涂白,前进一步

开始跑。

前几百步,它画出一些对称的小图案,看起来挺规整。接着它陷入一片混乱,黑白格子乱七八糟地堆在一起,看不出任何规律,这样持续了大约一万步。

然后,毫无预兆地,它开始以 104 步为一个周期,朝一个方向笔直地修出一条「高速公路」,并且永远修下去。

兰顿蚂蚁在第 500 步、第 10000 步和第 12000 步时的格子图:先是小而对称,然后是一大团混乱,最后从混乱中伸出一条斜向的规整长条

为什么是一万步?为什么会突然变得有秩序?到今天也没有人能严格证明它一定会这样。两条规则,困住了数学家几十年。

三、规则 110:只看左右邻居,也能当电脑

生命游戏是二维的,那一维的呢?

想象一排格子,每格还是只有黑白两种。每一代,每个格子只看自己和左右两个邻居,一共 3 格,2³ = 8 种情况。为每种情况规定下一代是黑还是白,就是一条规则。这样的规则一共只有 256 条。

规则 110 的八种情况:上面三格是自己和左右邻居,下面一格是自己下一代的颜色

其中编号 110 的那一条,画出来是一片又像有序又像无序的三角形纹理。斯蒂芬·沃尔弗拉姆早在 80 年代就猜测它不简单,后来他的助手马修·库克证明了:规则 110 也是图灵完备的。

规则 110 从右上角一个黑格子开始,往下一代代展开,长成一个布满大小三角形的斜三角区域

一排格子,每格只看两个邻居,就足以计算任何东西。这大概是「简单规则」的极限了。

四、曼德博集合:一个公式,无限细节

这个实验连格子都不需要,只需要一个公式:

z → z² + c

在复平面上取一个点 c,从 z = 0 开始,反复套这个公式。如果 z 一直不跑到无穷大,就把这个点涂黑。

把整个平面都这样算一遍,你会得到一个像甲虫一样的黑色形状。它的边缘是无穷复杂的:放大十倍,有新的花纹;放大一万倍,还有;放大一亿倍,依然有,而且时不时会冒出一个缩小版的自己。

三张曼德博集合图:整体形状、放大约 270 倍的海马谷细节,以及另一处放大后出现的缩小版集合

这张图的全部信息,就藏在 z² + c 这五个字符里。

五、回到现实:鸟群、堵车,和我们自己

这些不只是数学游戏。

鸟群。 1986 年,克雷格·雷诺兹写了一个叫 Boids 的模拟程序,每只「鸟」只遵守三条规则:别撞到身边的鸟;跟身边的鸟方向保持一致;往身边鸟群的中心靠一靠。没有领头鸟,没有全局指挥。跑起来之后,整群鸟像一个整体一样流动、分开、汇合、绕开障碍物,和真实的鸟群几乎一模一样。后来很多电影里的蝙蝠群、兽群,用的就是这个思路。

左图是方向随机、散落各处的小三角形,右图 400 步后它们聚成了几群,朝向基本一致

堵车。 2008 年,日本的研究者做了一个实验:让 22 辆车在一条 230 米长的环形跑道上,以同样的速度匀速行驶。前方没有红绿灯,没有事故,什么都没有。没过多久,车流里就自己冒出了一段「走走停停」的拥堵,并且像波浪一样一圈一圈往后传。原因只是每个司机对前车都有一点点反应延迟,这一点点误差被一路放大了。

时间—位置图:每条线是一辆车,开始时是均匀的斜线,不久后出现成排的平台,表示车辆几乎停住,这些平台往后传播
用经典的「优化速度模型」复现的模拟,不是那次实验的原始数据

我们自己。 如果把时间拉长,你会看到一层叠一层的涌现:

当然要诚实地说,这条链上有两环至今没人真正搞懂:生命是怎么从化学里出现的,意识是怎么从神经元里出现的。但「简单规则 + 大量重复 = 复杂世界」这个框架,已经解释了足够多的东西,多到让人不敢小看它。

写在最后

这几个实验给我最大的触动,不是它们有多神奇,而是它们打破了一个很深的直觉:

复杂,并不需要复杂的原因。

这句话反过来想也成立:一些看起来微不足道的小规则,只要重复得足够久、影响的人足够多,就能长成非常大的东西。

一个人心里的几条小规则,比如「什么样的人是好人」「什么事是对的」,看起来不起眼,跟着人走一辈子,在家人、朋友之间互相影响,最后可能就塑造了一个人的命运,甚至一个群体的样子。

所以值得时不时停下来,看看自己心里跑着的是哪几条规则。

毕竟,你没法预测它们最终会长成什么。唯一的办法,就是让它跑下去看。

想亲手玩的话,搜索 Conway's Game of Life online、Langton's Ant、Mandelbrot zoom,都有现成的网页版。