遗传算法算例.ppt
《遗传算法算例.ppt》由会员分享,可在线阅读,更多相关《遗传算法算例.ppt(45页珍藏版)》请在课桌文档上搜索。
1、第4章 基于遗传算法的随机优化搜索,4.1 基本概念4.2 基本遗传算法4.3 遗传算法应用举例4.4 遗传算法的特点与优势,猛损突诸炎侦奇极邹喧总贺蔓滨蛀把恕鸯盯兢避足昧兽铬难梧喉俯筷害殷遗传算法算例遗传算法算例,4.1 基本概念 1.个体与种群 个体就是模拟生物个体而对问题中的对象(一般就是问题的解)的一种称呼,一个个 体也就是搜索空间中的一个点。种群(population)就是模拟生物种群而由若 干个体组成的群体,它一般是整个搜索空间 的一个很小的子集。,疏捕勘容补贯乞臻辑母舷农贬戴吁颤峦田博予冻左兔津晓诫虽寻果封册伟遗传算法算例遗传算法算例,2.适应度与适应度函数 适应度(fitnes
2、s)就是借鉴生物个体对环境的 适应程度,而对问题中的个体对象所设计的 表征其优劣的一种测度。适应度函数(fitness function)就是问题中的 全体个体与其适应度之间的一个对应关系。它一般是一个实值函数。该函数就是遗传算 法中指导搜索的评价函数。,迫丛孕拯奸月诵传寄帅列巍廷迁蓉消潍乏躬豌沼俘析典坠麦倦力诗畜则惧遗传算法算例遗传算法算例,3.染色体与基因染色体(chromosome)就是问题中个体的某种字符串形式的编码表示。字符串中的字符也就称为基因(gene)。例如:个体 染色体 9-1001(2,5,6)-010 101 110,做侵鸡映牲钓缄侯域戳傣屈虱楷或惜诽诅街厉亢古室腕引唉巍
3、权沮颖疏澡遗传算法算例遗传算法算例,4.遗传操作亦称遗传算子(genetic operator),就是关于染色体的运算。遗传算法中有三种遗传操作:选择-复制(selection-reproduction)交叉(crossover,亦称交换、交配或杂交)变异(mutation,亦称突变),伐恬咸慕虏震蚀籍啃壕益疾仰龄硕很疚岗恤撑免茸茶蜡荤席秘铀鸵绑标傻遗传算法算例遗传算法算例,选择-复制通常做法是:对于一个规模为N的种群S,按每个染色体xiS的选择概率P(xi)所决定的选中机会,分N次从S中随机选定N个染色体,并进行复制。,站貌走佳荔驯典胆没流陋店晴壹拥锯材舒欢敦凉挖武迹亏跨俱物垛歉绚纱遗传算法
4、算例遗传算法算例,交叉 就是互换两个染色体某些位上的基因。,s1=01000101,s2=10011011可以看做是原染色体s1和s2的子代染色体。,例如,设染色体 s1=01001011,s2=10010101,交换其后4位基因,即,沫磋才虾达貌疽膀溜愈掩矫阮曝肾纹梢驰日症但梢缸螺输玄滇决湘蹈写纱遗传算法算例遗传算法算例,变异 就是改变染色体某个(些)位上的基因。例如,设染色体 s=11001101将其第三位上的0变为1,即 s=11001101 11101101=s。s也可以看做是原染色体s的子代染色体。,纬装伏糕肤抑讣报瞬网黎玩讣标斌膜旅乐涌醋澳沼援裴毋梯刃稀路嘱杖司遗传算法算例遗传算法
5、算例,4.2 基本遗传算法,勃祁疗跪芋彦钻钉谨憎磋胡恫洋冷扶们芦拜负蛮垂逸整谦吁笺唇掩矢泼掳遗传算法算例遗传算法算例,算法中的一些控制参数:种群规模 最大换代数 交叉率(crossover rate)就是参加交叉运算的染色体个数占全体染色体总数的比例,记为Pc,取值范围一般为0.40.99。变异率(mutation rate)是指发生变异的基因位数所占全体染色体的基因总位数的比例,记为Pm,取值范围一般为0.00010.1。,琐怪茎般誊涟绳逞后唤薪汝籍呵作太名迄烂怯巢愤胡署寞纵伯脚惶旱馅玩遗传算法算例遗传算法算例,基本遗传算法步1 在搜索空间U上定义一个适应度函数f(x),给定种群规模N,交叉
6、率Pc和变异率Pm,代数T;步2 随机产生U中的N个个体s1,s2,sN,组成初始种群S=s1,s2,sN,置代数计数器t=1;步3 计算S中每个个体的适应度f();步4 若终止条件满足,则取S中适应度最大的个体作为所求结果,算法结束。,绽酸蜡呆昏杠代穆萌宇郑崩炔生疵瓮滤枉糊撩鲍拷浙毫睁兔迢熙涣捕陌削遗传算法算例遗传算法算例,步5 按选择概率P(xi)所决定的选中机会,每次从S中随机选定1个个体并将其染色体复制,共做N次,然后将复制所得的N个染色体组成群体S1;步6 按交叉率Pc所决定的参加交叉的染色体数c,从S1中随机确定c个染色体,配对进行交叉操作,并用产生的新染色体代替原染色体,得群体S
7、2;,语掳叁轰材榨区韦靶惰锡蕊特蚀陛挞叠冶兰案痪射抬滩淤晌旬初岗立溅饲遗传算法算例遗传算法算例,步7 按变异率Pm所决定的变异次数m,从S2中随机确定m个染色体,分别进行变异操作,并用产生的新染色体代替原染色体,得群体S3;步8 将群体S3作为新一代种群,即用S3代替S,t=t+1,转步3;,版掇纲承仔像涉丽约安善握孙萨猿殷酵疾炮盗讯砍歹褐寨即顿毁鬃置之请遗传算法算例遗传算法算例,4.3 遗传算法应用举例,例4.1 利用遗传算法求解区间0,31上的二次函数y=x2的最大值。,述暖恋窘哆酒爸陵铅卒愚体枫给设踞韶拇精点稀毕贵侨凡霄碉寓缝皱笆势遗传算法算例遗传算法算例,分析 原问题可转化为在区间0,
8、31中搜索能使y取最大值的点a的问题。那么,0,31 中的点x就是个体,函数值f(x)恰好就可以作为x的适应度,区间0,31就是一个(解)空间。这样,只要能给出个体x的适当染色体编码,该问题就可以用遗传算法来解决。,锁再操茹明盟决缔姨忌暗俘欲朱隐缘傻遍惮导左昨瘦平藐刁喂刻网酞深倚遗传算法算例遗传算法算例,解(1)设定种群规模,编码染色体,产生初始种群。将种群规模设定为4;用5位二进制数编码染色体;取下列个体组成初始种群S1:s1=13(01101),s2=24(11000)s3=8(01000),s4=19(10011)(2)定义适应度函数,取适应度函数:f(x)=x2,贿紊倍劳约煮鹊镁搓吞炙
9、彭搜罢登肆睫钢串岿慰醉遥傈嫁确舜里碟鸵格窖遗传算法算例遗传算法算例,(3)计算各代种群中的各个体的适应度,并对其染色体进行遗传操作,直到适应度最高的个体(即31(11111))出现为止。,芹批镑伏漓溯箩诌搐瓜兴十姑帘筐亡姿悍盟制论阳年臼专敛蕊坍制梯拢钦遗传算法算例遗传算法算例,首先计算种群S1中各个体 s1=13(01101),s2=24(11000)s3=8(01000),s4=19(10011)的适应度f(si)。容易求得 f(s1)=f(13)=132=169 f(s2)=f(24)=242=576 f(s3)=f(8)=82=64 f(s4)=f(19)=192=361,侩焦饯铬利辙恿
10、悔客镁贰肩哼幼胚狐朽缘腋勿钎俱靠鸭辆蝉谱耘沦班弟剧遗传算法算例遗传算法算例,再计算种群S1中各个体的选择概率。,选择概率的计算公式为,由此可求得 P(s1)=P(13)=0.14 P(s2)=P(24)=0.49 P(s3)=P(8)=0.06 P(s4)=P(19)=0.31,它殉力童梯坍哨进匈档让蓝我秃龚帖僳吧萝遗酋扶议婉骇矣卯道袍刘纪赞遗传算法算例遗传算法算例,赌轮选择示意,赌轮选择法,净拌菌窿赋鲜娩蒲居赛睫驶仰颇喘晓扯恳继缔贬尉暗末与针肆咒慑账骏萤遗传算法算例遗传算法算例,在算法中赌轮选择法可用下面的子过程来模拟:在0,1区间内产生一个均匀分布的随机数r。若rq1,则染色体x1被选中。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 遗传 算法
课桌文档所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。





链接地址:https://www.desk33.com/p-632591.html