第7讲(遗传算法).ppt





《第7讲(遗传算法).ppt》由会员分享,可在线阅读,更多相关《第7讲(遗传算法).ppt(53页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、遗传算法的提出遗传算法的提出o遗传算法是根据自然界“物竞天择、适者生存”的现象而提出的一种随机搜索算法;o20世纪70年代由美国密执根大学的霍兰德(Holland)首先提出的;o遗传算法把优化问题看作是自然界中的生物进化过程,通过模拟大自然中生物进化过程的遗传规律,来达到寻优的目的。o生物进化圈示意图婚配选择变异子群种群群体遭淘汰的群体人类进化图生物进化的特性生物进化的特性o进化过程发生在染色体上,而不是发生在他们所编码的生物体上;o自然选择把染色体以及由他们所译成的结构的表现联系在一起,适应性好的个体染色体比差的染色体有更多的繁殖机会;o繁殖过程发生在进化那一刻。变异可以使生物体子代的染色体
2、不同于他们的父代染色体;通过结合两个父代染色体中的物质,重组过程可以产生在子代中有很大差异的染色体;o生物进化没有记忆。遗传算法的基本思想遗传算法的基本思想o遗传算法通过自然选择中“优胜劣汰”的策略在每次搜索中利用各种随机的遗传算子生成问题一些新的解,淘汰较差的解,保留较好的以及有希望的解,从而不断对搜索空间中新的未知区域进行探索。它有效地利用了许多历史信息,使得搜索每次都向着最好的方向前进。o对优化问题的解进行编码,编码后的一个解称为染色体,组成染色体的元素称为基因;o一个群体由若干染色体组成,染色体的个数称为群体的规模;o用适应度函数表示环境,它是已编码的解的函数,是一个解适应环境程度的评
3、价;适应函数的构造一般与优化问题的指标函数相关;遗传算法的基本思想遗传算法的基本思想o适应函数值大表示所对应的染色体适应环境的能力强,自然选择规律将以适应函数值的大小来决定染色体是否继续生存下去的概率;o生存下来的染色体称为种群,他们中的部分或全部以一定的概率进行交配、繁衍,从而得到下一代群体;o交配是一个生殖过程,发生在两个染色体之间,作为双亲的染色体,交换部分基因后,生殖出两个新的染色体,即问题的新解;o在进化过程中,染色体的某些基因可能会发生变异,即染色体的编码发生了某些变化。一个群体的进化需要染色体的多样性,变异对于保持群体的多样性具有一定的作用。生物进化与遗传算法之间的对应关系生物进
4、化与遗传算法之间的对应关系生物进化中的概念生物进化中的概念遗传算法中的作用遗传算法中的作用环境适应函数适应性适应函数值适者生存适应值大的解被保留的概率大个体问题的一个解染色体解的编码基因编码的元素群体被选定的一组解种群按适应函数选择的一组解(编码表示)交配以一定的方式由双亲产生后代的过程变异编码的某些分量发生变化的过程遗传算法的基本模型遗传算法的基本模型(1)遗传算法可以形式化地描述如下:(2)表示初始群体;(3)表示长度为l 的符号串全体,为字母表;若使用二进制编码,则 ;(4)N 为一个正整数,表示种群中含有个体的个数;(5)l 为一个正整数,表示符号串的长度;(6)表示选择策略;(7)g
5、 表示遗传算子,通常包括复制算子 、交叉算子 和变异算子 ;(8)p 表示操作概率,包括复制概率 、交叉概率 和变异概率 ;(9)是适应度函数;(10)是终止准则。遗传算法的基本操作遗传算法的基本操作o简单遗传算法的遗传操作主要有有三种:选择(selection)、交叉(crossover)、变异(mutation)。改进的遗传算法大量扩充了遗传操作,以达到更高的效率。o选择操作选择操作实现从群体中选择存活的个体(染色体)。根据个体的适应度函数值所度量的优劣程度决定它在下一代是被淘汰还是被遗传。o交叉操作交叉操作的简单方式是将被选择出的两个个体P1和P2作为父母个体,将两者的基因进行交换,产生
6、新个体的染色体。o变异操作变异操作的简单方式是改变数码串的某个位置上的数码。二进制编码表示的简单变异操作是将0与1互换:0变异为1,1变异为0。选择操作选择操作q选择概率:设群体规模为N,F(xi)(i=1,N)是N个染色体的适应值,则第i个染色体被选中的概率由下式计算:P(xi)=F(xi)/F(xj)q“轮盘赌”选择法:一个转盘划分为N个扇区,每个xi在转盘上占有一个扇区,扇区的大小与选择概率P(xi)成正比。在选择一个染色体时,先转动轮盘,等轮盘停下后,指针指向的区所对应的xi应是被选中的染色体。q“分组淘汰”选择法:设群体规模为N,按 P(xi)由大到小对染色体进行排序,再依次分为相等
7、数目的k组,每组按淘汰概率Pi(i=1,.,k)淘汰本组染色体,各组剩余者合并为种群。淘汰概率满足:P1 P2 Pk。选择操作选择操作q“确定性”选择法:设群体规模为N,一个选择概率为P(xi)的染色体被选中的次数的期望值e(xi)=P(xi)N。对于群体中的每一个xi,首先选择e(xi)次,这样共得e(xj)个染色体。再按e(xi)-e(xi)由小到大对染色体进行排序,依次取出N-e(xj)个染色体,这样共得到N个染色体组成种群。交配操作交配操作q交配操作发生在两个父代染色体之间,经过杂交产生两个具有双亲的部分基因的新染色体。q单点交配:q 多点交配:a1 a2ai ai+1 an b1 b
8、2bi bi+1 bna1 a2ai bi+1 bn b1 b2bi ai+1 ana1ai ai+1 aj aj+1 an b1bi bi+1 bj bj+1 bna1ai bi+1 bj aj+1 an b1bi ai+1 aj bj+1 bn变异操作变异操作q 变异操作是发生在某一个基因上的随机变化,模拟基因突变现象,有利于保持群体的多样性,但也有很强的破坏作用。q 二进制基因的变异操作,可以是简单地按变异概率翻转某一个位,即某位由0变1,或由1变0。q 字符基因的变异操作将某一个基因字符上的随机地换为任一其他可能基因字符。序号种群是否变异变异位新群体适应值111011N11011729
9、211001Y311101841310000N10000256遗传算法的基本流程遗传算法的基本流程遗传算法的描述遗传算法的描述1.给定群体规模N,交配概率pc和变异概率pm2.随机生成一个N个初始解组成的初始群体;3.计算当前初始群体各染色体xi的适应度函数值F(xi);4.如果满足停止准则,则转10;5.对群体中的每一个染色体xi计算概率p(xi);6.依据概率值从群体中随机选择N个染色体,得到种群;7.依交配概率pc按交叉算子Oc进行交配,其子代进入新的群体,未进行交配的染色体直接复制到新群体中;8.依变异概率pm从种群中选择染色体按变异算子Om进行变异,用变异后的染色体代替新群体中的原染
10、色体;9.用新群体代替旧群体,t=t+1,转310.进化过程中适应值最大的染色体,经解码后作为最优解输出;11.结束。遗传算法的应用遗传算法的应用 函数优化问题一般可以直接应用遗传算法进行求解,但是,更多的现实问题中应用遗传算法,首先需要转换为函数优化问题。这些应用中有多个共同问题:o编码问题o适应值函数o交配规则o变异规则o性能评价用于求解函数优化问题用于求解函数优化问题例如:求函数f(x)=x2的最大值,其中x为0,31间的整数。利用遗传算法进行求解,关键要解决如下问题:o编码与解码:染色体由五个二进制位组成,可能的染色体有:0000011111共32个。o适应度函数:F(x)=f(x)o
11、选择操作:轮盘赌o交配操作:单点交配o变异操作:位翻转o控制参数:N=4,Pc=100%,Pm=1%o求解过程:用于求解函数优化问题用于求解函数优化问题-2第0代:随机生成,设为01101,11000,01000,10011从第0代中选择产生的种群:01101,11000,11000,10011假定按顺序两两交配,即01101与11000、11000与10011,产生4个新个体为:01100,11001,11011,10000 作为第1代群体。序号群体F(xi)P(xi)e(xi)选中次数1011011690.140.5812110005760.491.972301000640.050.220
12、4100113610.311.231用于求解函数优化问题用于求解函数优化问题-2第1代:01100,11001,11011,10000从第1代中选择产生的种群:11001,11011,11011,10000假定按顺序两两交配,即11001与11011、11011与10000,产生4个新个体为:11011,11101,10000,11011 作为第2代群体。序号群体F(xi)P(xi)e(xi)选中次数1011011440.080.3302110016250.361.4213110117290.421.6624100002560.150.581用于求解函数优化问题用于求解函数优化问题-2第2代:
13、11011,11101,10000,11011从第2代中选择产生的种群:11011,11101,10000,11011假定按顺序两两交配,即11011与11101、10000与11011,产生4个新个体为:11001,11111,10001,11010 作为第3代群体。(以后过程略)序号群体F(xi)P(xi)e(xi)选中次数1110117290.291.1412111018410.331.3113100002560.100.4014110117290.291.141编码问题编码问题o利用遗传算法进行问题求解首先是表示问题,即将问题的解以适合于遗传算法求解的形式进行编码。o进行编码时,要考虑
14、交配和变异等操作。o采用什么样的编码形式与具体的问题有关。o可以采用二进制编码,简单,但长度大。o也可以采用整数编码、实数编码、符号编码等形式。例7.7 函数在实数区间上的最优化问题。例7.8 十杆桁架问题。例7.9 人工蚁问题。例7.10 TSP问题。二进制编码二进制编码-求函数的最大值o求函数f(x)=x2的最大值,其中x为0,31间的整数。由于x的定义域是0,31之间的整数,因此可以用五位二进制数表示该问题的解,如用10101表示x=21,0、1为基因。o求函数f(x)=x2的最大值,其中x为0,31间的实数,最大误差为1/8。对于区间a,b上的实数,当用n位的二进制向量表示时,其最大误
15、差为(b-a)/(2n-1),所以有(b-a)/(2n-1)1/8,所以需要用8位二进制向量来表示。x与8位二进制向量之间的关系为:x=31*(y/255),其中y为0-255之间的二进制数。二进制编码二进制编码-十杆桁架问题o十杆桁架问题如图所示,有10个截面积为A1A2 A10。如何设计每个杆的截面使建造这个桁架的材料总费用最小?o假设每个杆的截面积在0.1至10.0之间,取16种可能的值。用4位二进制表示截面的面积,即0000对应0.1,1111对应10.0。问题的解是10个杆的面积,要用40位二进制串表示一个解。例如,该问题的一个染色体为:0010 1110 0001 0011 101
16、1 0011 1111 0011 0011 1010100kg100kg303030A2A1A3A4A5A6A7A8A9A10二进制编码二进制编码-人工蚁问题o人工蚁问题如图所示,有一人工蚁在3232的网格中移动。二进制编码二进制编码-人工蚁问题o“圣菲轨道”是一条不规则的弯曲轨道,上面放有89块食物。轨道上的食物不是连续排放,有些位置是空的。o人工蚁的视力有限,只能看到正面邻格中的是否有食物。它只有四种动作:00-不动01-左转90度(原地)10-右转90度(原地)11-走进正面相邻的网格中,如果有食物,就吃到该食物q要求设计一个有限状态自动机,该自动机能在有限步内引导人工蚁吃到所有的食物。
17、二进制编码二进制编码-人工蚁问题o四状态自动机,容易验证:如果食物是不间断排列,该自动机可以在有限步引导人工蚁吃到所有食物。001110011/前进1/前进0/右转0/左转0/左转0/右转1/前进1/前进 O O O二进制编码二进制编码-人工蚁问题o自动机可以用状态转换表等价表示。前面的四状态自动机可等价地表示为下表,实际上只要给定了初始状态和表的最后两列,就可以确定该自动机,因此,只要34个二制位位即可表示一个四状态自动机,例如:00 0110 0011 10010011 1101 0011 0010 0011序号当前状态输入下一状态动作100001102001001130101001401
18、1001151001101610100117110001081110011二进制编码二进制编码-人工蚁问题o四状态自动机不能解决有间隔的“圣菲轨道”问题,需要更多的状态。oJefferson将状态增加到 32个,状态转换表需要64行,动作仍用2位表示,因此表示一个自动机需要的二进制位数为:5+(5+2)*64=453。o适应值函数是自动机x引导人工蚁吃到的食物数,最大值为89。o成功求解的参数设置:N=65535,M=200整数编码整数编码-旅行商问题用遗传算法求解旅行商问题,应如何进行编码?o二进制编码 可以用一个矩阵来表示一个可能解。如四城市问题,可用一个4*4矩阵来表示一个可能解,将该矩
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 遗传 算法

限制150内