《遗传算法课件.pptx》由会员分享,可在线阅读,更多相关《遗传算法课件.pptx(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、一、遗传算法的描述例子例子:为四个连锁饭店寻找最好的经营决策,其中一个经营饭店的决策包括要做出以下三项决定:(1)价格 汉堡包的价格应该定在50美分还是1美元?(2)饮料 和汉堡包一起供应的应该是酒还是可乐?(3)服务速度 饭店应该提供慢的还是快的服务?目的:找到这三个决定的组合以产生最高的利润。上述问题的表示方案:串长(l3)字母表规模(k2)映射共有8种表示方案用遗传算法解这个问题的第一步就是选取一个适当的表示方案。第2页/共19页第1页/共19页 饭店编号饭店编号 价价 格格 饮饮 料料 速速 度度二进制表示二进制表示 1 高 可乐 快 011 2 高 酒 快 001 3 低 可乐 慢
2、110 4 高 可乐 慢 010表表1 饭店问题的表示方案(其中的饭店问题的表示方案(其中的4个)个)群体规模N4第3页/共19页第2页/共19页 第0代 i 串xi 适应值f(xi)1 011 3 2 001 1 3 110 6 4 010 2 总和 12 最小值 1 平均值 3.00 最大值 6表表2 初始群体中经营决策的适应值初始群体中经营决策的适应值一个简单的遗传算法由复制、杂交、变异三个算子组成第4页/共19页第3页/共19页 第0代 交配池 i 串xi适应值f(xi)f(xi)/f(xi)串 f(xi)1 011 3 0.25 011 3 2 001 1 0.08 110 6 3
3、110 6 0.50 110 6 4 010 2 0.17 010 2 总和 12 17 最小值 1 2 平均值 3.00 4.25 最大值 6 6表表3 使用使用复制算子复制算子后产生的交配池后产生的交配池1.复制算子:采用赌盘选择第5页/共19页第4页/共19页2.杂交算子:采用一点杂交作用过程:a)产生一个在1到l1之间的随机数i b)配对的两个串相互对应的交换从i1到l的位段例如:从交配池中选择编号为1和2的串进行配对,且杂交点选在2(用分隔符|表示),杂交算子作用的结果为:01|1 010 11|0 111对交配池中指定百分比的个体应用杂交算子,假设杂交概率pc50,交配池中余下的5
4、0个体仅进行复制运算,即复制概率pr50。第6页/共19页第5页/共19页 第 0 代 交 配 池 第 1 代 i 串xi适应值f(xi)f(xi)/f(xi)串 f(xi)杂交点 xif(xi)1 011 3 0.25 011 3 2010 2 2 001 1 0.08 110 6 2111 7 3 110 6 0.50 110 6 110 6 4 010 2 0.17 010 2 010 2 总和 12 17 17最小值 1 2 2 平均值 3.00 4.25 4.25最大值 6 6 7表表4 使用使用复制和杂交算子复制和杂交算子的作用结果的作用结果遗传算法利用复制和杂交算子可以产生具有更
5、高平均适应值和更好个体的群体第7页/共19页第6页/共19页3.变异算子:以一个很小的概率pm随机改变染色体串上的某些位。对于二进制串,就是将相应位上的0变为1或将1变为0。例如:选交配池中编号为4的串进行变异,且变异点在2,则 010 000变异算子相对而言,是次要算子,但在恢复群体中失去的多样性方面具有潜在的作用。第8页/共19页第7页/共19页小结 上述遗传算法描述了从第0代产生第1代的过程,然后遗传算法迭代地执行这个过程,直到满足某个停止准则。在每一代中,算法首先计算群体中每个个体地适应值,然后利用适应值信息,遗传算法分别以概率pc、pr 和pm 执行杂交、复制和变异操作,从而产生新的
6、群体。应用遗传算法求解问题需完成四个主要步骤:1.确定表示方案 2.确定适应值度量 3.确定控制算法的参数和变量 4.确定指定结果的方法和停止运行的准则第9页/共19页第8页/共19页二、基本遗传算法的构成要素1.染色体编码方法 最常用的是二进制编码,对于离散性变量直接编码,对于连续性变量先离散化后再编码2.适应度函数评估函数用来评估一个染色体的优劣的绝对值适应度函数评估一个染色体相对整个群体的优劣的相对值的大小3.遗传算子复制算子、交叉算子、变异算子4.基本遗传算法运行参数 N:群体大小,即群体中所含个体的数量,一般取20100 T:遗传算法的终止进化代数,一般取100500 pc:杂交概率
7、,一般取0.40.99 pm:变异概率,一般取0.00010.1 pr:复制概率第10页/共19页第9页/共19页三、基本遗传算法的一般框架算法过程:1.随机产生一个由确定长度的特征串组成的初始群体 2.对串群体迭代地执行下面的步(i)和步(ii),直到满足停止准则:(i)计算群体中每个个体的适应值 (ii)应用复制、杂交和变异算子产生下一代群体 3.把在任一代中出现地最好地个体串指定为遗传算法的执行结果,这个结果可以表示问题的一个解(或近似解)第11页/共19页第10页/共19页GEN0产生初始群体是否满足停止准则指定结果结 束计算每个个体的适应值i0iN?以概率选择遗传算子GENGEN1选
8、择一个个体 选择两个个体 选择一个个体执行复制ii1执行变异复制到新群体执行杂交插入到新群体将两个子代串插入到新群体ii1是否是否prpcpmGEN当前代数 N群体规模第12页/共19页第11页/共19页四、遗传算法的数学理论几个相关的定义几个相关的定义:1、模式是一个相同的构形,它描述的是一个串的子集,这个集合中串之间在某些位上相同。例如,添加符号*表示不确定字母,即0或1,考虑串长为7的模式H*11*0*,则串A0111000是模式H的一个表示,对于基数为k的字母表,每一个串有(k1)l 个模式。2、模式的阶出现在模式中确定位置的数目。在二进制中,一个模式的阶就是所有的1或0的数目。例如,
9、模式H*11*0*的阶为33、模式的定义长度模式中第一个确定位置与最后一个确定位置之间的距离例如,模式H*11*0*的定义长度r523第13页/共19页第12页/共19页定理1(模式定理):具有短的定义长度、低阶并且适应值在群体平均适应值以上的模式在遗传算法迭代过程中将按指数增长率被采样。模式定理揭示了遗传算法为什么有效!定理2(隐并行性):ns n3,其中 ns 有效模式数 n群体规模 该定理表明,每一代中除了仅对n个串的处理外,遗传算法实际上处理大约O(n3)个模式,从而每代只执行与群体规模成比例的计算量,就可以同时收到并行地对大约O(n3)个模式进行有效处理的目的,并且无须额外的存储。定
10、理3(积木块假设):低阶、短距、高平均适应值的模式(积木块)在遗传算子的作用下,相互结合,能生成高阶、长距、高平均适应值的模式,可最终生成全局最优解第14页/共19页第13页/共19页定理4(收敛性定理):如果在代的演化过程中,遗传算法保留最好的解,并且算法以杂交和变异作为随机化算子,则对于一个全局优化问题,随着演化代数趋向于无穷,遗传算法将以概率1找到全局最有解 遗传算法极限特性的分析表明算法能够对搜索空间进行持续的搜索,因此遗传算法特别适合于在全局优化问题中应用第15页/共19页第14页/共19页五、遗传算法的基本实现技术1.编码方法:二进制编码、格雷编码等编码规则:i)应使用能易于产生与
11、所求问题相关的且具有低阶、短定义长度模式的编码方案 ii)应使用能使问题得到自然表示或描述的具有最小编码字符集的编码方案2.适应值函数 适应值函数必须是正数,出现负数时应进行变换,常用变换方式有三种:线性比例法:g(x)a f(x)b (b 大于0)指数比例法:g(x)exp(a f(x),(a不等于0)幂指数比例法:g(x)(f(x)a (a为偶数)3.复制算子:赌盘选择、余数随机选择、全局随机选择4.杂交算子:一点杂交、两点杂交、一致杂交5.变异算子第16页/共19页第15页/共19页六、遗传算法的特点1.直接对结构对象操作,不存在求导和函数连续性的限定;2.遗传算法不是从单个点,而是从一个点地群体开始搜索;3.具有内在的隐并行性和较好的全局寻优能力;4.采用概率化寻优方法,能自动获取搜索过程中的有关知识并用于指导优化,自适应地调整搜索方向,不需要确定地规则;5.鲁棒性第17页/共19页第16页/共19页七、遗传算法的应用1.与模拟退火算法的结合2.利用遗传算法训练已知结构的神经网络,优化网络连接权3.利用遗传算法找出网络的规模、结构和学习参数第18页/共19页第17页/共19页Thank you!第19页/共19页第18页/共19页感谢您的观看!第19页/共19页
限制150内