The fields of Origin of Life and Artificial Life both question what life is and how it emerges from a distinct set of "pre-life" dynamics. One common feature of most substrates where life emerges is a marked shift in dynamics when self-replication appears. While there are some hypotheses regarding how self-replicators arose in nature, we know very little about the general dynamics, computational principles, and necessary conditions for self-replicators to emerge. This is especially true on "computational substrates" where interactions involve logical, mathematical, or programming rules. In this paper we take a step towards understanding how self-replicators arise by studying several computational substrates based on various simple programming languages and machine instruction sets. We show that when random, non self-replicating programs are placed in an environment lacking any explicit fitness landscape, self-replicators tend to arise. We demonstrate how this occurs due to random interactions and self-modification, and can happen with and without background random mutations. We also show how increasingly complex dynamics continue to emerge following the rise of self-replicators. Finally, we show a counterexample of a minimalistic programming language where self-replicators are possible, but so far have not been observed to arise.
翻译:生命起源与人工生命这两个领域都探讨了生命的本质及其如何从一组独特的“前生命”动力学中涌现。大多数生命涌现的基质都有一个共同特征:当自复制体出现时,动力学会发生显著转变。尽管关于自然界中自复制体如何产生存在若干假说,但我们对自复制体涌现的普遍动力学、计算原理及必要条件仍知之甚少。在涉及逻辑、数学或编程规则的“计算基质”中,这一认知空白尤为明显。本文通过研究基于多种简单编程语言和机器指令集的计算基质,向理解自复制体的产生机制迈进一步。我们证明,当随机的非自复制程序被置于缺乏任何显式适应度景观的环境中时,自复制体倾向于自发涌现。我们阐释了这种现象如何通过随机交互和自我修改发生,且无论是否存在背景随机突变皆可能实现。我们还展示了自复制体出现后,日益复杂的动力学如何持续涌现。最后,我们提供了一个反例:在一个极简编程语言中,自复制体在理论上是可能的,但迄今尚未观测到其自发产生。