进化程序(程序自组织问题)

来源:百度文库 编辑:神马文学网 时间:2024/03/28 19:37:46

进化程序(程序自组织问题)

由 forcode 于 周四, 2003-04-10 15:03 提交。

我在这里很高兴看到有人和我有相同的想法,那就是对“进化程序”的兴趣。我目前做了一个专门研究“自组织程序”的网站:
http://forcode.51.net
怎样让程序依据一定的规则(一个简单的规则)自己排列组合出很多新的程序来,而新的程序能否存在,取决于各个新的程序相互竞争和协作,最能够适应“环境和需要”的“程序产生的程序”能够生存下来。目前要解决的就是自组织的规则问题,研究自然界的自组织现象能够得到很多启发。我的网站搜集了很多国外相关人员制作的“自组织小程序”。编程者赋予程序一个简单的规则和起始值,程序不断运算,经过若干步骤后,相互之间没有通讯也没有统一调度指挥的个体由于依据了一个相同的简单规则,而在宏观上表现出非常有序的特点。我想,要真正开发出“进化”,重要的是研究自组织问题。欢迎有相同兴趣的朋友和我一起探讨这个话题。

我的QQ:8337601
EMAIL:forcode@51.net
谢谢



‹ 一道初中生的考试题,做的我好害怕!呵呵,看看大家是不是作弊上博士的 基于遗传算法的神经网络的优化 ›» 人工智能 |

由 tianyuan 于 周四, 2003-04-10 18:12 提交。

有一个著名的例子是在1990年,由雷创造的名为“蒂埃勒”的模型。在此模型中,一些短小的计算机程序片断在内存中相互竞争、再生和变异。所有蒂埃勒的生命形式都来源于一个共同祖先:一段能自我复制的计算机程序,它占据80个字节的内存。在实验中,观察到了寄生、重寄生等现象。

1996年,Andrew Pargellis设计了自己的虚拟生物:阿米巴。与雷的模型不同的是,这次没有显式的写入自我复制的片断,而是采用一个随机的程序块,每经过10万步,程序就擦去7%的内存,并写入随机的指令。结果发现,当程序运行到5000万步时,便会出现一段自我复制的程序段。这表明复制指令并不需要写入规则之中,它是可以自行产生的。

»

由 sunwen 于 周四, 2003-04-10 22:20 提交。

http://forcode.51.net
这上面的那几个程序非常不错,复杂非线性 == 活性,大大地激发了我的兴趣,道一声谢谢了!

»

由 forcode 于 周六, 2003-04-12 00:41 提交。

Quote:

原文由 sunwen 发表
http://forcode.51.net
这上面的那几个程序非常不错,复杂非线性 == 活性,大大地激发了我的兴趣,道一声谢谢了!

听到你这么说,我很高兴。不知道你对编这样的程序有没有兴趣:
http://www.clinux.org/forum/showthread.php?threadid=2853

 

我网站里现有的程序都是别人做的,我现在基本上处于资料收集和学习阶段,还没有动手做。那几个程序所定的规则很简单,只能实现一次预定好的自组织,我想,如果要开发自组织的进化程序,自组织规则应该分2部分:

第一部分是属性部分;
第二部分是新属性“涌现”的规则;

其中第二个部分最关键,以什么样的规则来产生新属性?
新属性是旧属性排列组合的结果相互竞争与协作的结果,自然界新属性的涌现是以最低能量为准的,即消耗能量最少的新规则最容易实现,所以有竞争优势。我想在程序的环境定义上需要有能量这个属性。

具体要怎么样实现,我也没有想清楚。

»

由 forcode 于 周六, 2003-04-12 03:36 提交。

Quote:

原文由 tianyuan 发表
有一个著名的例子是在1990年,由雷创造的名为“蒂埃勒”的模型。在此模型中,一些短小的计算机程序片断在内存中相互竞争、再生和变异。所有蒂埃勒的生命形式都来源于一个共同祖先:一段能自我复制的计算机程序,它占据80个字节的内存。在实验中,观察到了寄生、重寄生等现象。

 

1996年,Andrew Pargellis设计了自己的虚拟生物:阿米巴。与雷的模型不同的是,这次没有显式的写入自我复制的片断,而是采用一个随机的程序块,每经过10万步,程序就擦去7%的内存,并写入随机的指令。结果发现,当程序运行到5000万步时,便会出现一段自我复制的程序段。这表明复制指令并不需要写入规则之中,它是可以自行产生的。

 

美国生物学家托马斯·雷1990年编写的Tierra(西班牙语,意为地球)模型所创造的生命更具典型性。它们由一系列能够自我复制的程序组成,由于运行中有时会出错,所以它们能突变。刚开始时,Tierra模型中只有一个简单的祖先"生物",经过526万条指令的计算后,Tierra模型中出现了366种大小不同的数字生物,仿佛寒武纪大爆发在区区几小时内发生了。经过25.6亿条指令后,演化出了1180种不同的数字生物,其中有一些在别的数字生物体内寄生,有一些对寄生生物具有免疫能力。Tierra中还演化出了间断平衡现象,甚至还出现了社会组织。总之,差不多自然演化过程中的所有特征,以及与地球生命相近的各类功能行为组织,全都出现在Tierra中。

»