基础及其本质.PDF

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基础及其本质.PDF

第二章 小袋鼠你往哪儿跳--遗传算法 基础及其本质 有很多袋鼠,它们降落到喜玛拉雅山脉的任意地方。这些袋鼠并不知道它们的任务是寻 找珠穆朗玛峰。但每过几年,就在一些海拔高度较低的地方射杀一些袋鼠,并希望存活下来 的袋鼠是多产的,在它们所处的地方生儿育女。 想了很久,应该用一个怎么样的例子带领大家走进遗传算法的神奇世界呢?遗传算法的 有趣应用很多,诸如寻路问题,8 数码问题,囚犯困境,动作控制,找圆心问题(这是一个 国外网友的建议:在一个不规则的多边形中,寻找一个包含在该多边形内的最大圆圈的圆 心。),TSP 问题(在以后的章节里面将做详细介绍。),生产调度问题,人工生命模拟等。 直到最后看到一个非常有趣的比喻,觉得由此引出的袋鼠跳问题(暂且这么叫它吧),既有 趣直观又直达遗传算法的本质,确实非常适合作为初学者入门的例子。这一章将告诉读者, 我们怎么让袋鼠跳到珠穆朗玛峰上去(如果它没有过早被冻坏的话)。 问题的提出与解决方案 让我们先来考虑考虑下面这个问题的解决办法。 已知一元函数: fx( )=?+∈? x sin(10π x ) 2.0 x [ 1,2] 现在要求在既定的区间内找出函数的最大值。函数图像如图 2-1 所示。 图 2-1 极大值、最大值、局部最优解、全局最优解 在解决上面提出的问题之前我们有必要先澄清几个以后将常常会碰到的概念:极大值、 最大值、局部最优解、全局最优解。学过高中数学的人都知道极大值在一个小邻域里面左边 的函数值递增,右边的函数值递减,在图 2.1 里面的表现就是一个“山峰”。当然,在图上 有很多个“山峰”,所以这个函数有很多个极大值。而对于一个函数来说,最大值就是在所 有极大值当中,最大的那个。所以极大值具有局部性,而最大值则具有全局性。 因为遗传算法中每一条染色体,对应着遗传算法的一个解决方案,一般我们用适应性函 数(fitness function)来衡量这个解决方案的优劣。所以从一个基因组到其解的适应度形 成一个映射。所以也可以把遗传算法的过程看作是一个在多元函数里面求最优解的过程。在 这个多维曲面里面也有数不清的“山峰”,而这些最优解所对应的就是局部最优解。而其中 也会有一个“山峰”的海拔最高的,那么这个就是全局最优解。而遗传算法的任务就是尽量 爬到最高峰,而不是陷落在一些小山峰。(另外,值得注意的是遗传算法不一定要找“最高 的山峰”,如果问题的适应度评价越小越好的话,那么全局最优解就是函数的最小值,对应 的,遗传算法所要找的就是“最深的谷底”)如果至今你还不太理解的话,那么你先往下看。 本章的示例程序将会非常形象的表现出这个情景。 “袋鼠跳”问题 既然我们把函数曲线理解成一个一个山峰和山谷组成的山脉。那么我们可以设想所得到 的每一个解就是一只袋鼠,我们希望它们不断的向着更高处跳去,直到跳到最高的山峰(尽 管袋鼠本身不见得愿意那么做)。所以求最大值的过程就转化成一个“袋鼠跳”的过程。下 面介绍介绍“袋鼠跳”的几种方式。 爬山法、模拟退火和遗传算法 解决寻找最大值问题的几种常见的算法: 1. 爬山法(最速上升爬山法): 从搜索空间中随机产生邻近的点,从中选择对应解最优的个体,替换原来的个体,不断 重复上述过程。因为只对“邻近”的点作比较,所以目光比较“短浅”,常常只能收敛到离 开初始位置比较近的局部最优解上面。对于存在很多局部最优点的问题,通过一个简单的迭 代找出全局最优解的机会非常渺茫。(在爬山法中,袋鼠最有希望到达最靠近它出发点的山 顶,但不能保证该山顶是珠穆朗玛峰,或者是一个非常高的山峰。因为一路上它只顾上坡, 没有下坡。) 2. 模拟退火: 这个方法来自金属热加工过程的启发。在金属热加工过程中,当金属的温度超过它的 熔点(Melting Point)时,原子就会激烈地随机运动。与所有的其它的物理系统相类似,原 子的

文档评论(0)

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

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

1亿VIP精品文档

相关文档