进化计算综述

进化计算综述

ID:22046194

大小:34.64 KB

页数:8页

时间:2018-10-26

进化计算综述_第1页
进化计算综述_第2页
进化计算综述_第3页
进化计算综述_第4页
进化计算综述_第5页
资源描述:

《进化计算综述》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、进化计算综述1.什么是进化计算在计算机科学领域,进化计算(EvolutionaryComputation)是人工智能(ArtificialIntelligence),进一步说是智能计算(ComputationalIntelligence)中涉及到组合优化问题的一个子域。其算法是受生物进化过程中“优胜劣汰”的自然选择机制和遗传信息的传递规律的影响,通过程序迭代模拟这一过程,把要解决的问题看作环境,在一些可能的解组成的种群中,通过自然演化寻求最优解。2.进化计算的起源运用达尔文理论解决问题的思想起源于20世纪50年

2、代。20世纪60年代,这一想法在三个地方分别被发展起来。美国的LawrenceJ.Fogel提出了进化编程(Evolutionaryprogramming),而来自美国Michigan大学的JohnHenryHolland则借鉴了达尔文的生物进化论和孟德尔的遗传定律的基本思想,并将其进行提取、简化与抽象提出了遗传算法(Geneticalgorithms)。在德国,IngoRechenberg和Hans-PaulSchwefel提出了进化策略(Evolutionstrategies)。这些理论大约独自发展了15年

3、。在80年代之前,并没有引起人们太大的关注,因为它本身还不够成熟,而且受到了当时计算机容量小、运算速度慢的限制,并没有发展出实际的应用成果。到了20世纪90年代初,遗传编程(Geneticprogramming)这一分支也被提出,进化计算作为一个学科开始正式出现。四个分支交流频繁,取长补短,并融合出了新的进化算法,促进了进化计算的巨大发展。NilsAallBarricelli在20世纪六十年代开始进行用进化算法和人工生命模拟进化的工作。AlexFraser发表的一系列关于模拟人工选择的论文大大发展了这一工作。[

4、1]IngoRechenberg在上世纪60年代和70年代初用进化策略来解决复杂的工程问题的工作使人工进化成为广泛认可的优化方法。[2]特别是JohnHolland的作品让遗传算法变得流行起来。[3]随着学术研究兴趣的增长,计算机能力的急剧增加使包括自动演化的计算机程序等实际的应用程序成为现实。[4]比起人类设计的软件,进化算法可以更有效地解决多维的问题,优化系统的设计。[5]1.进化计算的分支进化计算的主要分支有:遗传算法GA,遗传编程GP、进化策略ES、进化编程EP。下面将对这4个分支依次做简要的介绍。1遗

5、传算法(GeneticAlgorithms):遗传算法是一类通过模拟生物界自然选择和自然遗传机制的随机化搜索算法,由美国JohnHenryHoland教授于1975年在他的专著《AdaptationinNaturalandArtificialSystems》中首次提出。[6]它是利用某种编码技术作用于称为染色体的二进制数串,其基本思想是模拟由这些串组成的种群的进化过程,通过有组织地然而是随机地信息交换来重新组合那些适应性好的串。遗传算法对求解问题的本身一无所知,它所需要的仅是对算法所产生的每个染色体进行评价,并

6、根据适应性来选择染色体,使适应性好的染色体比适应性差的染色体有更多的繁殖机会。1遗传编程(GeneticProgramming):遗传编程的思想是Stanford大学的JohnR.Koza在1992年出版专著《GeneticProgramming》中提出的。[7]由自计算机出现以来,计算机科学的一个重要目标即是让计算机自动进行程序设计,即只要明确地告诉计算机要解决的问题,而不需要告诉它如何去做,遗传编程便是该领域的一种尝试。[8]它采用遗传算法的基本思想,但使用一种更为灵活的表示方式——分层结构来表示解空间。这

7、些分层结构的叶节点是问题的原始变量,中间节点则是组合这些原始变量的函数,这样的每一个分层结构对应问题的一个解,也可以理解为求解该问题的一个计算机程序。遗传编程即是使用一些遗传操作动态的改变这些结构以获得解决该问题的一个计算机程序。2进化策略(EvolutionStrategies):1964年,由德国柏林工业大学的IngoRechenberg等人提出。在求解流体动力学柔性弯曲管的形状优化问题时,用传统的方法很难优化设计中描述物体形状的参数,而利用生物变异的思想来随机地改变参数值获得了较好的结果。随后,他们便对这

8、一方法进行了深入的研究,形成了进化计算的另一个分支――进化策略。[9]进化策略与遗传算法的不同之处在于:进化策略直接在解空间上进行操作,强调进化过程中从父体到后代行为的自适应性和多样性,强调进化过程中搜索步长的自适应性调节,主要用于求解数值优化问题;而遗传算法是将原问题的解空间映射到位串空间之中,然后再施行遗传操作,它强调个体基因结构的变化对其适应度的影响。1进化编程(Evolutio

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。