Hero Image
自我复制的自动机

在生命的最后几年,冯·诺依曼问了自己一个听起来像哲学的问题:机器能造出自己的副本吗?困难在于逻辑。要造出副本,机器需要一份关于自己的描述;可描述又是机器的一部分,于是它还得描述这份描述,如此下去,陷入无穷倒退。 描述、构造器和复制器 冯·诺依曼在 1948 年起的讲座中提出的出路,是把三个部分分开: 构造器 $A$,读取任意机器 $X$ 的描述 $D(X)$,并造出 $X$; 复制器 $B$,复制任何描述,而不需要理解它; 控制器 $C$,把两者连接起来。 现在把机器 $A + B + C$ 自己的描述 $D(A + B + C)$ 交给它。构造器读取描述,造出一台新的机器 $A + B + C$;复制器把描述复制一份,交给新机器。结果是一个完整的副本,带着它自己的描述。倒退之所以终止,是因为描述被以两种方式使用:一次作为要执行的指令,一次作为不加阅读就复制的文本。 在 DNA 之前 1953 年,詹姆斯·沃森和弗朗西斯·克里克描述了 DNA 的双螺旋。细胞所做的恰恰是冯·诺依曼预言的事:DNA 被核糖体读取以制造蛋白质(构造器),在细胞分裂时又被逐个字母地复制而不加解释(复制器)。冯·诺依曼通过思考机器得出了复制的逻辑结构,而那时生物学还没有揭示生命是怎样实现它的。 格子网格 为了让这个想法变得严格,冯·诺依曼需要一个可以在其中搭建机器的简单“宇宙”。在乌拉姆的建议下,他使用了一个由小方格组成的无穷网格,每个方格处于 29 种状态之一,所有方格在每一步同时根据四个邻居的状态而改变。他在这个网格中设计了一个巨大的构型,包含数量极其庞大的格子,能够读取一条带子、造出自己的副本并复制这条带子。这项工作在他去世时尚未完成,由他的合作者阿瑟·伯克斯补全,并于 1966 年以《自我复制自动机理论》为题出版。 斯坦尼斯瓦夫·乌拉姆在洛斯阿拉莫斯的证件。正是乌拉姆向冯·诺依曼建议用格子网格作为机器的宇宙。Los Alamos National Laboratory · Wikimedia Commons · 公有领域 这样的网格今天称为元胞自动机。1970 年,英国人约翰·康威发明了一个只有两种状态(活和死)的元胞自动机,规则只有一行:有 2 个或 3 个活邻居(算上对角线)的活格存活;恰好有 3 个活邻居的死格诞生;其余的死亡或保持死亡。康威称之为生命游戏,它丰富到在其中也能搭建计算机和自我复制的机器。 练习:闪烁器在生命游戏中,横排的三个活格构成“闪烁器”。证明下一步它们会变成竖排。 中间的格子有 2 个活邻居,存活。两端的格子只有 1 个活邻居,死亡。中间格子正上方和正下方的两个格子恰好有 3 个活邻居(横排的三个),诞生。结果:竖排的三个。同样的推理表明,再下一步它又变回横排,这个图案永远闪烁下去。