探索生命起源:自复制程序在计算基质中的自发涌现

Computational Life: How Well-formed, Self-replicating Programs Emerge from Simple Interaction

摘要

本文探讨了生命起源和人工生命领域中的一个核心问题:自复制程序如何从简单的交互中自发涌现。通过研究基于多种简单编程语言和机器指令集的计算基质,本文展示了在没有显式适应度景观的环境中,随机非自复制程序如何倾向于产生自复制程序。文章详细说明了这一过程如何通过随机交互和自我修改发生,无论是否存在背景随机突变,并展示了自复制程序出现后如何继续涌现出更复杂的动态。此外,文章还提供了一个极简编程语言的反例,其中自复制程序虽然可能存在,但迄今为止尚未观察到其自发涌现。

原理

本文通过研究多种计算基质,包括扩展的Brainfuck语言(BFF)、Forth编程语言、Z80和8080 CPU架构的模拟,以及SUBLEQ语言,来理解自复制程序的涌现机制。在这些系统中,初始化随机程序在缺乏显式适应度景观的环境中,通过自我修改和程序间的随机交互,自发产生了自复制程序。这些自复制程序的出现主要是由于程序自我修改的能力,这种能力在存在或不存在背景随机突变的情况下都能发生。文章还介绍了“高阶熵”这一复杂度度量,用于检测自复制程序的涌现。

流程

文章详细描述了在不同计算基质中的实验流程,包括初始化随机程序、程序间的交互规则、以及如何通过自我修改和随机突变产生自复制程序。例如,在BFF语言的实验中,程序在一个“原始汤”环境中相互作用,通过选择随机有序对、连接它们并执行结果代码,最终分离程序并返回汤中以供未来考虑。在Forth和Z80的实验中,也展示了类似的流程,其中程序通过堆栈操作或CPU指令进行自我复制。

应用

本文的研究不仅加深了对生命起源和自复制机制的理解,还为未来在计算系统中设计和引导复杂行为的发展提供了新的视角。这些发现可能应用于人工生命、进化算法和复杂系统的设计中,有助于探索生命在不同基质上的涌现和进化机制。