Bo Zhang's Homepage
..The universe is unfolding as it should..

2012-8-2

Thomas Ray的生物进化模拟

归档于: 基础科学, 数理科学, 生化科学 @ 10:32 pm

最近在读Dan Simmons的Hyperion四部曲,其中的最后一部借小说中的宣教者Aenea之口指出,作者架构出的神秘莫测的技术内核正起源于20世纪末的生物学家Thomas Ray编写的进化模拟程序。本来以为这不过是小说家虚构而已,不料搜索背景资料之后发现这位Thomas Ray确有其人,模拟程序也是确有其物。

这套模拟程序叫做Tierra,写成于20世纪90年代初,它的目的是为了探讨演化以及生态动力学。在此框架下的代码(相当于在计算机上模拟出的生物)相互为有限的计算资源而竞争,并可以自我繁殖和变异。根据小说中的说法,Thomas Ray本来效力于著名生物学家E. O. Wilson,为后者观察采集昆虫。在观察过程中,Ray萌生了模拟生物群落进化的念头,希望能寻求计算机界业内人士的协助一同编写相关代码。不过当时的程序员普遍对他的设想并不感冒,并认为其中并无创新之处。于是Ray自学了编程,最终写成了Tierra。

模拟进化过程是Thomas Ray在1990年到本世纪初的研究重点,Tierra是其中的第一项成果。这套程序首先架构出了一部虚拟机,其中的程序(也就是虚拟生物以相当于虚拟机汇编的语言写成)不仅可以运行,还可以自我繁殖并发生重组和变异,进而在系统的选择机制下进化。

除了一般虚拟机的内存分配作用之外,Tierra系统的虚拟机还要为虚拟生物的进化提供控制,控制参数包括变异速率、每个生物所需的CPU时间以及过程中的扰动等,并且还要记录每个虚拟生物的代码以及生死过程,为生存下来的适者代码存档。由此生成的虚拟生物群落可以用于量化分析生物进化和生态过程,如生物共生、寄主与寄生生物的依赖等等。

Tierra的运行界面。(图片来源:Wikipedia

Tierra的基础是进化计算技术,起源于上世纪50年代,60年代Nils Aall Barricelli的工作标示着利用进化算法模拟人工生命进化的正式实现。Tierra与传统的模拟最大的区别是并没有人为规定人工生命对环境的适应度,只是以单纯的生存或死亡取而代之。Thomas Ray认为这样做可以得到更为开放的结果。

按照Hyperion四部曲中的说法,Tierra中的初始虚拟生物长度有80字节。经历了若干代进化后,出现了一种占上风的变异生物,长度只有20几字节,代码之短甚至无法容纳自我复制的部分。经过分析,这种生物是以寄生为生的。Tierra中的虚拟生物最终逃入网络环境生存了下来,进化成了高度智能化的技术内核。由于一开始占上风的虚拟生物就是寄生体,由此演化而来的内核也以寄生为生活方式。而小说中遍身刀刃的有机机器伯劳的设计者则起源于Tierra中的捕食者代码。好吧,越说越玄了……

但事实是,Tierra并没有完全克服传统模拟的缺陷,虚拟生物族群演化到一定程度后,依然会陷入死循环或者干脆停止进化。后来的学者对Tierra生成的族群进行了分析,发现随时间推移并不能察觉到生物复杂性的增加。直到现在,如何真正实现开放式的演化仍旧是人工生命研究的关键课题。

与Tierra类似的程序包括Avida、Evita等。后来Thomas Ray又在Karl Sims工作的基础上开发了新程序VirtualLife,Tierra本身也开始了借助网络进行计算的实验。不过在2001年之后,Ray开始转而研究基因库以及人类的认知。本人对人工生命这个领域所知甚少,不敢妄言当前的进展。

现在Tierra的源代码也提供下载,地址是http://life.ou.edu/tierra/source/,有兴趣者不妨一试。不过倘或真的由此搞出了技术内核的前身并且把它释放到了互联网中……好吧,本人概不负责,其实Hyperion写到最后真是越来越不合自己的口味了……

No Comments

No comments yet.

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.

首页 | 天文 | 科学 | 摄影 | 模型 | CV | 版权声明 | 联系站长
京ICP备05002854号-2 Powered by WordPress Version 2.0.6
Licensed under Creative Commons Licenses

porno izle