云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 遗传算法学习及其在迷宫问题的应用代码实现精品毕业设计(完整版)

遗传算法学习及其在迷宫问题的应用代码实现精品毕业设计(完整版)

  • 62 次阅读
  • 3 次下载
  • 2025/5/24 17:58:29

目录

第一部分:遗传算法介绍 ...................................................................... 2 1.1遗传算法的产生和发展 ......................................................... 2 1.2遗传算法的基本求解步骤 ............................................... 2 第二部分:遗传算法解决迷宫问题(代码在文件夹代码中,可执行程序在文件夹程序中) ............................................................................. 4 2.1问题概述(构建迷宫) .............................................................. 4 2. 2为染色体编码 ............................................................................ 6 2.3Epoch(时代)方法 ........................................................................ 10 2.4参数值选择 .............................................................................. 13 2.5算子函数 .................................................................................. 14 2.6运行迷宫程序 .......................................................................... 16 参考文献 ............................................................................................... 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, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 8, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1,

1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 5, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1} 在屏幕中的显示效果如图1所示。

图1 迷宫实际显示效果图

这种地图的设计方法被封装在一个被称为CBobsMap的类中,并定义为 class CBobsMap { private:

//保存地图用的存储器(一个二维整数数组) static const int map[MAP_HEIGHT][MAP_WIDTH]; static const int m_iMapWidth;//地图宽读 static const int m_iMapHeight;//地图高度 /起始点在数组中的下标 static const int m_iStartX; static const int m_iStartY; //终点的数组下标 static const int m_iEndX;

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

目录 第一部分:遗传算法介绍 ...................................................................... 2 1.1遗传算法的产生和发展 ......................................................... 2 1.2遗传算法的基本求解步骤 ............................................... 2 第二部分:遗传算法解决迷宫问题(代码在文件夹代码中,可执行程序在文件夹程序中) ............................................................................. 4 2.1问题概述(构建迷宫) ........

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com