元胞自动机(CA)是一组排列在特定形状的网格中的细胞(也叫做元胞),每个细胞的状态根据一组定义的规则(由相邻细胞的状态驱动)作为时间的函数变化。它被用于公钥密码学,以及在地理学、人类学、政治学、社会学和物理学等领域。

元胞自动机的特征

CA是特定形状网格上的彩色细胞或原子的集合。每个细胞都处于有限的状态之一。该计算模型既抽象又时空离散。

计算性是指该模型可以计算函数和解决算法问题。抽象指的是CA可以用纯数学术语来指定。CA在空间和时间上都是离散的,这意味着在每个时间单位中,构成CA的单元表示有限的状态集中的一个。此外,网格中的细胞通过考虑相邻细胞的状态,以离散时间步并行进化。

因此,CA通过几个离散时间步骤的演化是基于一组建立在相邻细胞状态上的规则。这些规则可以根据需要迭代应用任意多的时间步骤。

CA的典型特征如下:

元胞自动机的形状和状态

细胞自动机有不同的形状和种类。最简单的CA是一维的,单元格位于一条直线上,每个单元格只能有两种可能的状态(例如高/低或黑/白)。然而,其他形状也是可能的。在二维空间中,常见的单元格形状是正方形、六边形和立方体。

理论上,CA可以有任意数量的维度,每个细胞可以有任意数量的可能状态。每个细胞的状态以离散的步骤以固定的时间间隔变化。在任何给定时间,这种状态取决于以下情况:

CA可以构造在任意维数的笛卡尔网格上。

常见类型的元胞自动机

CA有很多种类型,最简单的类型是二元的、最近邻的一维自动机,称为基本元胞自动机。这样的CA共有256个。 另一种类型的CA是最近邻k色一维整体细胞自动机。在最简单的CA中,k = 3。

在二维中,最著名的两个CA如下:

一个特定单元相邻的三个单元有八种可能的二进制状态,这意味着有28 = 256个基本CA,其中每个CA都可以用8位二进制数索引。

基本CA的主要特征如下:

二维CA: John Conway的生命游戏

John Conway的Game of Life(也被简称为Life)是一个二维的、极权的CA,它比基本CA引入了更多的复杂性,因为网格中的每个细胞都有更大的邻域。它是一个“通用”(或计算通用)CA,因为它可以有效地模拟任何CA、图灵机或其他可以转换为已知通用系统的系统。

这个二维CA由细胞矩阵组成,而不是一维的细胞行。每一代都会根据周围细胞的状态来开启或关闭细胞。

在生命中,一个细胞周围有八个细胞。检查所有8个单元格,看它们是否处于开启状态。对单元格进行计数,该计数用于确定当前单元格将发生什么。根据计数,定义Life的规则如下:

CA的实际应用

下面是CA的一些最流行的应用。

参考资料