遗传算法的一些实例课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《遗传算法的一些实例课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 遗传 算法 一些 实例 课件
- 资源描述:
-
1、遗传算法的思想 Darwin的进化论 - “自然选择、适者生存” 特定环境的考验 种群中个体的选择选择 种群中的交叉交叉繁殖 种群中个体的变异变异 上述操作反复执行,个体逐渐优化 为更好地理解遗传算法的运算过程,下面用手工计算来简单地模拟遗传算法的各为更好地理解遗传算法的运算过程,下面用手工计算来简单地模拟遗传算法的各 个主要执行步骤。个主要执行步骤。 例:求下述二元函数的最大值:例:求下述二元函数的最大值: max f(x1,x2)=x12+x22 s.t. x1 1,2,3,4,5,6,7 x2 1,2,3,4,5,6,7 遗传算法的运算对象是表示个体的符号串,所以必须把变量遗传算法的运算
2、对象是表示个体的符号串,所以必须把变量 x1, x2 编码为一种编码为一种 符号串。符号串。本题中,用无符号二进制整数来表示。本题中,用无符号二进制整数来表示。 因因 x1, x2 为为 0 7之间的整数,所以分别用之间的整数,所以分别用3位无符号二进制整数来表示,将它位无符号二进制整数来表示,将它 们连接在一起所组成的们连接在一起所组成的6位无符号二进制数就形成了个体的基因型,表示一个可位无符号二进制数就形成了个体的基因型,表示一个可 行解。行解。 例如,基因型例如,基因型 X101110 所对应的表现型是:所对应的表现型是:x 5,6 。 个体的表现型个体的表现型x和基因型和基因型X之间可
3、通过编码和解码程序相互转换。之间可通过编码和解码程序相互转换。 遗传算法是对群体进行的进化操作,需要给其淮备一些表示起始搜索点的初始遗传算法是对群体进行的进化操作,需要给其淮备一些表示起始搜索点的初始 群体数据。群体数据。 本例中,群体规模的大小取为本例中,群体规模的大小取为4,即群体由,即群体由4个个体组成,每个个体可通过随机个个体组成,每个个体可通过随机 方法产生。方法产生。 如:如:011101,101011,011100,111001 遗传算法中以个体适应度的大小来评定各个个体的优劣程度,从而决定其遗传遗传算法中以个体适应度的大小来评定各个个体的优劣程度,从而决定其遗传 机会的大小。机
4、会的大小。 本例中,目标函数总取非负值,并且是以求函数最大值为优化目标,故可直接本例中,目标函数总取非负值,并且是以求函数最大值为优化目标,故可直接 利用目标函数值作为个体的适应度。利用目标函数值作为个体的适应度。 选择运算选择运算(或称为复制运算或称为复制运算)把当前群体中适应度较高的个体按某种规则或模型把当前群体中适应度较高的个体按某种规则或模型遗传到下一代群体中。一般要求适应度较高的个体将有更多的机会遗传到下一代遗传到下一代群体中。一般要求适应度较高的个体将有更多的机会遗传到下一代 群体中。群体中。 本例中,我们采用与适应度成正比的概率来确定各个个体复制到下一代群体中本例中,我们采用与适
5、应度成正比的概率来确定各个个体复制到下一代群体中 的数量。其具体操作过程是:的数量。其具体操作过程是: 先计算出群体中所有个体的适应度的总和先计算出群体中所有个体的适应度的总和 fi ( i=1.2,M ); 其次计算出每个个体的相对适应度的大小其次计算出每个个体的相对适应度的大小 fi / fi ,它即为每个个体被遗传,它即为每个个体被遗传 到下一代群体中的概率,到下一代群体中的概率, 每个概率值组成一个区域,全部概率值之和为每个概率值组成一个区域,全部概率值之和为1; 最后再产生一个最后再产生一个0到到1之间的随机数,依据该随机数出现在上述哪一个概率区之间的随机数,依据该随机数出现在上述哪
6、一个概率区 域内来确定各个个体被选中的次数。域内来确定各个个体被选中的次数。0124%24%17%35%1#2#3#4#个体编号个体编号初始群体初始群体p(0)适值适值占总数的百分比占总数的百分比总和总和1234011101101011011100111001343425500.240.240.170.351431选择次数选择次数选择结果选择结果1102011101111001101011111001 x1 x2 3 5 5 3 3 4 7 1 交叉运算是遗传算法中交叉运算是遗传算法中产生新个体产生新个体的主要操作过程,它以某一概率相互交换某的主要操作过程,它以某一概率相互交换某 两个个体之间
7、的部分染色体。两个个体之间的部分染色体。 本例采用单点交叉的方法,其具体操作过程是:本例采用单点交叉的方法,其具体操作过程是: 先对群体进行随机配对;先对群体进行随机配对; 其次随机设置交叉点位置;其次随机设置交叉点位置; 最后再相互交换配对染色体之间的部分基因。最后再相互交换配对染色体之间的部分基因。选择结果选择结果01 110111 10011010 111110 01配对情况配对情况交叉点位置交叉点位置个体编号个体编号12341-23-41-2:23-4:4交叉结果交叉结果011001 111101101001111011 可以看出,其中新产生的个体可以看出,其中新产生的个体“11110
8、1”、“111011”的适应度较原来两个个的适应度较原来两个个体体 的适应度都要高。的适应度都要高。 变异运算是对个体的某一个或某一些基因座上的基因值按某一较小的概率进变异运算是对个体的某一个或某一些基因座上的基因值按某一较小的概率进 行改变,它行改变,它也是产生新个体也是产生新个体的一种操作方法。的一种操作方法。 本例中,我们采用基本位变异的方法来进行变异运算,其具体操作过程是:本例中,我们采用基本位变异的方法来进行变异运算,其具体操作过程是: 首先确定出各个个体的基因变异位置,下表所示为随机产生的变异点位置,首先确定出各个个体的基因变异位置,下表所示为随机产生的变异点位置, 其中的数字表示
9、变异点设置在该基因座处;其中的数字表示变异点设置在该基因座处; 然后依照某一概率将变异点的原有基因值取反。然后依照某一概率将变异点的原有基因值取反。对群体对群体P(t)进行一轮选择、交叉、变异运算之后可得到新一代的群体进行一轮选择、交叉、变异运算之后可得到新一代的群体p(t+1)。个体编号个体编号1234交叉结果交叉结果011001 111101101001111011变异结果变异结果变异点变异点4526011101 111111111001111010子代群体子代群体p(1)011101 111111111001111010 从上表中可以看出,群体经过一代进化之后,其适应度的最大值、平均值都
10、得从上表中可以看出,群体经过一代进化之后,其适应度的最大值、平均值都得 到了明显的改进。事实上,这里已经找到了最佳个体到了明显的改进。事实上,这里已经找到了最佳个体“111111”。 需要说明的是,表中有些栏的数据是随机产生的。这里为了更好地说明问题,需要说明的是,表中有些栏的数据是随机产生的。这里为了更好地说明问题, 我们特意选择了一些较好的数值以便能够得到较好的结果,而在实际运算过程中我们特意选择了一些较好的数值以便能够得到较好的结果,而在实际运算过程中 有可能需要一定的循环次数才能达到这个最优结果。有可能需要一定的循环次数才能达到这个最优结果。个体编号个体编号子群体子群体p(1)适值适值
11、占总数的百分比占总数的百分比总和总和1234011101 111111111001111010349850530.140.420.210.232351 x1 x2 3 5 7 7 7 1 7 2个体编号个体编号初始群体初始群体p(0) 适值适值fi(x1,x2)占总数的百分比占总数的百分比fi / f1234011101101011011100111001343425500.240.240.170.35 x1 x2 3 5 5 3 3 4 7 1 fi=143fmax=50f=35.75选择结果选择结果011101111001101011111001配对情况配对情况交叉点位置交叉点位置1-23
12、-41-2:23-4:4交叉结果交叉结果011001 111101101001111011选择次数选择次数1102变异结果变异结果变异点变异点4526011101 111111111001111010子代群体子代群体p(1) 适值适值fi(x1,x2)占总数的百分比占总数的百分比fi / f011101 111111111001111010349850530.140.420.210.23 x1 x2 3 5 7 7 7 1 7 2 fi=253fmax=98f=58.75遗传算法的一个实例 求解方程:将方程求解问题转化为生存问题:解一定在0,10之间,将区间0,10划分成若干个小区间,设想每个
13、小区间为一个生物个体,使下列表达式最小的个体有 最好的生存能力,该个体即为解。10010 xex)0( x|100|10 xex遗传算法的一个实例 如何找到这个最优个体? 可通过 Darwin 的进化论由初始个体经过代代演化,逐渐进化出来。 如何将生物进化的操作转化为计算机可以执行的操作? 通过编码表征生物个体,则生物之间的演化转化为编码的变化。步骤一:初始化 个体编码:(假定要求小数点后两位) 将0,10划分为1024个小区间 个体 1 0000000000 个体 2 0000000001 个体 3 0000000010 个体 1024 1111111111 种群初始化: 随机生成m个10位
14、二进制串1024210010 定义适应度函数: 选择(适应度较大的个体) 步骤二:选择|100|110 xexf为何取倒数?0.10.30.20.40.10.10.30.40.20.60.41.0ABCD随机产生0,1之间的数 RN,选择个体 RN个体ABCD1 . 00 RN4 . 01 . 0 RN6 . 04 . 0 RN16 . 0 RN 选中的优势个体进行交叉 - 由父个体生成子个体步骤三:交叉相同的两个父个体生成相同的两个子个体 变异操作 在个体中随机选择一位,改变该位的值步骤四:变异交叉和变异操作均以一定概率进行 反复执行步骤二、三、四并记录最优个体(适应度最大的个体) 程序结束
15、时,最优个体即为所求解 程序结束的判定 根据循环次数 根据最大适应度 根据种群中相同个体数与总个体数的比值步骤五遗传算法各步骤的评价 选择 - 优胜劣汰 选择操作为种群提供了演进的方向 交叉 - 优优组合 交叉操作的作用在于汇集散布于不同 个体间的局部优势模式 变异 - 寻找新模式 变异操作是种群向外扩展的触角(随机) 好的变异将保留,坏的淘汰遗传算法的总体评价 优点 解决问题的方法具有普适性 全局收敛性(依概率收敛) 能解决的问题范围很广 不足 求得的解为近似的数值解 对于经典数学可以解决的问题,效率较低遗传算法的适应度函数求函数的全局极小值取 的初始区间,例如:-10,10将此区间分为10
展开阅读全文