遗传算法2011课件.pptx
《遗传算法2011课件.pptx》由会员分享,可在线阅读,更多相关《遗传算法2011课件.pptx(70页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、会计学1遗传算法遗传算法2011课件课件21.1.1.1.遗传算法起源遗传算法起源遗传算法起源遗传算法起源 n n 遗传算法是由美国的遗传算法是由美国的J.HollandJ.Holland教授于教授于19751975年在他的专年在他的专著著自然界和人工系统的适应性自然界和人工系统的适应性中首先提出的,它是一类中首先提出的,它是一类借鉴生物界自然选择和自然遗传机制的随机化搜索算法。借鉴生物界自然选择和自然遗传机制的随机化搜索算法。一一、基本原理、基本原理 第1页/共70页3生物进化循环图生物进化循环图第2页/共70页4生物遗传概念在遗传算法中的对应关系生物遗传概念在遗传算法中的对应关系生物遗传概
2、念遗传算法中的作用适者生存在算法停止时,最优目标值的解有最大的可能被保留个体(individual)解染色体(chromosome)解的编码(字符串,向量等)基因(gene)解中每一分量的特征(如各分量的值)适应性(fitness)适应函数值群体(population)选定的一组解(其中解的个数为群体的规模)种群(reproduction)根据适应函数值选取的一组解交配(crossover)通过交配原则产生一组新解的过程变异(mutation)编码的某一个分量发生变化的过程第3页/共70页5遗传算法的主要特征:遗传算法的主要特征:进化发生在解的编码上,这些编码按生物学的术语称为染色体。由于对解
3、进行了编码,优化问题的一切性质都通过编码来研究。编码和解码是遗传算法的一个主题。自然选择规律决定哪些染色体产生超过平均数的后代。遗传算法中,通过优化问题的目标而人为地构造适应函数以达到好的染色体产生超过平均数的后代。当染色体结合时,双亲的遗传基因的结合使得子女保持父母的特征。当染色体结合后,随机的变异会造成子代同父代的不同。第4页/共70页6遗传算法主要处理步骤遗传算法主要处理步骤 首先是对优化问题的解进行编码,称一个解的编码为一个染色体,组成编码的元素称为基因。编码的目的主要是用于优化问题解的表现形式和利于之后遗传算法中的计算。第二是适应函数的构造和应用。适应函数基本上依据优化问题的目标函数
4、而定。当适应函数确定以后,自然选择规律是以适应函数值的大小决定的概率分布来确定哪些染色体适应生存,哪些被淘汰。生存下来的染色体组成种群,形成一个可以繁衍下一代的群体。第三是染色体的结合。双亲的遗传基因结合是通过编码之间的交配达到下一代的产生。新一代的产生是一个生殖过程,它产生了一个新解。最后是变异。新解产生过程中可能发生基因变异,变异使某些解的编码发生变化,使解有更大的遍历性。第5页/共70页72 2 2 2、基本遗传算法、基本遗传算法、基本遗传算法、基本遗传算法n n 基本遗传算法(基本遗传算法(Simple Genetic AlgorithmsSimple Genetic Algorith
5、ms,简称,简称SGASGA,又称简单遗传算法或标准遗传算法),是由,又称简单遗传算法或标准遗传算法),是由GoldbergGoldberg总结出的一种最基本的遗传算法,其遗传进化操作过程简单,总结出的一种最基本的遗传算法,其遗传进化操作过程简单,容易理解,是其它一些遗传算法的雏形和基础。容易理解,是其它一些遗传算法的雏形和基础。基本遗传算法的组成(1)编码(产生初始种群)(2)适应度函数(3)遗传算子(选择、交叉、变异)(4)运行参数第6页/共70页8函数优化示例函数优化示例函数优化示例函数优化示例 n n求下列一元函数的最大值求下列一元函数的最大值:x-1,2 x-1,2 ,求解结果精确到
6、,求解结果精确到6 6位小数。位小数。GA是通过某种编码机制把对象抽象为由特定符号按一定顺序排成的串。正如研究生物遗传是从染色体着手,而染色体则是由基因排成的串。SGA使用二进制串进行编码。编码 第7页/共70页9SGASGASGASGA对于本例的编码对于本例的编码对于本例的编码对于本例的编码 n n 由于区间长度为由于区间长度为3 3,求解结果精确到,求解结果精确到6 6位小数,因此位小数,因此可将自变量定义区间划分为可将自变量定义区间划分为3 310106 6等份。又因为等份。又因为2 22121 310 3106 6 2 22222 ,所以本例的二进制编码长度至少,所以本例的二进制编码长
7、度至少需要需要需要需要22222222位位位位,本例的,本例的编码过程实质上是将区间编码过程实质上是将区间-1-1,22内对应的实数值转化为一个内对应的实数值转化为一个二进制串(二进制串(b21b20b21b20b0b0)。)。第8页/共70页10几个术语几个术语几个术语几个术语 n n基因型:1000101110110101000111 表现型:0.637197 编码解码个体(染色体)基因第9页/共70页11n n初始种群初始种群n n SGASGA采用随机方法生成若干个个体的集合,该集合称为初采用随机方法生成若干个个体的集合,该集合称为初始种群。初始种群中始种群。初始种群中个体的数量称为种
8、群规模个体的数量称为种群规模。n n 适应度函数适应度函数 n n 遗传算法对一个个体(遗传算法对一个个体(解)的好坏用适应度函数值来评解)的好坏用适应度函数值来评价,价,适应度函数值越大,解的质量越好。适应度函数是遗传适应度函数值越大,解的质量越好。适应度函数是遗传算法进化过程的驱动力,也是进行自然选择的唯一标准,它算法进化过程的驱动力,也是进行自然选择的唯一标准,它的设计应结合求解问题本身的要求而定。的设计应结合求解问题本身的要求而定。第10页/共70页12选择算子选择算子选择算子选择算子n n 遗传算法使用选择运算来实现对群体中的个体进行优遗传算法使用选择运算来实现对群体中的个体进行优胜
9、劣汰操作:适应度高的个体被遗传到下一代群体中的概率胜劣汰操作:适应度高的个体被遗传到下一代群体中的概率大;适应度低的个体,被遗传到下一代群体中的概率小。选大;适应度低的个体,被遗传到下一代群体中的概率小。选择操作的任务就是按某种方法从父代群体中选取一些个体,择操作的任务就是按某种方法从父代群体中选取一些个体,遗传到下一代群体。遗传到下一代群体。SGASGA中选择算子采用中选择算子采用轮盘赌选择方法轮盘赌选择方法。第11页/共70页13轮盘赌选择示意s40.31s20.49s10.14s30.06轮盘赌选择法第12页/共70页14轮盘赌选择方法轮盘赌选择方法轮盘赌选择方法轮盘赌选择方法n n 轮
10、盘赌选择又称轮盘赌选择又称比例选择算子比例选择算子,它的基本思想是:各,它的基本思想是:各个个体被选中的概率与其适应度函数值大小成正比。设群体个个体被选中的概率与其适应度函数值大小成正比。设群体大小为大小为n n,个体,个体i i 的适应度为的适应度为 F Fi i,则个体,则个体i i 被选中遗传到下被选中遗传到下一代群体的概率为:一代群体的概率为:第13页/共70页15轮盘赌选择方法的实现步骤轮盘赌选择方法的实现步骤轮盘赌选择方法的实现步骤轮盘赌选择方法的实现步骤n n(1 1)计算群体中所有个体的适应度函数值(需要解码);计算群体中所有个体的适应度函数值(需要解码);n n(2 2)利用
11、比例选择算子的公式,计算每个个体被选中利用比例选择算子的公式,计算每个个体被选中遗传到下一代群体的概率;遗传到下一代群体的概率;n n(3 3)采用模拟赌盘操作(即生成采用模拟赌盘操作(即生成0 0到到1 1之间的随机数与之间的随机数与每个个体遗传到下一代群体的概率进行匹配)来确定各每个个体遗传到下一代群体的概率进行匹配)来确定各个个体是否遗传到下一代群体中。个个体是否遗传到下一代群体中。第14页/共70页16交叉算子交叉算子交叉算子交叉算子 n n 所谓交叉运算,是指对两个相互配对的染色体依据所谓交叉运算,是指对两个相互配对的染色体依据交叉概率交叉概率 P Pc c 按某种方式按某种方式相互
12、交换其部分基因相互交换其部分基因,从而形成两,从而形成两个新的个体。交叉运算是遗传算法区别于其他进化算法的个新的个体。交叉运算是遗传算法区别于其他进化算法的重要特征,它在遗传算法中起关键作用,是产生新个体的重要特征,它在遗传算法中起关键作用,是产生新个体的主要方法。主要方法。SGASGA中交叉算子采用单点交叉算子。中交叉算子采用单点交叉算子。第15页/共70页17单点交叉运算单点交叉运算单点交叉运算单点交叉运算 n n交叉前:n n00000|01110000000010000n n11100|00000111111000101n n交叉后:n n00000|00000111111000101
13、n n11100|01110000000010000交叉点交叉点第16页/共70页18变异算子变异算子变异算子变异算子 n n 所谓变异运算,是指依据变异概率所谓变异运算,是指依据变异概率 P Pm m 将个体编码将个体编码串中的串中的某些基因值用其它基因值来替换某些基因值用其它基因值来替换,从而形成一个新,从而形成一个新的个体。遗传算法中的变异运算是产生新个体的辅助方法,的个体。遗传算法中的变异运算是产生新个体的辅助方法,它决定了遗传算法的局部搜索能力,同时保持种群的多样它决定了遗传算法的局部搜索能力,同时保持种群的多样性。交叉运算和变异运算的相互配合,共同完成对搜索空性。交叉运算和变异运算
14、的相互配合,共同完成对搜索空间的全局搜索和局部搜索。间的全局搜索和局部搜索。SGASGA中变异算子采用基本位变中变异算子采用基本位变异算子。异算子。第17页/共70页19基本位变异算子基本位变异算子基本位变异算子基本位变异算子 n n 基本位变异算子是指对个体编码串基本位变异算子是指对个体编码串随机指定的某一随机指定的某一位或某几位基因作变异运算位或某几位基因作变异运算。对于基本遗传算法中用二进制。对于基本遗传算法中用二进制编码符号串所表示的个体,若需要进行变异操作的某一基因编码符号串所表示的个体,若需要进行变异操作的某一基因座上的原有基因值为座上的原有基因值为0 0,则变异操作将其变为,则变
15、异操作将其变为1 1;反之,若原;反之,若原有基因值为有基因值为1 1,则变异操作将其变为,则变异操作将其变为0 0。第18页/共70页20基本位变异算子的执行过程基本位变异算子的执行过程基本位变异算子的执行过程基本位变异算子的执行过程 n n变异前:n n000001110000000010000n n变异后:n n000001110001000010000变异点变异点第19页/共70页21运行参数运行参数运行参数运行参数 n n(1 1)M M :种群规模种群规模 n n(2 2)T T :遗传运算的终止进化代数遗传运算的终止进化代数 n n(3 3)P Pc c :交叉概率交叉概率 n
16、n(4 4)P Pm m:变异概率变异概率 第20页/共70页初始种群初始种群第21页/共70页23遗传算法应用举例 利用遗传算法求解区间0,31上的二次函数y=x2的最大值。y=x2 31 XY第22页/共70页24n n 分析分析 n n 原问题可转化为在区间原问题可转化为在区间0,310,31中搜中搜索能使索能使y y取最大值的点取最大值的点a a的问题。那么,的问题。那么,0,0,3131 中的点中的点x x就是个体就是个体,函数值函数值f f(x x)恰好就可以恰好就可以作为作为x x的适应度,区间的适应度,区间0,310,31就是一个就是一个(解解)空间空间 。这样。这样,只要能给
17、出个体只要能给出个体x x的适当染色体的适当染色体编码编码,该问题就可以用遗传算法来解决。该问题就可以用遗传算法来解决。第23页/共70页25解(1)设定种群规模,编码染色体,产生初始种群。将种群规模设定为4;用5位二进制数编码染色体;取下列个体组成初始种群S1:s1=13(01101),s2=24(11000)s3=8(01000),s4=19(10011)(2)定义适应度函数,取适应度函数:f(x)=x2 第24页/共70页26(3)计算各代种群中的各个体的适应度,并对其染色体进行遗传操作,直到适应度最高的个体(即31(11111))出现为止。第25页/共70页27n n 首先计算种群首先
18、计算种群S S1 1中各个体中各个体n n s s1 1=13(01101),=13(01101),s s2 2=24(11000)=24(11000)n n s s3 3=8(01000),=8(01000),s s4 4=19(10011)=19(10011)n n的适应度的适应度f f(s si i)。n n 容易求得容易求得n n f f(s s1 1)=)=f f(13)=13(13)=132 2=169=169n n f f(s s2 2)=)=f f(24)=24(24)=242 2=576=576n n f f(s s3 3)=)=f f(8)=8(8)=82 2=64=64n
19、 n f f(s s4 4)=)=f f(19)=19(19)=192 2=361=361第26页/共70页28n n再计算种群再计算种群S S1 1中各个体的选择概率。中各个体的选择概率。选择概率的计算公式为 由此可求得 P(s1)=P(13)=0.14 P(s2)=P(24)=0.49 P(s3)=P(8)=0.06 P(s4)=P(19)=0.31第27页/共70页29 赌轮选择示意s40.31s20.49s10.14s30.06 赌轮选择法第28页/共70页30在算法中赌轮选择法可用下面的子过程来模拟:在0,1区间内产生一个均匀分布的随机数r。若rq1,则染色体x1被选中。若qk-1r
20、qk(2kN),则染色体xk被选中。其中的qi称为染色体xi(i=1,2,n)的积积累累概概率率,其计算公式为 第29页/共70页31选择-复制 设从区间0,1中产生4个随机数如下:r1=0.450126,r2=0.110347 r3=0.572496,r4=0.98503 染色体 适应度选择概率积累概率选中次数选中次数s1=01101 169 0.14 0.14 1s2=11000 576 0.49 0.63 2s3=01000 64 0.06 0.69 0s4=10011 361 0.31 1.00 1第30页/共70页32于是,经复制得群体:s1=11000(24),s2=01101(1
21、3)s3=11000(24),s4=10011(19)第31页/共70页33交叉 设交叉率pc=100%,即S1中的全体染色体都参加交叉运算。设s1与s2配对,s3与s4配对。分别交换后两位基因,得新染色体:s1=11001(25),s2=01100(12)s3=11011(27),s4=10000(16)第32页/共70页34变异 设变异率pm=0.001。这样,群体S1中共有 540.001=0.02位基因可以变异。0.02位显然不足1位,所以本轮遗传操作不做变异。第33页/共70页35n n 于是,得到第二代种群于是,得到第二代种群S S2 2:n n s s1 1=11001=1100
22、1(2525),s s2 2=01100=01100(1212)n n s s3 3=11011=11011(2727),s s4 4=10000=10000(1616)第34页/共70页36 第二代种群第二代种群S2中各染色体的情况中各染色体的情况 染色体 适应度选择概率积累概率 估计的估计的选中次数选中次数s1=11001 625 0.36 0.36 1s2=01100 144 0.08 0.44 1s3=11011 729 0.41 0.85 1s4=10000 256 0.15 1.00 1第35页/共70页37 假设这一轮选择-复制操作中,种群S2中的4个染色体都被选中个染色体都被选
23、中,则得到群体:s1=11001(25),s2=01100(12)s3=11011(27),s4=10000(16)做交叉运算,让s1与s2,s3与s4 分别交换后三位基因,得 s1=11100(28),s2=01001(9)s3=11000(24),s4=10011(19)这一轮仍然不会发生变异。第36页/共70页38于是,得第三代种群S3:s1=11100(28),s2=01001(9)s3=11000(24),s4=10011(19)第37页/共70页39 第三代种群第三代种群S3中各染色体的情况中各染色体的情况 染色体 适应度选择概率积累概率 估计的估计的选中次数选中次数s1=1110
24、0 784 0.44 0.44 2s2=01001 81 0.04 0.48 0s3=11000 576 0.32 0.80 1s4=10011 361 0.20 1.00 1第38页/共70页40 设这一轮的选择-复制结果为:s1=11100(28),s2=11100(28)s3=11000(24),s4=10011(19)做交叉运算,让s1与s4,s2与s3 分别交换后两位基因,得 s1=11111(31),s2=11100(28)s3=11000(24),s4=10000(16)这一轮仍然不会发生变异。第39页/共70页41 于是,得第四代种群S4:s1=11111(31),s2=111
25、00(28)s3=11000(24),s4=10000(16)第40页/共70页42 显然,在这一代种群中已经出现了适应度最高的染色体s1=11111。于是,遗传操作终止,将染色体“11111”作为最终结果输出。然后,将染色体“11111”解码为表现型,即得所求的最优解:31。将31代入函数y=x2中,即得原问题的解,即函数y=x2的最大值为961。第41页/共70页43YYy=x2 8 13 19 24 X第一代种群及其适应度y=x2 12 16 25 27 XY第二代种群及其适应度y=x2 9 19 24 28 XY第三代种群及其适应度y=x2 16 24 28 31 X第四代种群及其适应
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 遗传 算法 2011 课件
限制150内