- 1、本文档共38页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
算法可定义为一个8元组: (4) 变异 在交叉过程中,可能丢失一些重要的遗传信息(特定位置的1与0 ),因而产生变异。为了获得新的遗传信息,则需引入适度的变异。 (2)选择 根据“适者生存”的自然选择原理,从初始种群中选择生命力强的个体(适者)产生新的种群 ① 确定适应度函数 适应度函数取为非负函数,且适应度增大的方向对应于目标函数的优化方向 本例取适应度函数 fitness(X)=x2 ② 计算适应度和选择率 将初始种群的个体解码为X,并计算适应度f(X)及选择率f/∑,其中∑为适应度之和. 选择适应值大的串作为母本,使在下一代中有更多的机会繁殖其子孙。 要在四个种子个体中做选择,要求仍然得到四个染色体,可依据适应度概率比例制定如下规则: 低于0.125以下的染色体被淘汰; 在0.125~0.375之间的染色体被复制一个; 在0.375~0.625之间的染色体被复制两个; 在0.625~0.875之间的染色体被复制三个; 在0.875以上的染色体可复制四个。 ③ 随机选择适者个体 采用轮盘法,对初始种群进行选择,使得最优秀的个体获得最多的生存繁殖机会。 49.2﹪ 30.9% 14.4% 5.5% 01101 11000 11000 10011 (3)交叉 将选择出的个体存入交配池中,用随机方法配对交叉,以产生新一代的个体 ① 随机选择配对;② 随机选择交叉点; ③ 采用单点交叉,产生新的种群 设变异概率取为0.001,则对于种群总共有20个基因位. 期望的变异串位数计算:20×0.001 =0.02(位), 故一般来说,该例中可无基因位数值的改变. * 人 工 智 能 Artificial Intelligence (AI) 3.4 遗传算法 生物群体的生存过程普遍遵循达尔文的物竞天择、适者生存的进化准则;生物通过个体间的选择、交叉、变异来适应大自然环境 。 遗传算法是模仿生物遗传学和自然选择机理,通过人工方式构造的一类优化搜索算法,是对生物进化过程的一个数学仿真,属于进化计算中的一类方法。 串码:表示染色体或者个体 适应度函数:表示一个染色体的适应能力,其最大值或者最小值就是最优化问题的解 一、 遗传算法的基本机理 二、遗传算法的求解步骤 三、遗传算法的收敛性(略) 一、遗传算法的基本机理 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
文档评论(0)