人工智能artiicialintelligenceai.ppt

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

* 人 工 智 能 Artificial Intelligence (AI) 许建华 xujianhua@njnu.edu.cn 南京师范大学计算机科学系 2006年9-12月 4.5 遗传算法 生物群体的生存过程普遍遵循达尔文的物竞天择、适者生存的进化准则;生物通过个体间的选择、交叉、变异来适应大自然环境 。 遗传算法是模仿生物遗传学和自然选择机理,通过人工方式构造的一类优化搜索算法,是对生物进化过程的一个数学仿真,属于进化计算中的一类方法。 串码:表示染色体或者个体 适应度函数:表示一个染色体的适应能力,其最大值或者最小值就是最优化问题的解 4.5.1 遗传算法的基本机理 4.5.2 遗传算法的求解步骤 4.5.3 遗传算法的收敛性(略) 4.5.1 遗传算法的基本机理 1 编码与解码 2 适应度函数 3 遗传操作 1 编码与解码 在遗传算法中,为了模仿遗传学的遗传规律,必须对问题的解的结构进行编码,运行遗传算法后,再通过解码得到问题的解。 编码 解码 遗传算法 问题 编码:将问题解的结构转换成位串形式编码的过程 解码:将位串形式编码转化成问题的解的过程 染色体(个体):位串形式编码 编码与解码方法: 二进制码方法 浮点数方法 符号方法 格雷码方法 二进制码方法 编码方法:将参数的取值范围分成等长的 2l – 1 部分,再用 l 个二进制来编码每一个等分,共有2l 种不同的编码。 假设 x ?[A, B], 每一个部分的长度为 l=2 00?A 01?A+δ 10?A+2δ 11?A+3δ=B A B 解码方法: 如果某一个体的编码为: X=xl xl-1 …x2 x1 解码公式为 特点: 编码与解码简单 码串比较长 搜索空间是有限的,提高解的精度,必须加大码长 求解多个参数时,将所有的码拼接起来 符号方法:个体编码中的基因值只取代码含义的符号集 例:TSP问题,按照一个回路中城市的序号进行编码 相互之间不能相同 2 适应度函数 适应度函数:度量染色体优劣程度的函数,体现自然进化中的优胜劣汰原则。对于优化问题,适应度函数就是目标函数。 例:对于TSP问题,要求总路径长度为最小,适应度函数可以定义为 最小化 最大化 其中,wn+1=w1 d(wj,wj+1) :两个城市之间的距离 3 遗传操作 三种简单的遗传操作: 选择(Selection) 交叉(Crossover) 变异(Mutation) 选择操作(复制操作):根据适应度函数值所度量的个体的优劣程度决定此个体在下一代是被淘汰或是被遗。一般情况下,如果是求最大值,适应度函数值大的个体具有较大的生存机会。 交叉操作:选出两个个体作为父母个体,将两种的部分码值进行交换。 例: 0 1 1 1 0 0 0 1 1 1 0 1 1 0 1 1 1 1 0 1 0 0 0 1 0 1 1 1 1 0 1 1 变异操作:改变数码串上的某一个位置的数码。 例 0 1 1 0 0 1 0 1 0 1 1 0 1 1 0 1 4.5.2 遗传算法的求解步骤 1 遗传算法的特点 通过编码使得解空间是有限的,所有遗传算法是一种基于空间搜索的求解技术,通过自然选择、交叉、变异等操作以及达尔文的适者生存的理论,模拟自然进化过程来寻找问题的解。 现在将遗传算法看成为一种现代的优化技术,但是不一定能找到问题的全局最优解。通过一定的手段,可以将误差控制在容许的范围内(以很大的概率找到全局最优解)。 最优解 特点: 对参数集合的编码进行进化,不是参数本身进行进化 从问题解的编码组(群体)开始,不是从单个解开始搜索 只利用适应度函数(目标函数),不需要导数等信息 只利用选择、交叉、变异等操作,不需要利用确定性规则进行随机操作 2 遗传算法的框图 遗传算法的基本思想:通过随机方式产生若干个个体,形成一个初始种群;利用适应度函数计算它们的适应度函数值,淘汰适应度小的个体,选择适应度高的个体参加遗传操作;经过遗传操作后的个体形成下一代种群,再对新的种群进行新的一轮进化。 基本思想 简单的遗传算法 基本的遗传算法 复杂的遗传算法 简单遗传算法的步骤: 初始化种群 计算种群中每一个个体的适应度函数值 根据与适应度相关联的规则确定进入下一轮的个体 按照某一个概率进行交叉操作 按照某一个概率进行变异操作 如果不满足终止条件,则转到(2),否则继续 将种群中适应度最优的个体作为问题的解 开始 初始化种群 计算适应度值 选择操作 交叉操作 变异操作 终止条件? 选取适应度最优个体作为解 结束 是 3 遗传算法例子 求最大值 主要步骤: 编码:22位二进制数码串 种群初始化 适应度函数:函数本身 遗传操作:选择、交叉、变异操作 算法的若干关键参数:种群大小、种群代数、选

文档评论(0)

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

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

1亿VIP精品文档

相关文档