第6章 进化算法及其应用(AI应用3版).ppt
《第6章 进化算法及其应用(AI应用3版).ppt》由会员分享,可在线阅读,更多相关《第6章 进化算法及其应用(AI应用3版).ppt(142页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Artificial Intelligence Principles and Applications第第6章章进化算法及其应用进化算法及其应用教材:教材:王万良王万良人工智能及其应用人工智能及其应用(第(第3版)版)高等教育出版社,高等教育出版社,2016.22第6章进化算法及其应用o6.1进化算法的产生与发展进化算法的产生与发展o6.2基本遗传算法基本遗传算法o6.3遗传算法的改进算法遗传算法的改进算法o6.4基于遗传算法的生产调度方法基于遗传算法的生产调度方法o6.5差分进化算法及其应用差分进化算法及其应用o6.6量子进化算法及其应用量子进化算法及其应用3第6章进化算法及其应用o6.1进
2、化算法的产生与发展进化算法的产生与发展o6.2基本遗传算法基本遗传算法o6.3遗传算法的改进算法遗传算法的改进算法o6.4基于遗传算法的生产调度方法基于遗传算法的生产调度方法o6.5差分进化算法及其应用差分进化算法及其应用o6.6量子进化算法及其应用量子进化算法及其应用46.1进化算法的产生与发展6.1.1进化算法的概念进化算法的概念6.1.2进化算法的生物背景进化算法的生物背景6.1.2遗产算法的基本思想遗产算法的基本思想6.1.3遗产算法的发展历史遗产算法的发展历史6.1.4设计遗产算法设计遗产算法的基本原则与内容的基本原则与内容56.1.1进化算法的概念进进化化算算法法(evolutio
3、naryalgorithms,EA)是基于自然选择和自然遗传等生物进化机制的一种搜索算法。生物进化是通过繁殖、变异、竞争和选择实现的;而进化算法则主要通过选择、重组和变异这三种操作实现优化问题的求解。进化算法是一个“算法簇”,包括遗传算法(GA)、遗传规划、进化策略和进化规划等。进化算法的基本框架是遗传算法所描述的框架。进化算法可广泛应用于组合优化、机器学习、自适应控制、规划设计和人工生命等领域。66.1.2进化算法的生物学背景o适适者者生生存存:最最适适合合自自然然环环境境的的群群体体往往往往产产生生了了更更大大的的后后代代群群体。体。o生物进化的基本过程:生物进化的基本过程:染染色色体体(
4、chromosome):生生物物的遗传物质的主要载体。的遗传物质的主要载体。基基因因(gene):扩扩展展生生物物性性状状的的遗遗传传物物质质的的功功能能单单元元和和结结构单位。构单位。基基因因座座(locus):染染色色体体中中基因的位置。基因的位置。等等位位基基因因(alleles):基基因因所取的值。所取的值。7第6章进化算法及其应用o6.1进化算法的产生与发展进化算法的产生与发展o6.2基本遗传算法基本遗传算法o6.3遗传算法的改进算法遗传算法的改进算法o6.4基于遗传算法的生产调度方法基于遗传算法的生产调度方法o6.5差分进化算法及其应用差分进化算法及其应用o6.6量子进化算法及其应
5、用量子进化算法及其应用86.2.1遗传算法的基本思想生物遗传概念生物遗传概念遗产算法中的应用遗产算法中的应用适者生存适者生存目标值比较大的解被选择的可能性大目标值比较大的解被选择的可能性大个体(个体(Individual)解解染色体(染色体(Chromosome)解的编码(字符串、向量等)解的编码(字符串、向量等)基因(基因(Gene)解的编码中每一分量解的编码中每一分量适应性(适应性(Fitness)适应度函数值适应度函数值群体(群体(Population)根根据据适适应应度度值值选选定定的的一一组组解解(解解的的个个数数为群体的规模)为群体的规模)婚配(婚配(Marry)交交叉叉(Cros
6、sover)选选择择两两个个染染色色体体进进行行交叉产生一组新的染色体的过程交叉产生一组新的染色体的过程变异(变异(Mutation)编码的某一分量发生变化的过程编码的某一分量发生变化的过程96.2.1遗传算法的基本思想 遗传算法的基本思想:遗传算法的基本思想:在在求求解解问问题题时时从从多多个个解解开开始始,然然后后通通过过一一定定的的法法则进行逐步迭代以产生新的解。则进行逐步迭代以产生新的解。106.2.2遗传算法的发展历史o1962年,Fraser提出了自然遗传算法。o1965年,Holland首次提出了人工遗传操作的重要性。o1967年,Bagley首次提出了遗传算法这一术语。o197
7、0年,Cavicchio把遗传算法应用于模式识别中。o1971年,Hollstien在论文计算机控制系统中人工遗传自适应方法中阐述了遗传算法用于数字反馈控制的方法。o1975年,美国J.Holland出版了自然系统和人工系统的适配;DeJong完成了重要论文遗传自适应系统的行为分析。o20世纪80年代以后,遗传算法进入兴盛发展时期。11遗传算法设计的基本内容 编码方案编码方案:怎样把优化问题的解进行编码。:怎样把优化问题的解进行编码。适应度函数适应度函数:怎样根据目标函数构建适应度函数。:怎样根据目标函数构建适应度函数。选择策略选择策略:优胜劣汰。:优胜劣汰。控控制制参参数数:种种群群的的规规
8、模模、算算法法执执行行的的最最大大代代数数、执行不同遗传操作的概率等。执行不同遗传操作的概率等。遗传算子遗传算子:选择、交叉、变异:选择、交叉、变异。算算法法终终止止准准则则:规规定定一一个个最最大大的的演演化化代代数数,或或算算法在连续多少代以后解的适应值没有改进。法在连续多少代以后解的适应值没有改进。12遗传算法的基本算法o遗传算法的五个基本要素遗传算法的五个基本要素:n参数编码n初始群体的设定n适应度函数的设计n遗传操作设计n控制参数设定136.2遗传算法的基本算法6.2.1编码编码6.2.2群体设定群体设定6.2.3适应度函数适应度函数6.2.4选择选择6.2.5交叉交叉6.2.6变异
9、变异6.2.7遗传算法遗传算法的一般步骤的一般步骤146.2.3编码 1.位串编码位串编码一一维维染染色色体体编编码码方方法法:将问题空间的参数编码为一维排列的染色体的方法。二二进进制制编编码码:用若干二进制数表示一个个体,将原问题的解空间映射到位串空间B=0,1上,然后在位串空间上进行遗传操作。(1)二进制编码二进制编码156.2.3编码(1)二进制编码二进制编码(续)(续)优点优点:类似于生物染色体的组成,算法易于用生物遗传理论解释,遗传操作如交叉、变异等易实现;算法处理的模式数最多。缺点:缺点:相邻整数的二进制编码可能具有较大的Hamming距离,降低了遗传算子的搜索效率。15:0111
10、116:10000要先给出求解的精度。求解高维优化问题的二进制编码串长,算法的搜索效率低。166.2.3编码 1.位串编码位串编码(2)Gray编码编码Gray编码:将二进制编码通过一个变换进行转换得到的编码。二进制串 Gray 二进制编码 Gray编码Gray编码 二进制编码 176.2.3编码 2.实数编码实数编码 采用实数表达法不不必必进进行行数数制制转转换换,可直接在解的表现型上进行遗传操作。多多参参数数映映射射编编码码的的基基本本思思想想:把每个参数先进行二进制编码得到子串,再把这些子串连成一个完整的染色体。多参数映射编码中的每个子串对应各自的编码参数,所以,可以有不同的串长度和参数
11、的取值范围有不同的串长度和参数的取值范围。181.初始种群的产生初始种群的产生6.2.4群体设定(1)根据问题固有知识,把握最优解所占空间在整个问题空间中的分布范围,然后,在此分布范围内设定初始群体。(2)随机产生一定数目的个体,从中挑选最好的个体加到初始群体中。这种过程不断迭代,直到初始群体中个体数目达到了预先确定的规模。192.种群规模的确定种群规模的确定6.2.4群体设定 模模式式定定理理表明:若群体规模为M,则遗传操作可从这M 个个体中生成和检测 个模式,并在此基础上能够不断形成和优化积木块,直到找到最优解。群体规模太小,遗传算法的优化性能不太好,易陷入局部最优解。群体规模太大,计算复
12、杂。201.1.将目标函数映射成适应度函数的方法将目标函数映射成适应度函数的方法6.2.5适应度函数 若目标函数为最大化最大化问题,则 若目标函数为最小化最小化问题,则将目标函数转换为求最大值的形式将目标函数转换为求最大值的形式,且保证函数值非负!且保证函数值非负!若目标函数为最大化最大化问题,则 若目标函数为最小化最小化问题,则211.1.将目标函数映射成适应度函数的方法将目标函数映射成适应度函数的方法(续)续)6.2.5适应度函数存在界限值预选估计困难或者不能精确估计的问题!存在界限值预选估计困难或者不能精确估计的问题!若目标函数为最大化最大化问题,则 若目标函数为最小化最小化问题,则 :
13、目标函数界限的保守估计值。222.适应度函数的尺度变换适应度函数的尺度变换 在遗传算法中,将所有妨碍适应度值高的个体产生,从而 影 响 遗 传 算 法 正 常 工 作 的 问 题 统 称 为 欺欺 骗骗 问问 题题(deceptiveproblem)。6.2.5适应度函数 过过早早收收敛敛:缩小这些个体的适应度,以降低这些超级个体的竞争力。停停滞滞现现象象:改变原始适应值的比例关系,以提高个体之间的竞争力。适应度函数的尺尺度度变变换换(fitnessscaling)或者定定标标:对适应度函数值域的某种映射变换。232.适应度函数适应度函数的尺度变换的尺度变换(续)续)(1)线性变换:6.2.5
14、适应度函数满足满足最小适应度值非负 242.适应度函数适应度函数的尺度变换的尺度变换(续)续)(2)幂函数变换法:6.2.5适应度函数(3)指数变换法:256.2.6选择 1.个体选择概率分配方法个体选择概率分配方法选择操作也称为复制(reproduction)操作:从当前群体中按照一定概率选出优良的个体,使它们有机会作为父代繁殖下一代子孙。判断个体优良与否的准则是各个个体的适应度值:个体适应度越高,其被选择的机会就越多。266.2.6选择 1.个体选择概率分配方法个体选择概率分配方法(1)适适应应度度比比例例方方法法(fitnessproportionalmodel)或蒙特卡罗法或蒙特卡罗法
15、(MonteCarlo)各个个体被选择的概率和其适应度值成比例。个体 被选择的概率为:276.2.6选择 1.个体选择概率分配方法个体选择概率分配方法(2)排序方法排序方法(rank-basedmodel)线性排序:J.E.Baker 群体成员按适应值大小从好到坏依次排列:个体 按转盘式选择的方式选择父体286.2.6选择 1.个体选择概率分配方法个体选择概率分配方法(2)排序方法排序方法(rank-basedmodel)非线性排序:Z.Michalewicz 将群体成员按适应值从好到坏依次排列,并按下式分配选择概率:296.2.6选择 1.1.个体选择概率分配方法个体选择概率分配方法(2)排
16、序方法排序方法(rank-basedmodel)可用其他非线性函数来分配选择概率,只要满足以下条件:306.2.6选择 2.选择个体方法选择个体方法(1)转盘赌选择转盘赌选择(roulettewheelselection)按个体的选择概率产生一个轮盘,轮盘每个区的角度与个体的选择概率成比例。产生一个随机数,它落入转盘的哪个区域就选择相应的个体交叉。第1轮产生一个随机数:0.81 第2轮产生一个随机数:0.32 316.2.6选择 2.选择个体方法选择个体方法(2)锦标赛选择方法锦标赛选择方法(tournamentselectionmodel)锦锦标标赛赛选选择择方方法法:从群体中随机选择个个体
17、,将其中适应度最高的个体保存到下一代。这一过程反复执行,直到保存到下一代的个体数达到预先设定的数量为止。随随机机竞竞争争方方法法(stochastictournament):每次按赌轮选择方法选取一对个体,然后让这两个个体进行竞争,适应度高者获胜。如此反复,直到选满为止。326.2.6选择 2.选择个体方法选择个体方法(3)和选择 从规模为 的群体中随机选取个体通过重组和变异生成 个后代,再选取 个最优的后代作为新一代种群。从 个后代与其父体共 中选取 个最优的后代。336.2.6选择 2.选择个体方法选择个体方法(4)Boltzmann锦标赛选择 最最佳佳个个体体(elitistmodel)
18、保保存存方方法法:把群体中适应度最高的个体不进行交叉而直接复制到下一代中,保证遗传算法终止时得到的最后结果一定是历代出现过的最高适应度的个体。(5)最佳个体保存方法 随机选取两个个体 ,若 则选择适应值好的作为胜者,否则计算概率 ,若 ,选择差解,否则选择好解。346.2.7交叉 1.基本的交叉算子基本的交叉算子(1)一点交叉一点交叉(single-pointcrossover)一点交叉:在个体串中随机设定一个交叉点,实行交叉时,该点前或后的两个个体的部分结构进行互换,并生成两个新的个体。二点交叉:随机设置两个交叉点,将两个交叉点之间的码串相互交换。(2)二点交叉二点交叉(two-pointc
19、rossover)356.2.7交叉 1.基本的交叉算子(续)基本的交叉算子(续)均匀交叉:按照均匀概率抽取一些位,每一位是否被选取都是随机的,并且独立于其他位。然后将两个个体被抽取位互换组成两个新个体。(3)均匀交叉均匀交叉(uniformcrossover)或一致交叉366.2.7交叉 2.修正的交叉方法修正的交叉方法(1)部部 分分 匹匹 配配 交交 叉叉 PMX:Goldberg D.E.和 R.Lingle(1985)376.2.7交叉 2.修正的交叉方法修正的交叉方法(续)续)(2)顺序交叉顺序交叉OX:DavisL.(1985)(3)循环交叉循环交叉CX:SmithD.(1985
20、)386.2.7交叉 3.实数编码的交叉方法实数编码的交叉方法(1)离散交叉)离散交叉(discretecrossover)部部分分离离散散交交叉叉:在父解向量中选择一部分分量,然后交换这些分量。二进制的点式交叉二进制的点式交叉 整整体体离离散散交交叉叉:以0.5的概率交换父体的所有分量。二进制编码的均匀性交叉二进制编码的均匀性交叉21ss 与396.2.7交叉 3.实数编码的交叉方法(续)实数编码的交叉方法(续)(2)算术交叉算术交叉(arithmeticalcrossover)部部分分算算术术:先在父解向量中选择一部分分量,如第 个分量以后的所有分量,然后生成 个0,1区间的随机数,并将两
21、个后代定义为:406.2.7交叉3.实数编码的交叉方法(续)实数编码的交叉方法(续)(2)算术交叉算术交叉(arithmeticalcrossover)整整体体算算术术交交叉叉:先生成n 个区间的随机数,则后代分别定义为:416.2.8变异 1.整数编码的变异方法整数编码的变异方法(1)位位点点变变异异:群体中的个体码串,随机挑选一个或多个基因座,并对这些基因座的基因值以变异概率作变动。(2)逆逆转转变变异异:在个体码串中随机选择两点(逆转点),然后将两点之间的基因值以逆向排序插入到原位置中。(3)插插入入变变异异:在个体码串中随机选择一个码,然后将此码插入随机选择的插入点中间。426.2.8
22、变异 1.整数编码的变异方法(续)整数编码的变异方法(续)(4)互互换换变变异异:随机选取染色体的两个基因进行简单互换。(5)移移动动变变异异:随机选取一个基因,向左或者向右移动一个随机位数。(6)自自适适应应变变异异:类似于位点变异,但变异概率随群体中个体的多样性程度而自适应调整。436.2.8变异 2.实数编码的变异方法实数编码的变异方法(1)均匀性变异均匀性变异 均匀性变异均匀性变异:在父解向量中随机地选择一个分量(第 个),然后在 中以均匀概率随机选择 代替 以得到 ,即 446.2.8变异 2.实数编码的变异方法(续)实数编码的变异方法(续)(2)正态性变异正态性变异(normald
23、istributedmutation)456.2.8变异 2.实数编码的变异方法(续)实数编码的变异方法(续)(3)非一致性变异非一致性变异Z.Michalewicz首先提出将变异算子的结果与演化代数联系起来。在演化初期,变异范围相对较大,而随着演化的推进,变异范围越来越小,起着一种对演化系统的微调作用。466.2.8变异 2.实数编码的变异方法(续)实数编码的变异方法(续)(3)非一致性变异非一致性变异476.2.8变异 2.实数编码的变异方法(续)实数编码的变异方法(续)(4)自适应变异自适应变异自适应变异方式与非一致性变异算子相同,只是将其中的演化代数 改为 ,函数表达式变为:486.2
24、.10遗传算法的一般步骤496.2.10遗传算法的一般步骤(1)使用随机方法或者其它方法,产生一个有N个染色体的初始群体pop(1),;(2)对群体中的每一个染色体popi(t),计算其适应值(3)若满足停止条件,则算法停止;否则,以概率从pop(t)中随机选择一些染色体构成一个新种群 506.2.10遗传算法的一般步骤(4)以概率 进行交叉产生一些新的染色体,得到一个新的群体 (5)以一个较小的概率使染色体的一个基因发生变异,形成;,成为一个新的群体返回(2)。516.2.11遗传算法的特点 可直接对结构对象进行操作。利用随机技术指导对一个被编码的参数空间进行高效率搜索。采用群体搜索策略,易
25、于并行化。仅用适应度函数值来评估个体,并在此基础上进行遗传操作,使种群中个体之间进行信息交换。52第6章遗传算法及其应用o6.1遗传算法的产生与发展遗传算法的产生与发展o6.2遗传算法的基本算法遗传算法的基本算法6.3遗传算法的改进算法遗传算法的改进算法o6.4基于遗传算法的生产调度方法基于遗传算法的生产调度方法536.3遗传算法的改进算法 6.3.1双倍体遗传算法双倍体遗传算法6.3.2双种群遗传算法双种群遗传算法6.3.3自适应遗传算法自适应遗传算法546.3.1双倍体遗传算法1.基本思想基本思想 双倍体遗传算法采用显显性性和隐隐性性两个染色体同时进行进化,提供了一种记忆以前有用的基因块的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第6章 进化算法及其应用AI应用3版 进化 算法 及其 应用 AI
限制150内