![](https://csdnimg.cn/release/download_crawler_static/9121239/bg1.jpg)
- 1 -
程序自动进化的设想与实验
俞 扬
(南京大学 南京大学计算机科学与技术系,南京 210093)
[摘要] 本文对程序自动进化进行了初步探讨,并用 C++语言对一个事例进行了进化
的可行性试验与结果分析。
[关键词] 人工智能 机器进化 适应程度 实验
AUTOMATIC EVOLUTION OF COMPUTER PROGRAM:
ASSUMPTION AND EXPERIMENT
YU Yang
(Nanjing University, Computer Science Department, Nanjing 210093)
Abstract In this paper, automatic evolution of computer program is primary discussed. A
experiment is implemented by C++ language to prove the feasibility. The analysis of the
experiment result is also included.
Key words artificial intelligence, machine evolution, fitness, experiment
一 设 想
虽然对人工智能是否能达到人类智能水平尚无定论,但可以肯定的是,要使用逻辑关
系直接编程,必然涉及一个庞大的知识库,并对巨大数量的不同类条件或条件组合做出
“反射”。如果直接做出“条件”→“响应”的每一个反射,工作量就会非常巨大,甚至由
于可怕的“组合爆炸”而难以完成。
于此同时,我们注意到生物系统采用的另一种“编程”方法——遗传进化。这种方法
“编制”出许多具有复杂条件反射机制的生物,甚至具有智能的人。让我们看看生物进化
的一部分过程:某类初等生物存在于一特定环境中,一部分不适应环境的生物个体将死
亡,而另一部分承载着决定性基因的生物个体将存活下来,并将这些基因遗传给下一代,
使其下一代的生物个体的环境适应能力增强;不断的循环,最终产生出完全适应环境的新
生物。那么,采用遗传进化的方法,能否只需布置好“环境”、“基础知识”和“初等生物
群”,通过“生存规则”来使程序的定向发展,使高级知识和条件反射自动产生呢?
二 实验准备
下面让我们来做一个进化实验:沿墙运动的机器人
[1]
。我们希望得到一个机器人,将
小型微型计算机系统,2003,12