All nine boards run Conway’s Game of Life. Different patterns, exactly the same rule.
Tap any board to open it in the lab. Read on, and you will come to know each one.
这九块棋盘,都在运行康威的生命游戏。图案不同,规则完全一样。
点一块,就能在实验台里打开它。往下读,你会一块一块认出它们。
One set of rules. More than you might expect. 从几条规则开始,看看小格子能走多远。
All nine boards run Conway’s Game of Life. Different patterns, exactly the same rule.
Tap any board to open it in the lab. Read on, and you will come to know each one.
这九块棋盘,都在运行康威的生命游戏。图案不同,规则完全一样。
点一块,就能在实验台里打开它。往下读,你会一块一块认出它们。
You arrange the starting pattern; the board then follows one fixed rule on its own, and each update of the whole board is a generation. A light square is alive, a dark one is dead.
你摆好开局,棋盘就按一条固定规则自己变化,整张棋盘更新一次叫作一代。亮格是活,暗格是死。
Keep the rule in two sentences把规则记成两句话
The six cards add up to one rule:
A live cell with 2 or 3 live neighbours stays alive. With any other number it dies.
A dead cell with exactly 3 live neighbours comes alive; otherwise it stays dead.
六张卡合起来,就是全部规则:
活着的格子,身边有 2 个或 3 个活邻居就继续活;多了少了,都会死。
死着的格子,身边正好 3 个活邻居,就会活过来;其他情况仍然是死的。
This is written B3/S23. B3: birth with 3 live neighbours. S23: survival with 2 or 3.这套规则简写为 B3/S23。B3:3 个活邻居时诞生;S23:2 或 3 个活邻居时存活。
Until now, we watched one cell. Now pull back: every cell on the board makes the same decision, all of them reading the same old board, and all of them updating together. Some patterns enter a recognizable rhythm almost at once. The three clearest:
刚才只看一个格子。现在把镜头拉远:棋盘上每个格子都做同样的判断,都看同一张旧棋盘,算好所有结果,再一起更新。有些图案很快就会进入规律,最容易认的有三种:
Many cells, a few states, a local rule, and simultaneous updates: this is a cellular automaton. 许多格子按局部规则一起更新:生命游戏就是一种元胞自动机。
First: stay still.
第一种:保持不变。
A pattern that never changes is called a still life.永远不再变化的图案,叫作静物。
Second: repeat in place.
第二种:原地循环。
A pattern that repeats after a fixed number of generations is an oscillator. The blinker has period 2. 经过固定代数回到原形的图案,叫作振荡器。闪烁者的周期是 2。
Third: move.
第三种:向前移动。
A repeating pattern that changes position is a spaceship. This one is the glider, the smallest spaceship in Life.重复形状、同时改变位置的图案叫飞船;眼前这个叫滑翔机,是生命游戏里最小的飞船。
Seven cells are enough for a long unfolding story. This seed is called Acorn.
只摆七格,也能热闹很久。这颗种子叫「橡果」。
Look closely at three pieces看看终局里的三小片
Three small pieces taken from this very ending; the dashed outlines keep their starts. Step them a few generations: which kind is each?从终局里取出的三小片,虚线是各自的起点。让它们走几代,每一片是哪一种?
The name and the final pattern名字与最后留下的图案
Why “Acorn”?为什么叫「橡果」?
Charles Corderman found this seven-cell Methuselah in 1971. Robert Wainwright named it after seeing its enormous final census, which he called an “oak tree”: a tiny acorn had grown an oak.
At generation 5,206, new collisions finally stop. The 633 live cells that remain include 13 escaping gliders; everything else is a still life or an oscillator you already know.
1971 年,查尔斯·科德曼发现了这个七格玛土撒拉。罗伯特·温赖特看完它庞大的终局统计,把最后留下的图案叫作「橡树」;这颗七格种子,也就有了「橡果」这个名字。
到第 5,206 代,新的碰撞终于停止。留下的 633 个活格里,包括 13 架向外飞走的滑翔机;其余都是你认识的静物和振荡器。
Discovery and original census: LIFELINE, vol. 3 (1971) · Pattern data: Acorn (LifeWiki) 发现与原始统计:《LIFELINE》第 3 期(1971) · 图案数据:橡果(LifeWiki)
Why do five cells take so long?为什么五格也能变化很久?
All three patterns so far follow a recognizable rhythm from the beginning. Some beginnings do not: they spread and collide for a long time before anything familiar is left.
These five cells are the R-pentomino. Guess: how many generations until it reaches its final behaviour?
刚才三种图案,从一开始就已经有规律。有些开局不是这样:先扩散、碰撞,过很久才留下熟悉的东西。
这五格叫 R 五连块。猜猜,它要经过多少代,才会进入最终规律?
The answer答案
1,103 generations1,103 代
All eleven grey bars fit below 10 generations. R alone reaches 1,103.其他 11 种全部挤在 10 代以内;只有 R 五连块伸到了第 1,103 代。
Once new collisions stop, 116 live cells remain: still lifes, oscillators, and six escaping gliders. The ending returns to the same rhythms we just learned.
Here, settled does not mean frozen: a blinker keeps blinking and a glider keeps travelling; they simply stop colliding and making new things. The stretch before the final behaviour is the transient. Patterns with tiny beginnings and very long lives are called Methuselahs. The first glider ever observed was found while people were following this one.
新的碰撞停止以后,棋盘上还剩 116 个活格:静物、振荡器,和 6 架飞走的滑翔机。最后仍然回到我们刚认识的那些规律。
这里说的「稳定」不等于画面静止:闪烁者还在闪,滑翔机还在远去,只是不再相撞、不再制造新图案。进入最终规律以前的这段过程,叫作「暂态」。这种小小开局、久久不肯稳定的图案,叫作「玛土撒拉」。生命游戏里的第一架滑翔机,就是人们追踪它时发现的。
Pattern count: OEIS A000105 · Life data: R-pentomino (LifeWiki) 图案数量:OEIS A000105 · 演化数据:R 五连块(LifeWiki)
Conway had a hunch: from finitely many live cells, the population could never grow forever. He offered $50 to the first person who proved or disproved it before the end of the year.
康威有个猜想:从有限几个活格开始,活格数量不可能一直增长。他悬赏 50 美元:谁能在年底前证明或推翻它,奖金归谁。
One month later, Bill Gosper at MIT sent in this pattern: the first glider gun.
一个月后,MIT 的比尔·高斯珀交来了这个图案:第一把「滑翔机枪」。
Look inside the gun拆开看看枪里的零件
Every 30 generations, another glider emerges. A finite start keeps making new live cells: Conway’s conjecture was disproved.
每隔30代,又飞出一架滑翔机。有限的开局,不停制造新的活格:康威的猜想被推翻了。
Back in Life, a seed we chose leaves a heart-shaped trail.
回到生命游戏,我们挑选的一颗种子,留下心形轨迹。
Rose shows everywhere a cell has lit up, not just what is alive now.玫瑰色是曾经亮过的位置,不是现在还活着的格子。
The story continues. Next, we will use these patterns to build a computer.故事还没结束。接下来,用这些图案搭一台计算机。
The gun above fires one glider every 30 generations; that fixed interval is one beat. Once there is a steady beat, an empty beat can mean something.
Take five beats. Each could carry one glider; we leave two of them empty.
The signal here is spaced wider than the gun's so each beat is easy to see, so the readings are further apart too: after the first reading, look at the reading point again every 40 generations, and only then: is a glider there at that moment, or not?
上面那把枪每隔 30 代出一架:这段固定的间隔,就是一拍。有了固定的节拍,空下来的一拍才开始有意义。
现在取五拍。每一拍原本都可以有一架滑翔机;我们让其中两拍空着。
这次的信号排得比枪疏一些,方便看清,所以读数的间隔也拉开了:第一次读数后,每隔 40 代再看一次读数口,只看那一刻有没有滑翔机。
You read: present, empty, present, present, empty. Write present as 1 and empty as 0: 10110. A 0 is not another pattern. It is a beat in which the expected glider is absent.
The gliders no longer merely move. Their arrangement now carries information.
你读到的是:有、空、有、有、空。把“有”写成 1、“空”写成 0,就是 10110。0 不是另一种图案,只是本来可以有滑翔机的那一拍空着。
滑翔机不再只是向前移动。它们的排列,开始携带信息。
A sequence such as 10110 carries information, but it does not calculate anything yet.
Compare two runs. The gliders are the same on both sides; only the right-hand run gets a second glider, an interceptor. Play to generation 64 and read the marked exit.
像 10110 这样的信号可以携带信息,但它还不会计算。
先对照两次实验。两边的滑翔机一样,只有右边多放了一架拦截机。播放到第 64 代,在标出的出口读结果。
The first glider would have kept going. Because a second glider arrived at the crossing on time, both disappeared, and the output changed from 1 to 0: one signal changed another.
Whether a glider leaves the crossing now depends on another input. This reliable input-to-output relationship is logic.
第一架滑翔机本来会继续前进;因为第二架准时到达路口,两架一起消失,输出就从 1 变成了 0。计算开始于一个信号能够改变另一个信号。
现在,路口最后有没有滑翔机,取决于另一个输入。这种稳定的输入和输出关系,就是逻辑。
Try it yourself: when should you fire?再动手试试:什么时候发射?
Start the run, then fire before the first glider reaches the crossing. The silo releases your interceptor on the next available beat. 先开始运行,再在第一架滑翔机到达路口前发射。发射井会等到下一个正确的拍,才放出拦截机。
The collision above can be turned into a switch. The switch only chooses the starting patterns, not Life's rule, and changing it restarts the experiment. In the table, 1 means “let the signal pass” and 0 means “block it”.
Picking a row below throws the switch. Wait for the lamp, then compare it with that row.
把刚才的碰撞交给一个开关。开关只选开局摆哪些图案,不改规则;每次切换,实验从头重跑。表里的 1 是「允许通过」,0 是「阻断」。
在下面的表里选一行,就是扳一次开关。等灯给出结果,再和这一行的预期对一对。
Throw the switch on the board, or pick a row直接扳棋盘上的开关,或者点一行
Closed, no interceptor is launched and the signal reaches the lamp. Open, an interceptor is launched and removes the signal on the way. The lamp does not perform the logic; it only makes the board's result easy to see.
闭合时不发射拦截机,信号一路抵达灯泡;断开时多发一架拦截机,把信号在半路消掉。灯没有参与逻辑,它只是把棋盘算出的结果显示出来。
A machine has to make the same decision more than once. It needs a way to remove a glider without leaving wreckage behind.
Put this seven-cell hook in the gun's line of fire. After each glider hits it, what is left? The counter in the corner keeps score.
机器不能只判断一次。它需要一种办法,消掉滑翔机,却不在路上留下残骸。
把这个七格小钩子放在枪口的路上。每架滑翔机撞上去之后,会留下什么?角上的计数在记账。
The glider disappears; the hook is unchanged and ready for the next one. It is called an eater, and it is a still life: because it returns to the same state after every glider, it can become a reliable stop in a circuit. Move it one square, and both explode.
滑翔机消失了,钩子还是原样,还能等下一架。它叫「吞噬者」,是一种静物:每次吞掉滑翔机后都回到原样,因此可以成为电路里可靠的终点。位置差一格,两者都会爆炸。
Now use the eater as a different kind of blocker. An open switch places an eater on the path; a closed switch leaves the path clear. There is no intercepting glider in this experiment.
Put two switches on the same path, and the glider must pass both. Each row below sets both switches. Try all four, and watch the lamp each time.
现在换用刚认识的吞噬者来阻断:开关断开,就在路上放一个吞噬者;开关闭合,就让路空着。这一盘不用拦截机。
把两个开关放在同一条路上,滑翔机就必须连续通过两关。下面每一行就是一种扳法。四种都试一遍,每次都看灯。
Throw either switch on the board, or pick a row to set both直接扳棋盘上的开关,或者点一行把两个都扳好
Only A=1 and B=1 lets the glider reach the lamp: this is an AND gate. The same inputs always produce the same output.
只有 A=1 且 B=1,滑翔机才能抵达灯泡:这就是「与门」。相同的输入,每次都会得到相同的输出。
A moment ago, gliders only turned a lamp on or off. Now give the board two entrances. Each entrance can send at most one glider.
The board has one job: count how many arrived. None is 0. One is 1. Two is 2.
Read the resulting pattern yourself before revealing its number.
刚才,滑翔机只负责开灯。现在给棋盘两个入口,每个入口最多来一架。
棋盘只做一件事:数一数,一共来了几架。没有是 0,一架是 1,两架是 2。
先看留下的图案,自己读出答案,再揭晓数字。
A block does not always mean 2: that is our encoding here.方块不是天生就表示 2,这是这台小机器的编码约定。
Engineers call this tiny counting machine a half adder. The name can wait; the important part is that gliders now make the board produce an answer. 工程师把这种最小的加法机器叫作「半加器」。名字可以以后再记;重要的是,滑翔机已经能让棋盘给出答案。
This little machine can do only one tiny step. Follow the glider leaving each collision: it is the input to the next one. This is one fixed chain of reactions, not a complete computer or a proof of what it can compute.
这台小机器只能完成很小的一步。盯住每次碰撞后飞出的滑翔机:它就是下一次碰撞的输入。这是一串固定的反应,不是一台完整的计算机,也不是通用计算能力的证明。
Nothing was swapped in: on the same board, one result became the next input, six times in a row. One machine takes one step and passes the answer on. Connect many of them, and they can complete a long calculation.
A general-purpose machine also needs ways to store information and control which step happens next. People have built those structures in Life too, including a universal Turing machine. With enough space and time, Life can perform any computation an ordinary computer can. This is Turing completeness—not a promise that it will be fast.
棋盘没有换场:一个结果成为下一次输入,连续六次。一台算一步,再把答案交出去;许多台接在一起,就能完成很长的计算。
通用机器还需要记住信息、控制接下来执行哪一步。人们也用生命游戏搭出了这些结构,并建成了通用图灵机。只要棋盘和时间足够大,生命游戏就能完成普通计算机能做的任何计算。这种能力叫「图灵完备」,不表示它算得快。
A constructed example: Paul Rendell's fully universal Turing machine in Life (2011) 实物例证:Paul Rendell在生命游戏中建成的完整通用图灵机(2011)
Life patterns have switched signals and added numbers. The last machine computes the most familiar thing of all: should one Life cell be on or off in the next generation?
Can a crowd of tiny cells work together to play that one large cell?
前面的图案开关了信号、完成了加法。最后这一台,算的是最熟悉的一件事:一个生命游戏格子,下一代应该亮,还是灭。
一群小格子,能不能合伙扮演这个大格子?
Pattern, name, and history (LifeWiki) 图案、名称与历史(LifeWiki)
The rule never changed; only the starting patterns did. And off the board?规则始终没变,变的只是开局图案。想换一种规则?去互动集继续玩。