概要:生命是神奇的存在。生物学家们致力于考察真实生物的运作机制,而冯诺伊曼不同,他尝试在数学上寻求生命的本质。因为在冯看来,生命的本质属于一种软件逻辑,他设计的“生命”形态可以与现在的生命完全不同,所以他选择的起点是图灵机。


  1. 冯·诺伊曼的自复制自动机理论告诉我们 DNA 就是源代码,是元生物学的起源
  2. 在元生物学的论证过程中,发现:代码即 DNA,算法突变即进化,软件即生命
  3. 生命的本质不是新陈代谢和遗传,而是创新

以上就是 Gregory Chaitin 的《证明达尔文》一书前五章的主要观点。书写得冗长,读得很累。这个老头子有严重的骗稿费嫌疑,把一个课件写成了一本书。

我只打算写一篇文章,和老头子这本书的附录有关,附录是冯·诺伊曼手稿。假如计算机科学是宗教,他是神祗之一。我读的是神的手稿。


耳机放在兜里会打结,一杯开水会慢慢变凉,长时间不扫地面会脏。这是我们对自然造物的直观认识,独立封闭系统中的有序状态会自发地趋向于混乱和无序,这是一个熵增过程,遵循于热力学第二定律。

传统的机械,我们的大部分人工造物,也存在存在类似的状况。

假设一个机器 A 能够自发地制造出机器 B,那么 A 中必须包含完整的 B 的信息,只有这样 A 才能根据这些信息将 B 制造出来,这是我们对人工造物的直观认识。A 包含的信息大于等于 B,即 A 要比 B 复杂。如果根据这样的理解,机器的复杂度会在制造过程中不断降级和衰退,即一个系统的复杂度总是高于它所能制造的子系统的复杂度。

但是另一方面,在自然界却存在与之背离的欣欣向荣的现象:生命的诞生与进化,科技的发展和进步,都在往越来越复杂和多样化的方向发展,即人人都谈论的“涌现”这一概念。

我们对此难以控制、预测和描述,因此,在历史上的大部分时间里,人们都认为这是一种神迹。即使到现在,我们能说清楚大脑是如何用神经递质传递信号,但是也没搞清楚智慧是如何产生;我们能观察到生物体内所有的生化反应,但是没有成功在实验室里合成出真正的生命。我们早已习惯并且百试不爽的自底向上的思维方式,在这里似乎没有达到预期的效果。正如 KK 在《失控》里所言:

低层级的存在无法推断高层的复杂性。

似乎在诸多现象中,复杂度的积累存在一个阈值。没到这个阈值时,事物最终自发地衰退;超过这个阈值时,就立刻呈现涌现的群体特征。在人类成为神的道路上,这一问题拦住了脚步:这个阈值在哪,如何量化

冯·诺伊曼的工作中,一个暗含的意图就是希望能找到阈值的量化方式。

生命的本质是一种软件逻辑

生命是神奇的存在。生物学家们仅考察真实生物的运作机制,而冯与传统生物学家的追求不同,纵观他的工作,冯是在沿着一条规范的道路——数学——寻求生命的本质1。或者说,在寻求一个生命的最小内核,因为在冯看来,生命的本质属于一种软件逻辑,他的“生命”形态可以与现在的生命完全不同,所以他的起点是图灵机。

图灵机很简单,对任何一个图灵机,他的描述总是有限的,因此可以通过某种方式将其编码为一条图灵机指令。图灵机 M 的描述可以用 IM 来指代,所有计算机科学专业毕业生都知道。

冯·诺伊曼设计出了这样一组机器:

  • 构造机 A:读入一条指令 I,则 A 可以根据这条指令 I 输出对应的机器
  • 指令复制机 B:读入一条指令,输出该指令的复制
  • 控制机 C:将 I 放入 A,得到 I 所描述的机器;将 I 放入 B ,得到 I 的副本;最后将 A 和 B 的输出组装在一块儿输出
  • 将 (A, B, C) 组合为机器 D,根据上文的描述,当然可以构造出 D 的描述,即指令 ID
  • 最后,将 ID 输入机器 D,构成 E,容易发现 E 具备完整的自我复制能力,可以持续复制自己

在假设中,我们认为 A、B、C 是元零件,并且容易得出以上描述不涉及循环指代:需要 ID 时,D 已经存在,因此 D 和 ID 间存在确定的时间和逻辑顺序,对 E 的自复制能力的论证是严密的。

我们很容易在生物体中找到上面这组机器各个组成部分的对应物,比如 ID 的表现很像基因。ID 作为指令可以存在变异,在 ID 上直接变异会导致子代机器无法复制,是致命的;ID 上附加一段 IF,则 ID + IF 会导致产出与复制核心逻辑无关的副产物,IF 发生变异则不会影响子代机器的复制,类似于基因表达了蛋白质。

但是,如果单独来看,无论是构造机 A,复制机 B,控制机 C,还是他们的基因 ID ,在他们各自独立时,都不具备自我复制的能力。当他们以合理的方式组织在一起时,却实现了自我复制,实现了自复制功能的涌现。

冯的研究仅仅是向一个关于自动机的涌现理论迈出的初步尝试,这个尝试在试图对复杂系统中的“复杂性”形成一个概念。冯认为“复杂性”在一个阈值以下的系统会自发退化,这样的系统只会产生复杂性更低级的系统;而当复杂性高于这个阈值时,系统可以在该层次的复杂性上维持(比如 E);如果我们能让人工造物的复杂性高于这个阈值,那我们就做了神的工作2

冯·诺伊曼虽然最终没有找到这个复杂度阈值,但他认为可复制自动机应当处于一个相当靠近复杂度阈值的地方,而且与其他试图解释涌现的理论的差异在于,冯·诺伊曼的解释在数学上存在对应物,如果我们不满足于仅仅观测,而希望真正深入地理解涌现,可复制自动机理论可能是条件很好的切入点。

悄悄敲敲代码,就有机会创造世界。


  1. 1.我想说的是冯·诺伊曼的自复制自动机理论成型于 1944 年,而 DNA 双螺旋结构在 1953 年才被发现,但这也不重要。我想说的是 1952 年时,DNA 结构发现者克里克读了冯·诺伊曼的论文,表示深受启发,并最终发现了 DNA 双螺旋结构,拿了诺贝尔奖。
  2. 2.你可以在互联网上找到很多被称为 Quine 的程序,比如下面的 Python 代码。这两行代码的输出结果就是这两行代码本身。能复制自己的程序一点都不新鲜了,简单如元胞自动机,复杂如 MIT Self-assembly Lab 的机器人,比比皆是,但它们不能与真实的生命相类比,因为它们不能自发地制造比自己更复杂的个体。
    1
    2
    s = 's = %r\nprint(s%%s)'
    print(s%s)