遗传算法概述.docx

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
遗传算法概述 摘要:遗传算法( genetic algorithms, GA )是人工智能的重要新分支,是基于达尔文进化论, 在微型计算机上, 模拟生命进化机制而发展起来的一门学科。 它根据适者生存、 优胜劣汰等 自然进化规则来进行搜索计算机和问题求解。 对许多用传统数学难以解决或明显失效的非常 复杂的问题,特别是最优化问题, GA 提供了一个行之有效的新途径。近年来,由于遗传算 法求解复杂优化问题的巨大潜力及其在工业控制工程领域的成功应用, 这种算法受到了广泛 的关注。 本文旨在阐述遗传算法的基本原理、 操作步骤和应用中的一些基本问题, 以及为了 改善 SGA的鲁棒性而逐步发展形成的高级遗传算法( refine genetic algorithms, RGA )的实现 方法。 一、遗传算法的基本原理和特点 遗传算法将生物进化原理引入待优化参数形成的编码串群体中, 按着一定的适值函数及 一系列遗传操作对各个体进行筛选,从而使适值高的个体被保留下来,组成新的群体, 新群体包含上一代的大量信息, 并且引入了新一代的优于上一代的个体。 这样周而复始, 群体中各个体适值不断提高, 直至满足一定的极限条件。 此时,群体中适值最高的个体 即为待优化参数的最优解。 正是由于遗传算法独具特色的工作原理, 使它能够在复杂的 空间进行全局优化搜索, 并且具有较强的鲁棒性; 另外, 遗传算法对于搜索空间, 基本 上不需要什么限制性的假设(如连续性、可微及单峰等) 。 同常规优化算法相比,遗传算法有以下特点。 1) 遗传算法是对参数编码进行操作,而非对参数本身。遗传算法首先基于一个有限的字母表,把最优化问题的自然参数集编码为有线长度的字符串。例如,一 个最优化问题:在整数区间【 0,31】上求函数 f(x)=x2 的最大值。若采用传统方法,需要不断调节 x 参数的取值,直至得到最大的函数值为止。而采用遗传算 法,优化过程的第一步的是把参数x 编码为有限长度的字符串,常用二进制字 符串,设参数 x 的编码长度为 5,“ 00000”代表 0,“ 11111”代表 31,在区间 【 0,31】上的数与二进制编码之间采用线性映射方法; 随机生成几个这样的字符串组成初始群体,对群体中的字符串进行遗产操作,直至满足一定的终止条 件;求得最终群体中适值最大的字符串对应的十进制数,其相应的函数值则为 所求解。可以看出,遗传算法是对一个参数编码群体进行的操作,这样提供的 参数信息量大,优化效果好。 2) 遗传算法是从许多点开始并行操作,并非局限于一点,从而可有效防止搜索过程收敛于局部最优解。 3) 遗传算法通过目标函数计算适值,并不需要其他推导和附加信息,因而对问题的依赖性较小。 4) 遗传算法的寻优规则是由概率决定的,而非确定性的。 5) 遗传算法在解空间进行高效启发式搜索,而非盲目的穷举或完全随机搜索。 6) 遗传算法对求解的优化问题没有太多的数学要求。由于它的进化特性,它在解的搜索中不需要了解问题的内在性质。遗传算法可以处理任意形式的目标函数和约束,无论是线性的还是非线性的,离散的还是连续的,甚至是混合的搜索空间。 7) 遗传算法具有并行计算的特点,因而可通过大规模并行计算来提高计算速度。二、遗传算法的模式理论 1、 模式 一个模式( schemata)就是一个描述种群在位串的某些确定位置上具有相似性的一组符号串。 为了描述一个模式,在用以表示位串的两个字符{ 0,1}中加入一个通配符“ * ”,就构成了 一个表示模式用的 3 个字符的符号表{ 0, 1,* }。因此用三个元素符号表{ 0, 1, *}可以 构造出任意一种模式。 当一个模式与一个特定位串相匹配时, 意味着该模式中的 1 与位串中 的 1 相匹配,模式中的 0 与位串中的 0 相匹配,模式中的“ * ”与位串中的 0 或 1 相匹配。 例如,模式 00*00 匹配了两个位串, 即{ 00100,00000};模式 *111* 可以和{ 01110,01111, 11110, 11111}中的任何一个相匹配;模式 0*1** 则匹配了长度为 5,第一位为 0、第三位 为 1 的八个位串,即{ 00100, 00101, 00110,00111, 01100, 01101,01110, 01111}。模式的思路提供了一种简单而有效的方法,使能够在有限符号表的基础上讨论有限长位 串的严谨定义的相似性。 应强调的是,“ * ”只是一个代表其他符号的一个元符号, 它不能被 遗传算法直接处理,但可以据此计算出所有可能的模式。 一般地,假定符号表的基数是 k,例如{ 0,1}的基数是 2,则定义在该符号表上的长度 为 l 的位串中,所有可能包含的最大模式数为( k +l)l,

文档评论(0)

zdq7355 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档