康威生命游戏(Conway's Game of Life)的规则和演化原理是什么?
康威生命游戏是一个"零玩家"的元胞自动机:你只需在网格上摆好初始细胞,之后不再需要任何操作,系统会按固定规则自动演化下去。它由英国数学家 John Horton Conway 于 1970 年提出,conwaylife.appspot.com 就是运行这一模拟的网页版本,提供"New Game"(新建游戏)和"Pattern Library"(图案库)两个入口,让你直接观察规则产生的效果。
元胞自动机:规则简单,行为复杂
生命游戏属于"元胞自动机"(cellular automaton)。它的世界是一个二维网格,每个格子(细胞)只有两种状态:存活或死亡。每一轮演化时,每个细胞都根据自己周围 8 个邻居的状态,同时决定下一轮是生是死。所有细胞同步更新,没有先后顺序。
关键点在于:规则本身只有几条,但由此产生的图案却极其丰富——这正是它被称为"游戏"却不需要玩家操作的原因。
三条生死规则
对每个细胞,看它周围 8 个邻居中有几个是存活的:
| 当前状态 | 邻居数 | 下一轮 |
|---|---|---|
| 存活 | 少于 2 | 死亡(孤独) |
| 存活 | 2 或 3 | 存活 |
| 存活 | 多于 3 | 死亡(拥挤) |
| 死亡 | 恰好 3 | 存活(繁殖) |
| 死亡 | 其他 | 保持死亡 |
用一句话概括:活细胞在邻居为 2 或 3 时存活,死细胞在恰好有 3 个活邻居时诞生。
零玩家游戏意味着什么
"零玩家"(zero-player game)指演化完全由初始状态决定,中途不需要任何输入。你唯一要做的,就是设定第一帧的细胞布局,然后观察它如何发展。这带来两个直接后果:
- 可预测但难预测:规则完全确定,给定初始状态,结果唯一;但初始状态稍作改动,后续演化可能完全不同。
- 重点在观察:玩这个"游戏"的方式是设计初始图案,然后看它稳定、振荡还是移动。
常见图案的演化表现
不同初始布局会走向不同命运,几类典型图案:
- 静物(still life):演化几轮后不再变化,如方块(block)。
- 振荡器(oscillator):在几个状态间循环,如"闪烁灯"(blinker)在横竖之间来回切换。
- 滑翔机(glider):一种会沿对角线缓慢移动的图案,是生命游戏最著名的"飞船"。
- 枪(gun):能周期性发射滑翔机的结构,说明简单规则可以产生持续输出。
这些图案在网站的 Pattern Library 里可以直接加载查看,不必自己手动画。
在 conwaylife.appspot.com 上怎么用
该网站把上述规则做成了可视化模拟:
- 点 New Game:开始一次模拟,并创建新的生命布局。
- 点 Pattern Library:从预设图案库中加载并显示一个现成图案。
加载或画好初始布局后,页面会按规则逐代演化,你能直观看到细胞如何生灭、图案如何移动或稳定。想深入查资料,网站还链接了 LifeWiki 和 Life Lexicon 两个专门资源。
一句话总结
生命游戏用"邻居数决定生死"这一条核心机制,把静态的初始布局变成动态演化过程;conwaylife.appspot.com 则是观察这套规则实际运行效果的在线入口。