进化计算综述 1
什么是进化计算 在计算机科学领域,进化计算(Evolutionary Computation)是人工智能(Artificial Intelligence),进一步说是智能计算(Computational Intelligence)中涉及到组合优化问题的一个子域
其算法是受生物进化过程中“优胜劣汰”的自然选择机制和遗传信息的传递规律的影响,通过程序迭代模拟这一过程,把要解决的问题看作环境,在一些可能的解组成的种群中,通过自然演化寻求最优解
进化计算的起源 运用达尔文理论解决问题的思想起源于20 世纪 50 年代
20 世纪 60 年代,这一想法在三个地方分别被发展起来
美国的Lawrence J
Fogel 提出了进化编程(Evolutionary programming),而来自美国 Michigan 大学的John Henry Holland 则借鉴了达尔文的生物进化论和孟德尔的遗传定律的基本思想,并将其进行提取、简化与抽象提出了遗传算法(Genetic algorithms)
在德国,Ingo Rechenberg 和 Hans-Paul Schwefel 提出了进化策略(Evolution strategies)
这些理论大约独自发展了 15 年
在80 年代之前,并没有引起人们太大的关注,因为它本身还不够成熟,而且受到了当时计算机容量小、运算速度慢的限制,并没有发展出实际的应用成果
到了 20 世纪 90 年代初,遗传编程(Genetic programming)这一分支也被提出,进化计算作为一个学科开始正式出现
四个分支交流频繁,取长补短,并融合出了新的进化算法,促进了进化计算的巨大发展
Nils Aall Barricelli 在 20 世纪六十年代开始进行用进化算法和人工生命模拟进化的工作
Alex Fraser 发表的一