一、说明
任何观察生物体的人都非常清楚,它们可以产生像自己一样的其他生物体。这是它们的正常功能,如果他们不这样做,它们就不会存在,而且这很可能是它们在世界上比比皆是的原因。换句话说,生物体是基本部分的非常复杂的集合体,根据任何合理的概率理论或热力学,都极不可能。它们竟然出现在世界上,这是第一级的奇迹;唯一能消除或减轻这个奇迹的是它们自我繁殖。因此,如果由于任何特殊的偶然事件而应该有一个,那么从那里开始,概率规则就不适用了,而且会有很多,至少在环境合理的情况下是这样。
——约翰·冯·诺依曼,1966年,《自复制自动机理论》,伊利诺伊大学出版社,伊利诺伊州。由A. W. Burks编辑和完成。
二、背景知识介绍
在1940年代后期,著名的数学家和物理学家约翰·冯·诺依曼(John von Neumann)对机器是否可以自我复制,即产生自己的副本的问题产生了兴趣。冯·诺依曼希望研究复制所需的逻辑;他没有兴趣,也没有工具,在生化或基因水平上建立一个工作机器。请记住,当时DNA尚未被发现为自然界中的遗传物质。
为了对这个问题进行正式的数学调查,冯·诺依曼使用了他的同事、数学家斯坦尼斯瓦夫·乌拉姆(Stanislaw Ulam)构思的模型。该模型被称为细胞自动机,由一个大的细胞网格(类似于棋盘格)组成,每个细胞在给定时刻都具有某种状态。每个单元格的可能状态数量是有限的,并且通常很小(可以想象每个状态由不同的颜色表示)。所有单元格同时更改状态,使得单元格在下一个时间步长的状态仅取决于其在当前时间步的状态及其相邻单元格的状态。
三、关于兰顿循环
兰顿循环
1984 年,Christopher Langton 描述了一种二维元胞自动机,它具有自我复制的动态循环结构。人工生命研究的一个分支是从这项工作发展而来的,可以更好地了解自我复制过程,这与生物学和生命系统有明显的相关性。
下面是兰顿循环的示例。此示例使用 LangtonsLoop 类,它是 CTRBLRule 类的扩展,可用于构建基于冯诺依曼邻域的任何类型的规则,该邻域显式考虑中心、顶部、右侧、底部和左侧单元格。
import cellpylib as cpllangtons_loop = cpl.LangtonsLoop()# the initial conditions consist of a single loop
cellular_automaton = langtons_loop.init_loops(1, (75, 75), [40], [25])cellular_automaton = cpl.evolve2d(cellular_automaton, timesteps=500,apply_rule=langtons_loop, memoize="recursive")cpl.plot2d_animate(cellular_automaton)
四、规则
指导状态转换的原则以相同的方式应用于所有单元格,并称为规则。例如,双态(黑/白)元胞自动机的简单规则将下一个时间步的像元状态设置为黑色(如果它有偶数个黑色邻居);如果它有奇数个黑色邻居,则设置为白色。虽然定义非常简单,但元胞自动机会产生令人惊讶的复杂行为。
以上是由细胞自动机产生的模式,其中每个细胞可以采取两种状态之一,由黑色和白色方块表示。从任意初始模式开始,所有像元同时更改状态,使得像元在下一个时间步的状态仅取决于其在当前时间步长的状态及其四个近邻(北、南、东和西)的状态。网格中的每个单元格都遵循相同的简单规则,该规则规定,如果它具有偶数个黑人邻居,则变为黑色,如果具有奇数个黑色邻居,则变为白色。上图是 90 个时间步长后生成的模式,即所有网格单元经过 90 次状态转换后(左)和 120 个时间步长后(右)。
五、人生游戏
元胞自动机模型中的机器是可以被视为一致运行的细胞集合。因此,人们可以观察到能够在这个严峻的宇宙中移动的简单“生物”,如下所述,另一个著名的细胞自动机规则,即“生命游戏”。
一把Gosper的滑翔机枪在John Conway的“生命游戏”细胞自动机中制造滑翔机。
冯·诺依曼用这个简单的模型来描述一个通用的构造机器,它可以读取任何给定机器的装配指令,并相应地构造该机器。这些指令是各种状态的细胞的集合,组装后的新机器也是如此——事实上,网格上的任何复合元素都只是细胞的集合。通用构造函数可以在给定适当的“基因组”或组装指令的情况下构建任何机器。因此,给定自己的描述,机器能够构建自身的副本,即自我复制。
如果我们希望后代也自我复制,我们必须复制组装指令并将它们附加到其中。通过这种方式,冯·诺依曼表明,在人工机器中复制过程是可能的。实际的证据在冯·诺依曼的同事亚瑟·伯克斯(Arthur Burks)于1966年死后完成的一本书中非常详细和详细。
冯·诺依曼的自我复制元胞自动机示意图。该机器是一个通用构造器(UC),能够通过使用“构造臂”构建任何配置,其描述(基因组)可以存储在其输入磁带上。因此,给定自己的描述,机器能够构建自身的副本,即自我复制。
冯·诺依曼的主要结论之一是,复制过程以两种不同的方式使用汇编指令:作为解释代码(在实际组装期间)和作为未解释的数据(将汇编指令复制到后代)。在接下来的十年里,当基本的遗传机制开始展开时,很明显,大自然已经
“采纳”了冯·诺依曼的结论。使用组装指令(即DNA)来创建工作机器(即蛋白质)的过程确实具有双重用途:作为解释代码和未解释数据。前者在生物学中被称为翻译,后者被称为转录。
冯·诺依曼方法的一个主要问题是构造函数的复杂性,它需要数十万个单元。此外,每个单元格可以处于 29 种状态之一,而不仅仅是两种。1984年,计算机科学家克里斯托弗·兰顿(Christopher Langton)观察到,尽管通用构建的能力是自我复制的充分条件,但它不是必需的;此外,自然系统不能进行普遍构建。兰顿继续创造了所谓的兰顿循环。
兰顿的循环在 1980 年代末和 1990 年代初产生了大量工作,专注于开发比通用构造函数简单得多的自我复制自动机。然而,这些机器缺乏任何计算和构建能力,它们的唯一功能是自我复制。
四、进一步研究
在这些结果的基础上,许多研究人员随后证明,人们可以获得自我复制的结构,这些结构也可以执行有用的程序。后一种机器比冯·诺依曼的通用构造器更简单,但能够自我复制,每个“女儿”生物体能够依次继续复制,并执行写入其遗传密码的其他功能。
一些众所周知的例子包括 Tempesti 循环,它添加了代码以在复制后在循环内编写模式,以及 Perrier 循环,它增加了一个程序堆栈和一个可扩展的数据磁带,允许它计算任何可计算的东西。
自冯·诺依曼在1940年代后期的里程碑式工作以来,对人工自我复制机器的研究一直在进行。这项工作的大部分动机是希望了解自我复制所涉及的基本信息处理原理和算法,而与它们的物理实现无关。对这些原则的理解可以在许多方面证明是有用的。它可以通过澄清任何自我复制系统必须满足的条件并为经验观察到的现象提供替代解释来推进我们对复制的生物学机制的认识。人造自我复制机器的制造也可以有多种应用,从纳米技术到太空探索。
说到太空,我想以这个有趣的事实结束:1980年,美国宇航局召集了一个专家委员会,对与太空探索相关的各种问题进行了深入研究。在这些研究中,有一项提出了在月球上种植“种子”工厂的可能性,然后利用当地的月球材料自我复制以填充大表面。本研究还引入了闭合工程的概念,研究了定性闭合(可以制造所有零件吗?),定量封闭(可以制造足够的零件吗?)和吞吐量闭合(零件可以制造得足够快吗?)。
五、阅读参考
- M. Sipper,《五十年的自我复制研究:概述》,《人工生命》,第4卷,第3期,第237-257页,1998年夏季。
- M. Sipper 和 J. A. Reggia,《去复制》,《科学美国人》,第 285 卷,第 2 期,第 26-35 页,2001 年 <> 月。
- Freitas, R. A., Jr., & Gilbreath, W. P. (Eds.).(1982). 太空任务的高级自动化:1980 年 NASA/ASEE 夏季研究论文集,第 5 章:复制系统概念:自我复制月球工厂和演示。美国宇航局,科学和技术信息处。
- 人工自我复制网页。
-
摩西·西珀博士