元胞自动机
元胞自动机是一张由细胞组成的网格,每个细胞都有一个状态,例如存活或死亡。每一步,所有细胞都在同一时刻改变,遵循同一条固定规则,而这条规则只看细胞本身和它的邻居。规则一行就能写完,结果却不简单:滑翔机、混沌、三角形,甚至能运行的计算机。本页运行五个经典例子。 选择一个自动机,看它运行。在网格上点击或拖动来绘制细胞,或选择“擦除”。在 Wireworld 中,画一条导线并点击它,就能发出一个电子。规则30 和规则110 每一代自上而下添加一行。
它是如何运作的
- 打开本页。生命游戏中的滑翔机枪每 30 代发射一架新的滑翔机。
- 选择另一个自动机:规则30、规则110、Brian's Brain 或 Wireworld 电路。输入生命游戏规则,如 B36/S23,或 0 到 255 之间的任意规则编号。
- 在网格上绘制或擦除细胞,调整速度和颜色,然后保存 PNG。
四个部分,一条规则
每个元胞自动机都由同样的四个部分构成。网格是细胞所在的空间:一条线、一个像棋盘一样的平面,或一个 3D 空间。状态是细胞可能处于的情况,最简单的是黑或白、1 或 0。邻域是影响一个细胞的那组细胞,在方格网格上通常是它周围的八个细胞(摩尔邻域),或者只有北、东、南、西四个(冯·诺依曼邻域)。规则是自动机的大脑:它根据细胞自身的状态和邻居的状态,给出每个细胞的下一个状态。
五个经典自动机
在康威生命游戏(B3/S23)中,活细胞有 2 或 3 个活邻居时存活,死细胞恰好有 3 个活邻居时复活。规则30 和规则110 是一维的:每个细胞看自己和左右两个邻居,每一代在上一行下面添加一行。规则30 看起来是随机的,而规则110 能计算计算机能计算的任何东西。Brian's Brain 有三种状态:关闭、激发和不应期,会长出永不停歇的波。Wireworld 有四种状态:空、电子头、电子尾和导体,可以用来搭建电路。
由易到难
生命游戏和规则30 最容易理解:一条规则、两种状态,画面一看就懂。Brian's Brain 加入第三种状态,让每个脉冲都一直向前移动。Wireworld 适合动手搭建:导线、时钟、二极管和逻辑门。规则110 最难看懂,因为它的移动结构只有在重复的背景上才会显现。正是这个背景让它具有通用性。
常见问题
什么是元胞自动机?
一张由细胞组成的网格,每个细胞处于少数几种状态之一。每一步,所有细胞按同一条规则同时更新,这条规则只看一个细胞和它的邻居。简单的规则仍然能产生复杂、不可预测的图案。
康威生命游戏的规则是什么?
B3/S23。恰好有 3 个活邻居的死细胞会诞生。有 2 或 3 个活邻居的活细胞会存活。其他所有细胞在下一代都是死的。
规则30 为什么有名?
从单个黑色细胞出发,它会长出一个三角形,其中间一列看起来是随机的,尽管每一步都是确定的。斯蒂芬·沃尔夫勒姆把这一列用作随机数生成器。
规则110 是通用的,这是什么意思?
马修·库克证明,只要首行合适,规则110 就能完成通用计算机能完成的任何计算。它是已知能做到这一点的最简单的规则之一。
Brian's Brain 和 Wireworld 是怎么运作的?
在 Brian's Brain 中,关闭的细胞在恰好有 2 个邻居激发时激发,激发的细胞进入不应期,不应期的细胞变为关闭。在 Wireworld 中,电子头变成电子尾,电子尾变成导线,当 1 或 2 个邻居是电子头时,导线变成电子头。
准备好尝试了吗?
在浏览器中打开 PictorX — 无需安装,无需信用卡即可启动。
前往编辑器