从冯·诺依曼“自复制自动机”到生命演化
宇宙从确定的、自洽的规则中,也可以产生有序的、不确定的、自相似的结构,这种结构就是分形和混沌。但是宇宙的演化并不止步于此,它从结构中再次演化出“自我执行与自我复制”的机制,并在此基础上酝酿出复杂生命。
“现代电子计算机之父”冯·诺依曼证明了可自我复制及可自动执行的程序是逻辑可行的,他在《自复制自动机理论》第一章中这样描述:“我们可以做下面这件事,我们可以把机器A和B组合在一起,并给A+B添加一个控制器C。C按照下列方式对A和B施加控制:C先命令B拷贝两份描述Φ(X);然后再命令A按照Φ(X)来实际制造X,并把其中的1份Φ(X)拷贝去掉;最后,C会把X和剩下的那份Φ(X)捆在一起,并把它们从机器A+B+C的组合中间分离出去,这样一来,我们就制造出了X+Φ(X)这样的组合。
按照以上原理,如果我们用(A+B+C)来代替X,并进行上述同样的操作的话,那么(A+B+C)+Φ(A+B+C)的自动机组合,就可以制造出新的自动机组合:(A+B+C)+Φ(A+B+C)。因此,自动机自复制得到了实现!”
冯·诺依曼
冯·诺依曼认为,生命就好像是宇宙中物理、数学法则的黑客,专门寻找后门,从而利用它完成自己的复制。而生命所利用的漏洞恰恰是“概率论”中的漏洞,因此生命这种现象必然是一种“统计的”规律。换句话说,生命是用一大堆不可靠的原件搭建起来的一台可靠的机器,这台可靠的机器会操纵概率法则来“统计地”实现自身的存在。
我们看到自然界中具有自复制自执行能力的系统都具有一定的复杂度,这个复杂度保证它能保持系统的稳定、延续和进化,而低于这个复杂度的系统则随着时光的流逝注定要被热力学熵增无情的吞噬。冯·诺依曼研究自复制自执行系统的初衷就是为了找出这个复杂度的阈值,只有那些达到一定的复杂性并且突破了某个阈值的系统才有可能成功的利用“概率论中的漏洞”。突破了复杂度阈值的系统,它就会由于在信息层的扩散和变异作用而不断进化,演化出复杂的结构,而对于低于复杂度阈值的系统,热力学第二定律就会无情地让它衰退、耗散。但是关于复杂度的量度是一个较为困难的问题,没有人可以对复杂度进行准确的定义,复杂度包括的内容太多。
冯·诺依曼自复制自动机仍然不是真正的自复制自动机,因为它的零件,机器A、B、C的功能仍然需要首先被其它自动机驱动才得以执行。冯·诺依曼自复制自动机等价于蒯恩程序,蒯恩程序是一种可以打印自身的程序,他们在数学上其实都对应着递归算法,但是这些程序的执行仍然需要像计算机这样的解析器自动机驱动。
自复制自动机与其解析器自动机之间的关系其实就是被观察者与观察者之间的关系,这种关系的本质是相对性,其中一个越复杂越智能,另外一个就可以越简单。这就是人类可以利用简单工具进行生产活动的原因,因为使用工具的人类是一个高度复杂的自动机,它允许被使用的工具可以极其简单,所有复杂的控制行为都已囊括在人类的复杂性中。遗憾的是,冯·诺依曼还没深入进行复杂度及程序进化方面的探索就去世了。
很多年以后,他的徒孙约翰·霍兰德领导了一个研究小组发展出了遗传算法。
约翰·霍兰德
遗传算法能通过模拟自然进化过程,即建立初始状态、评估适应度、繁殖下一代,最后搜索出最优解,这些看似机械的自然选择给出的解明显具有某种智能,这种智能中具有不易察觉的隐含的秩序,以至于当研究人员发现其中的秩序时都感觉无比震惊。
至此我们知道自复制自动机可以通过遗传和变异自发的产生智能,但是自复制自动机本身是如何产生的呢?冯·诺依曼在他的例子中只说了我们可以把机器A、B、C组合到一起,这个组合过程其实使用了冯·诺依曼自己的智慧,机器A、B、C的组合可以是一个自然的过程吗?答案是肯定的,因为这个过程就是一个元胞自动机。
元胞自动机是在一组确定的规则控制下的从某一初始状态开始不断变化的系统。比如一个由无限多二维矩形方格组成的世界,这个世界中的每个方格表示一个活细胞(黑色)或死细胞(白色)。一个细胞在下一个时刻生死取决于相邻八个方格细胞的状态。每次变化时,每格均遵从同一规则同时变化。
元胞自动机最经典的例子是被称为“生命游戏”的程序,它只有3条规则,M和N可以被玩家设定:
- 当周围有M个细胞时,该位置产生细胞
- 当周围有N个细胞时,该位置维持原状
- 其他情况,该位置变为死细胞
研究者发现,元胞自动机经过一段时间的运行产生的结果有四类:
第一类是最终趋于平稳,整个系统都处于静止状态,不随时间变化而变化。在生命游戏中,如果M和N设定过高,世界中的大部分细胞会因为找不到足够数量的活的邻居而死去,直到整个世界都没有生命;如果设定过低,世界就被活细胞充满而没有什么变化。
第二类是形成稳定的周期变化的结构。比如在“生命游戏”中M=3且N=2时,就可以产生被称为“滑翔枪”的系统,这个系统能不断组装并发射出小飞机,就像一条生产线一样。
第三类是表现出混沌的非周期行为,所生成的结构的统计特征不再变化,通常表现为分形分维特征。最具代表性的例子是由沃尔夫勒姆发现的“Rule 30”。它的规则是:每一个细胞的死活由且仅由它自己和它左右两侧的细胞在上一行的状态决定,规则如下图:
Rule 30 规则
从一个活细胞出发,每一次迭代变成新的一行打印在下面,它能生成了无限延伸且非周期的图案。
第四类是出现复杂的局部结构,或者说是局部的混沌,其中有些会不断地传播。在“生命游戏”中加入更复杂的规则,例如当前方格不仅由父代决定,还考虑祖父一代的情况。杂乱无序的元胞就会逐渐演化出各种精致的结构,这些结构有很好的对称性,而且每一代都在不断变化。
如果将冯·诺依曼的自复制自动机中融合进遗传算法并结合元胞自动机,那么一个可能的生命诞生雏形就展现出来了:根据量子理论,“奇点”从真空量子涨落中自发产生,由于一些自洽规则,奇点内部生成了无数独立元胞,元胞在十一维空间弥漫,导致类似大爆炸的粒子爆发,这个系统不断演化,最终构成了一些简单的自复制自动机和一些复杂的解析器自动机。解析器自动机驱动自复制自动机运行,使其不断复制自己并遗传进化 ,变得越来越复杂。随着自复制自动机的复杂度越来越高,它囊括的隐秩序也越来越多,逐渐接近了解析器自动机的复杂度,最终自复制自动机具有了感受世界的能力,拥有了生命。相反解析器自动机则逐渐退化,变成几乎被忽略的宇宙整体的背景律动。
也就是说原初宇宙在某个演进点,系统分割成了相对的两个部分,一部分是自复制自动机,一部分是解析器自动机,在演进过程中,这两个部分的复杂度不断竞争。当自复制自动机的复杂度越来越高时,通过复制和遗传,无数的智慧生命就产生了。当解析器自动机的复杂度越来越高时,宇宙自身就成为了某种超级生命,它类似于《黑客帝国》中的母体。不管哪一种情况,一旦智慧产生,宇宙的演进就开始突飞猛进,这些智慧会以远超遗传进化的速度创造出无数类型的生命,甚至在母世界中再建造无数的子世界,这些被创造物又会延续这种创造,直至文明自我毁灭。迭代的速度会越来越快,这从“AlphaGo仅用三个月,学习三千万棋局,击败人类。而AlphaGo Zero只花三天时间,自己左右互搏490万棋局,击败Alphago”可见一斑。这些“基于宇宙法则的再创造”都是宇宙整体创造的一部分,体现了宇宙不同智慧层面的自相似。
AlphaGo Zero 抛弃人类知识实现最优解