生命游戏是最着名的二维元胞自动机,由John H. Conway发明,并于1970年10月开始在Martin Gardner的“ 科学美国人”专栏中推广 。生命游戏最初是由生产的游戏(即连续世代产生)手持计数器,但在计算机上实现大大增加了探索模式的难易程度。
生命元胞自动机通过在二维网格上放置多个填充单元来运行。然后,每一代都根据周围细胞的状态打开或关闭细胞。规则定义如下。检查当前周围的所有八个单元以查看它们是否打开。计数所有打开的单元格,然后使用此计数来确定当前单元格将发生什么。
1.死亡:如果计数小于2或大于3,则关闭当前单元格。
2.生存:如果(a)计数正好为2,或者(b)计数正好为3且当前单元格打开,则当前单元格保持不变。
3.出生:如果当前单元关闭且计数正好为3,则打开当前单元。
生活的游戏是一个极权元胞自动机,并且可以使用内置的命令如下来实现CellularAutomaton,其中所述初始条件被指定为一个二进制矩阵和后代的结果通过被返回。(这里,对应于初始模式。)
生活[m_List?MatrixQ,{g1_Integer?nonNegative,
g2_Integer?NonNegative}]:=
CellularAutomaton [
{
224,
{2,{{2,2,2},{2,1,2},{2,2,2}}},
{1,1}
},
{m,0},
G2,
{
{g1,g2},
自动
}] /; G2> = G1
Weisstein对生命形式和术语进行了广泛的字母表制表。
从一代到下一代没有变化的图案被称为静物,并且据说具有周期1.以上示出了几种静物。细胞的静止数量为2,3或......,分别为0,0,0,2,1,5,4,9,10,25,46,121,240,619,1353 ...... (OEIS A019473)。
循环通过一组配置的模式称为振荡器。
康威最初认为,没有任何模式可以产生无限数量的细胞,并且向任何能够在1970年底之前找到反例的人提供50美元的奖金(Gardner 1983,p.216)。随后发现了许多反例,包括枪支和河豚列车(如上图所示)。
没有父亲模式的生活模式被称为伊甸园(出于明显的圣经原因)。第一个这样的模式直到1971年才被发现,至少有三个现在已知。然而,不知道是否存在具有父模式但没有祖父模式的模式(Gardner 1983,第249页)。
令人惊讶的是,生命是一种通用的元胞自动机,从某种意义上讲它可以有效地模拟任何细胞自动机,图灵机或任何其他可以转化为已知通用系统的系统。Berlekamp 等人给出了生命普遍性证明的概要。(1982)和Gosper独立(Gardner 1983,pp.250-253)。大约2000年,图灵机 可以扩展到通用图灵机P. Rendell在生活中明确地实施了这一点(Rendell,Adamatzky,2001)。虽然Rendell的机器可以简单地通过使他的磁带无限制成一个“真正的”通用计算机,但他既没有注意到这一事实,也没有提供通用图灵机的实际结构。随后,在2002年11月11日,P。Chapman基于D. Hickerson的“滑块存储器”方法构建了一种生命模式,该方法实现了通用 寄存器机器的动作。与Rendell 图灵机的有限磁带不同,查普曼机器寄存器中的值是无界的,使其成为生命游戏中通用计算的真正模型。查普曼的建筑在一个地区使用活细胞,并且可以在400 MHz计算机上计算大约每秒20代。
更令人惊讶的是,正如Wolfram(2002)所示,甚至一维细胞自动机(特别是规则110)也可以是通用的。
已经构建了类似于生命但具有不同规则 的二维元胞自动机游戏并且给出了名称HexLife和HighLife。HashLife是一种生命算法,通过将子模式存储在哈希表中并使用它们向前跳过(有时一次数千代)来实现显着的速度。