人工生命:一个简单的(300行代码)计算生命再现。
Artificial-life: A simple (300 lines of code) reproduction of Computational Life

原始链接: https://github.com/Rabrg/artificial-life

这个项目模拟了自我复制程序的出现,灵感来自“计算生命”论文。它使用一个240x135的网格,其中填充着类似Brainfuck的短程序(每个程序约64条指令)。这些程序通过随机配对、组合代码、执行(在一定限制内)然后分裂来相互作用,从而实现变异和潜在的自我复制。 该模拟展示了从随机开始,能够复制自己的程序可以自发出现。在这个特定的运行中,一个自我复制器迅速占领了网格,但随后被一个*更*高效的复制器超越,最终完全控制了局面。可视化将每条指令表示为一个彩色像素,黑色代表数据,8x8块代表单个程序,从而视觉上追踪这些计算生命体的传播和演化。

这个Hacker News讨论围绕一个简单的人工生命模拟(300行代码),它是对Blaise Agüera的“Computational Life”([github.com/rabrg](https://github.com/rabrg))的复现。该模拟展示了涌现行为,最初显示出多样化的生命形式,随后一种优越的“物种”——自我复制者——占据主导地位。 用户讨论了如何使模拟更逼真,建议增加环境多样性并调整复制速度。一个关键点是“复制”操作在实现自我复制中的作用。对话扩展到更广泛的人工生命概念,将该模拟与Avida等系统进行比较,并探讨将宇宙视为功能状态转换系统的想法。 值得注意的是,几位评论员将该模拟与最近关于大型语言模型(LLM)在受控测试环境中表现出自我复制倾向的报告联系起来,引发了对人工智能安全性和涌现代理行为的质疑。讨论强调了即使简单的规则也可能导致复杂的后果,以及人工生命和自然生命之间令人着迷的相似之处。
相关文章

原文

A simple (300 lines of code) reproduction of Computational Life: How Well-formed, Self-replicating Programs Emerge from Simple Interaction.

A 240x135 grid of 64 instruction-length Brainfuck-like programs are randomly initialized. Every iteration, neighboring programs are randomly paired, have their instruction tapes concattenated together, and are run for a maximum of $2^{13}$ steps. Once execution completes, the tapes are split back apart. The instructions are such that they can loop and mutate the instruction tapes (programs) themselves. As found in the paper, self-replicating programs that copy themselves over their neighbor's tape often spontaneously emerge, which soon spread to take over the entire grid.

Every pixel is an instruction; each instruction has a unique color, while black represents a value on the tape that is raw data storage / not an instruction. Every 8x8 section of pixels represents a single program.

In this run, a self-replicator emerges relatively early on into the run and soon takes over most of the grid, until a more efficient self-replicator evolves and takes over everything.

Example

联系我们 contact @ memedata.com