这个小节的开头会简单介绍细胞自动机的发展史 然后我们会深入学习最简单的细胞自动机模型,也就是“初级细胞自动机” 细胞自动机的概念由两位数学家:斯塔尼斯拉夫·乌拉姆 和 冯·诺依曼 在1940年代提出。也许你知道冯·诺依曼是计算机 特别是可编程计算机构想的先驱之一。 他对如何让机器拥有生物或类生命的特征十分感兴趣 他尤其感兴趣的是被他同时代的工作者 认为不可能的自复制机器的设想。冯·诺依曼与其同事乌拉姆讨论了这个设想 乌拉姆建议他用细胞空间(cellular space)的概念来展开讨论 这与我们今天所说的细胞自动机(cellular automata)已经很接近了 冯·诺依曼的工作是很有趣的,但这里我不会详细讨论 诺依曼用了一整本书《细胞自动机的自复制理论》来讨论这个问题 而书实际上是由Arthur Burks在诺依曼死后完成的 此书大部分是技术性讨论,但它也标志着生物学与早期计算机理论之间联系的开始 在开始讨论初级细胞自动机之前,我们先来说说细胞自动机的应用 它在计算机科学领域运用很多 细胞自动机是大规模并行计算 和分子尺度运算的模型架构之一 在复杂系统的研究中,细胞自动机作为建模工具 被广泛用于物理 地理 化学等各个领域 它也是研究自组织理论中的抽象概念 以及 复杂系统中的突现计算的工具。这也是我们这个小节要学习的内容 我要指出的是 了解一些细胞自动机对研究复杂系统十分重要 因为它是这个领域最重要的建模工具之一 现在 让我们开始讨论最简单情形:初级细胞自动机 首先它是一维的。 要知道“生命”游戏是二维的 因为我们有二维的网格。 不过这里我们只有一排细胞,以及两种状态 就像“生命”游戏中的一样,一个细胞单元不是白的就是黑的 每个细胞都会参照 它在这条线上 最邻近细胞的状态 那么这个白色单元的邻居是它自己 和两个黑色单元 整条线也可以看成一个圆 这样最左边黑色单元 的邻居就成了 最右边的单元 它自己 以及它右边的单元 就这样整条线围成一个圆 这里我列出了 对于一个单元 所有可能的 邻居的排列 你可以自己验证一下 的确没有其他可能性了 现在要设定细胞自动机 我们得指定 各个中央细胞 会如何变化。 取决于它们的邻居 这整个表格称作该细胞自动机的“规则” 比如这里 如果一个单元是白的 并有两个白色邻居 它就变白 如果一个白色单元有白色左邻和 和色右邻,它会变黑 如此这般,我们必须确定 所有可能的邻居排列和相应变换 这里显示的只是中央单元的 变换规则的一种 让我们看看它的效果 在时间演化中的每一步 各个细胞单元 参照其邻居 同时变化状态 就这样进行下去 最上面的一行是第0步 那么第一步的状态会是...... 以左边的黑白黑为例 依照规则,中央的白色单元 在下一步会变黑 你可以自己检验其他单元依据规则 会如何变化 然后下一步你又可以做同样的事情 每一步都如此重复 好了 现在是小测验时间 测验中会给你一套 与之前相同的规则。而问题是 “根据第三步时各单元的状态 第四步时它们的状态会是如何?“