涌现:复杂的结果并不需要复杂的原因
看到一个复杂的东西,我们的第一反应通常是:它背后一定有一个复杂的原因。一座精密的蚁穴,背后应该有一位聪明的设计师;一群整齐转弯的鸟,前面应该有一只领头的指挥。但这几天我被几个小实验彻底说服了:很多时候,复杂的结果背后,只是几条简单到不像话的规则,加上足够多的重复。
这件事有个名字,叫涌现(emergence):整体出现了个体身上没有的性质。下面这几个实验,每一个都可以在网上找到在线版本亲手玩一玩。
一、康威生命游戏:四条规则,一个世界
1970 年,英国数学家约翰·康威发明了一个「游戏」。说是游戏,其实没有玩家:你只决定开局的样子,然后看它自己演化。
一个无限大的方格棋盘,每一格是一个细胞,只有「活」和「死」两种状态。每一代,每个细胞看看身边的 8 个邻居:
- 活细胞,邻居少于 2 个:孤独而死
- 活细胞,邻居 2 或 3 个:继续活着
- 活细胞,邻居多于 3 个:拥挤而死
- 死细胞,邻居正好 3 个:诞生
就这些。小学生都能看懂。
然后奇怪的事情发生了。
有些图案一动不动,像静物;有些来回闪烁,像心跳;还有一种只有 5 个细胞的小图案,每 4 代就往斜下方挪一格,一直往前爬,像一只小虫。它被叫做滑翔机(glider)。
注意:没有任何一个细胞在移动。 每个细胞都待在原地,只是决定自己这一代是生是死。所谓「移动」,只有当你退后一步、把那 5 个细胞看成一个整体时才存在。规则里根本没有「移动」这个词,移动却出现了。
这就是涌现最直观的样子。
后来事情越来越离谱。同一年,有人找到了一个能源源不断「发射」滑翔机的结构,叫滑翔机枪。再后来,人们发现可以用滑翔机当信号、用它们的碰撞当逻辑门,在生命游戏里搭出一台完整的计算机。
也就是说,生命游戏是图灵完备的:只要棋盘够大、时间够长,它能计算任何一台电脑能计算的东西。
还有一个让人背后发凉的推论:因为它图灵完备,所以对一般的开局,你没有办法提前知道它最后会变成什么样,唯一的办法就是让它跑下去看。
规则你全知道,结果你却预测不了。
二、兰顿蚂蚁:一万步混乱之后,突然开始修路
1986 年,克里斯·兰顿设计了一只更简单的「蚂蚁」。它站在一个全白的方格棋盘上,只遵守两条规则:
- 在白格上:右转,把这一格涂黑,前进一步
- 在黑格上:左转,把这一格涂白,前进一步
开始跑。
前几百步,它画出一些对称的小图案,看起来挺规整。接着它陷入一片混乱,黑白格子乱七八糟地堆在一起,看不出任何规律,这样持续了大约一万步。
然后,毫无预兆地,它开始以 104 步为一个周期,朝一个方向笔直地修出一条「高速公路」,并且永远修下去。
为什么是一万步?为什么会突然变得有秩序?到今天也没有人能严格证明它一定会这样。两条规则,困住了数学家几十年。
三、规则 110:只看左右邻居,也能当电脑
生命游戏是二维的,那一维的呢?
想象一排格子,每格还是只有黑白两种。每一代,每个格子只看自己和左右两个邻居,一共 3 格,2³ = 8 种情况。为每种情况规定下一代是黑还是白,就是一条规则。这样的规则一共只有 256 条。
其中编号 110 的那一条,画出来是一片又像有序又像无序的三角形纹理。斯蒂芬·沃尔弗拉姆早在 80 年代就猜测它不简单,后来他的助手马修·库克证明了:规则 110 也是图灵完备的。
一排格子,每格只看两个邻居,就足以计算任何东西。这大概是「简单规则」的极限了。
四、曼德博集合:一个公式,无限细节
这个实验连格子都不需要,只需要一个公式:
z → z² + c
在复平面上取一个点 c,从 z = 0 开始,反复套这个公式。如果 z 一直不跑到无穷大,就把这个点涂黑。
把整个平面都这样算一遍,你会得到一个像甲虫一样的黑色形状。它的边缘是无穷复杂的:放大十倍,有新的花纹;放大一万倍,还有;放大一亿倍,依然有,而且时不时会冒出一个缩小版的自己。
这张图的全部信息,就藏在 z² + c 这五个字符里。
五、回到现实:鸟群、堵车,和我们自己
这些不只是数学游戏。
鸟群。 1986 年,克雷格·雷诺兹写了一个叫 Boids 的模拟程序,每只「鸟」只遵守三条规则:别撞到身边的鸟;跟身边的鸟方向保持一致;往身边鸟群的中心靠一靠。没有领头鸟,没有全局指挥。跑起来之后,整群鸟像一个整体一样流动、分开、汇合、绕开障碍物,和真实的鸟群几乎一模一样。后来很多电影里的蝙蝠群、兽群,用的就是这个思路。
堵车。 2008 年,日本的研究者做了一个实验:让 22 辆车在一条 230 米长的环形跑道上,以同样的速度匀速行驶。前方没有红绿灯,没有事故,什么都没有。没过多久,车流里就自己冒出了一段「走走停停」的拥堵,并且像波浪一样一圈一圈往后传。原因只是每个司机对前车都有一点点反应延迟,这一点点误差被一路放大了。
我们自己。 如果把时间拉长,你会看到一层叠一层的涌现:
- 基本粒子遵守物理定律,组合成原子和分子
- 某些分子开始能复制自己,于是有了生命
- 「能复制、会变异、适者留下」这条简单规则跑了几十亿年,长出了从细菌到鲸鱼的一切
- 几百亿个只会放电的神经元连在一起,产生了「我」的感觉
- 无数个「我」互相交流,又涌现出语言、市场、城市和文明
当然要诚实地说,这条链上有两环至今没人真正搞懂:生命是怎么从化学里出现的,意识是怎么从神经元里出现的。但「简单规则 + 大量重复 = 复杂世界」这个框架,已经解释了足够多的东西,多到让人不敢小看它。
写在最后
这几个实验给我最大的触动,不是它们有多神奇,而是它们打破了一个很深的直觉:
复杂,并不需要复杂的原因。
这句话反过来想也成立:一些看起来微不足道的小规则,只要重复得足够久、影响的人足够多,就能长成非常大的东西。
一个人心里的几条小规则,比如「什么样的人是好人」「什么事是对的」,看起来不起眼,跟着人走一辈子,在家人、朋友之间互相影响,最后可能就塑造了一个人的命运,甚至一个群体的样子。
所以值得时不时停下来,看看自己心里跑着的是哪几条规则。
毕竟,你没法预测它们最终会长成什么。唯一的办法,就是让它跑下去看。