遗传算法学习及其在迷宫问题的应用代码实现详解.docx

遗传算法学习及其在迷宫问题的应用代码实现详解.docx

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
目录 TOC \o 1-3 \u 第一部分:遗传算法介绍  PAGEREF _Toc626 2 1.1遗传算法的产生和发展?  PAGEREF _Toc29497 2 1.2遗传算法的基本求解步骤? ?  PAGEREF _Toc21461 3 第二部分:遗传算法解决迷宫问题(代码在文件夹代码中,可执行程序在文件夹程序中)  PAGEREF _Toc2782 4 2.1问题概述(构建迷宫)  PAGEREF _Toc17945 4 2. 2为染色体编码  PAGEREF _Toc29335 6 2.3Epoch(时代)方法  PAGEREF _Toc5379 10 2.4参数值选择  PAGEREF _Toc11963 13 2.5算子函数  PAGEREF _Toc13453 14 2.6运行迷宫程序  PAGEREF _Toc26714 16 参考文献  PAGEREF _Toc667 17  遗传算法学习及其在迷宫问题的应用 第一部分:遗传算法介绍 遗传算法(genetic?algorithms,GA)是一种模拟自然选择和遗传机制的寻优方法,它是建立在达尔文的生物进化论和孟德尔的遗传学说基础上的算法。基因杂交和基因突变可能产生对环境适应性强的后代,通过优胜劣汰的自然选择,适应值高的基因结构就保存下来。遗传算法就是模仿了生物的遗传、进化原理,并引用了随机统计原理而形成的。 1.1遗传算法的产生和发展? 50年代末60年代初,生物学家Fraser?试图通过计算的方法来模拟生物界遗传与选择的进化过程,这便是GA?的雏形。受此启发,Holland?教授认识到自然遗传可以转化为人工遗传算法。1967年Bagley?在其博士论文中首次提出了遗传算法这一术语。1975年, Holland出版了《自然与人工系统中的适应性行为》。该书系统地阐述了遗传算法的基本理论和方法,提出了遗传算法的基本定理-模式定理,从而奠定了遗传算法的理论基础。20世纪80年代初,Holland? 教授实现了第一个基于遗传算法的机器学习系统--分类器系统(Classifier?System 简称CS),开创了基于遗传算法的机器学习的新概念。l992年,John R.Koza出版了专著《遗传编程》,提出了遗传编程的概念,并成功地把遗传编程的方法应用于人工智能、机器学习、符号处理等方面。随着遗传算法的不断发展,关于遗传算法的国际学术活动越来越多,遗传算法已成为一个多学科、多领域的重要研究方向。 ? 1.2遗传算法的基本求解步骤? ? 1.2.1编码:确定用何种码制,?然后将问题参数编码形成基因码链,每一个码链代表一个个体,?表示优化问题的一个解。 1.2.2 初始化:随机产生一个规模为P的初始种群,其中每个个体为一定长度的码链,?该群体代表优化问题的一些可能解的集合。? 1.2.3 估计适应度:计算种群中每个个体的适应度,适应度为群体进化时的选择提供了依据。一般来说适应度越高,?解的素质越好。适应度函数可以根据目标函数而定。 1.2.4 再生(选择):根据每个个体的相对适应度,计算每个个体的再生次数,并进行再生操作,?产生新的个体加人下一代群体中,一般再生的概率与其适应度成正比。? 1.2.5 交叉:从种群中随机选择两个染色体,按一定的概率进行基因交换,交换位置的选取是随机的。 1.2.6 变异:从种群中随机地选择一个染色体,?按一定的变异概率P进行基因变异,GA的有哪些信誉好的足球投注网站能力主要是由选择与交叉赋于的,变异算子则保证了算法能有哪些信誉好的足球投注网站到问题空间的每一点,?从而使算法具有全局最优性,?它进一步增强了GA的能力.? 1.2.7 重复:若发现最优解,则算法停止,否则转3,对产生的新一代群体进行重新评价、选择、交叉、变异操作,?如此循环往复,使群体中最优个体的适应度和平均适应度不断提高。其流程图如下: 第二部分:遗传算法解决迷宫问题(代码在文件夹代码中,可执行程序在文件夹程序中) 2.1问题概述(构建迷宫) 寻找路径问题是游戏人工智能的一块“神圣基石”下面就来创建一个遗传算法用在一个非常简单的场景中解决寻找路径问题,首先创建一个迷宫,他的左边有一个路口,右边有一个出口,并且有一些障碍物布在其中,在出发点放置一个虚拟的人鲍勃,然后要为他解决如何寻找路径的问题,使他能找到出口,并且避免与所有的障碍物相碰撞,下面讲述如何产生鲍勃的染色体的编码,但首先要解释如何来表示迷宫 迷宫是一个二维整数数组:用0来表示开放的空间,1来表示墙壁或者障碍物,5为起始点,8为出口。因此,假设迷宫的二维数组如下: {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0

文档评论(0)

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

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

1亿VIP精品文档

相关文档