首页 . 理学 . 数学 . 运筹学 . 运筹学方法

演化算法

/evolutionary algorithm/
条目作者章祥荪吴凌云
条目作者章祥荪

章祥荪

吴凌云

吴凌云

最后更新 2024-12-04
浏览 187
最后更新 2024-12-04
浏览 187
0 意见反馈 条目引用

一类基于种群的优化算法。其思想来源于自然界中生物体进化的自然选择原理和自然遗传机制。具有自组织、自适应、自学习性和并行性等特点。

英文名称
evolutionary algorithm
所属学科
数学

演化算法主要包括遗传算法、演化策略和演化规划。

遗传算法(genetic algorithm)是一类模拟达尔文生物进化论自然选择和优胜劣汰原理的智能优化算法。遗传算法的概念最早由J.D.巴格利(J.D.Bagley)于1967年提出,其理论和方法由美国密歇根大学的J.H.霍兰(J.H.Holland)于1975年作了进一步系统性的研究。与传统优化方法相比,遗传算法的优点是实行群体搜索和概率转移准则,因而能跳出局部解,搜索到接近全局最优的近似解。此外,它不需要计算目标函数的导数,能用来求目标函数比较复杂的优化问题。

基本的遗传算法包括编码和初始群体生成、群体评价、个体选择(selection)、交叉操作(crossover)、变异操作(mutation)等步骤。遗传算法将问题的解编码成染色体,这些染色体称为个体,个体组成的集合称为群体或种群。初始种群从解中随机选择生成,然后按照适者生存和优胜劣汰的原理,逐代演化产生出越来越好的近似解。在每一代,通过适应度(fitness)函数对每个个体进行评价。适应度函数一般根据问题的目标来设定。遗传算法根据种群中个体的适应度大小挑选个体,并借助于生物进化中的交叉和变异操作产生出新的个体,组成新的种群进入下一代。

交叉操作和变异操作是遗传算法中最重要的部分,因为它们是产生新个体的主要方法。交叉操作对选中的用于繁殖下一代的两个个体,随机地选择一个位置,按一定概率Pc在选中的位置实行交换,从而产生两个新的个体。变异操作根据生物遗传中的基因突变原理,以一定概率Pm对一些个体的某个位置执行变异,产生一个新的个体。变异操作能够增加种群中个体的多样性,使遗传算法避免过早收敛。     

演化策略(evolutionary strategy)是一种模仿自然进化原理求解参数优化问题的算法。其基本过程与遗传算法很类似。同遗传算法相比,演化策略不需要编码,而是直接用实数向量来表示解,在解空间上进行变异和选择等操作。演化策略采用自适应的变异策略,强调演化过程中搜索方向和步长的自适应调节。其选择操作是确定性的,只依赖于适应度的排序位置而不是具体的适应度值。演化策略一般只适合求解数值优化问题。随着科学的发展,演化策略已经与遗传算法互相渗透,它们之间的差别越来越不明显。

演化规划(evolutionary programming)是一种模仿人类智能的方法。它由随机产生的计算机程序群体开始,这个群体是由适合于问题空间领域的函数随机组合组成。这些函数可以是标准的算术运算函数、标准的编程操作、逻辑函数等。群体中的每个计算机程序个体根据其解决问题的能力用适应度来评价。然后应用变异等操作创造新的计算机程序群体。这样一代一代演化下去,经过一定代数,适应度最高的计算机程序个体被指定为演化规划的结果。演化计算的三种算法都是模拟生物界中的自然进化过程而建立的优化算法。它们有许多相似之处,同时也存在较大的差别。演化策略和演化规划都把变异作为主要操作算子,而在遗传算法中,变异只处于次要位置,交叉操作起主要作用。而交叉在演化规划中却被完全省去,在演化策略中同自适应结合使用。遗传算法和演化规划中的选择机制都具有随机性,而在演化策略中选择操作是完全确定的。由演化算法组成的演化计算已经成为人工智能中的一个重要分支。

相关条目

阅读历史

    意见反馈

    提 交

    感谢您的反馈

    我们会尽快处理您的反馈!
    您可以进入个人中心的反馈栏目查看反馈详情。
    谢谢!