遗传算法存在问题剖析.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
遗传算法存在问题剖析

遗传算法存在问题剖析   摘要:基于遗传算法,分析了遗传算法中早熟现象和重复基因问题出现的原因,归纳了传统的解决办法,提出了有效的解决办法。   关键词:遗传算法;早熟现象;重复基因   中图分类号:TP18 文献标识码:A 文章编号:1009-3044(2015)17-0163-02   1 遗传算法存在问题   1.1早熟现象   遗传算法实质上就是在基因上进行的一系列的相关操作,即选择、交叉和变异操作,通过选择操作,将本代种群中适应度较高的个体遗传到下一代,交叉操作可以实现基因的重组,探索适应度更高的个体,变异操作主要实现基因的突变。通过一系列的操作之后,按照进化论中的优胜劣汰原则,较好的个体逐渐地被进化,较差的个体逐渐地被淘汰,得到遗传算法所寻找的最优解。随着遗传算法的进行,部分较高适应度的个体将会保留下来,如此进行下去,种群中个体大部分的基因将会趋于一致,种群中也会存在很多相似的个体,减小了种群的多样性。从遗传理论上分析,遗传算法能够保证操作的精确度,而且算法中的群体规模可以随机选取,通过一系列操作之后,种群中个体的优秀基因肯定能够遗传到下一代,种群最终能够得出最优解。但实际上,遗传算法实现是有时间限制的,而且实现资源也是有限的,所以实现过程中要考虑到群体规模的大小,遗传算法中的这些限制可能会使群体中的个体过早地丧失多样性。   综上所述,遗传算法的早熟现象指在遗传算法实现过程中,丧失了种群个体的多样性,使个体中的基因趋于一致,导致算法的搜索停止在局部,无法实现在全局的搜索,最终得到的是局部最优解。   1.2重复基因问题   遗传算法在实现时,编码方案如果采用了实数编码,容易出现重复基因的问题。重复基因主要是指在进行交叉操作的两个染色体中存在相同的基因,选择交叉点进行交叉之后,产生的新的染色体中有两个相同的基因。   以自动组卷问题为例,重复基因问题就是指在同一套试卷中有完全相同试题的出现。在实现遗传算法时,首先要进行初始化群体,初始群体中每个个体的产生都是随机的,所以每个个体选中的试题也是随机的,不同的个体可能会选中同一道试题。当两套试卷进行交叉操作时,如果两套试卷中含有相同的试题,而且该试题在试卷中的位置不同,或是试题在两个个体的基因位不同,交叉点选在两个基因位之间,交叉操作之后产生的新个体中必定会出现两个相同的基因。   2 早熟现象原因分析及解决   遗传算法在实际应用中经常出现早熟现象,出现早熟现象的原因主要有以下三点:   1) 群体规模   群体规模主要是指种群中的个体数量,其取值的大小影响着遗传算法早熟现象的发生。当群体规模取值较小时,虽然算法的收敛速度会很快,但是生成的具有较高适应度的个体的数量会很少,容易造成早熟现象的发生;当群体规模取值较大时,保证了参加遗传算法的群体的多样性,能够产生具有较高适应度的个体,增大了得到全局最优解的可能性,但是增大了算法的计算量,降低了收敛速度。综合考虑,群体规模的取值可以在50-100之间。   2) 选择操作   在自然界中,选择过程遵循着优胜劣汰的规律,在遗传算法中,这种规律是通过选择算子来实现的。选择操作主要是在本代种群中选择适应度较高的个体保留到下一代,保证遗传算法得到最优解。选择操作通常使用轮盘赌选择方法,增大了较高适应度值的个体被遗传的概率,但是这样有可能淘汰掉本代种群中的最佳个体,也有可能本代中的最佳个体通过交叉和变异操作之后,以前良好的基因组合被破坏,容易出现早熟现象。   3) 交叉概率和变异概率   在遗传算法中,通过交叉和变异的操作,保证了种群个体的多样性。传统的遗传算法中,交叉概率和变异概率采用了固定值。如果交叉概率取值较大,提高了交叉操作的速度,同时也破坏了原来个体,算法的寻优速度就会降低;如果交叉概率取值较小,会降低遗传个体的破坏性,但是算法可能会过早地得到局部最优解。如果变异概率较小,通过变异操作产生的新个体的数量也会变小,随着遗传操作的进行,适应度较高个体就会在群体中快速繁殖,从而出现局部最优解,出现早熟现象。因此,在遗传算法实现中的交叉和变异概率采用自适应遗传算法中的动态交叉概率和动态变异概率,这样会降低早熟现象出现的概率。   3 重复基因问题解决   解决重复基因问题的传统方法有两种:   第一种方法是在创建数据表时,在试题表中增加一个字段,在初始化群体时,用该字段标志试题是否被某个个体选中,已经被选中的试题不能再次被选中,这样在种群个体中避免了重复题的出现。但是这样做违背了初始化的随机性原则。   第二种方法是移动交叉点,即在进行交叉时,先判断两个个体中是否有重复基因出现,如果有重复基因的出现,将交叉点选在两个重复基因的基因位区间之外,如果区间选在了重复基因的基因位之内,则通过

文档评论(0)

3471161553 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档