加入收藏 | 设为首页 | 会员中心 | 我要投稿 拼字网 - 核心网 (https://www.hexinwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > 搜索优化 > 正文

【精品PPT】基于遗传算法的随机优化搜索

发布时间:2022-11-02 14:01:34 所属栏目:搜索优化 来源:未知
导读: 基于遗传算法的随机优化搜索4.14.2基本遗传算法4.3遗传算法应用举例4.4遗传算法的特点与优势习题四基于遗传算法的随机优化搜索4.1适应度(fitness)就是借鉴生物个体对环境的适应程度,而对所

基于遗传算法的随机优化搜索4.14.2基本遗传算法4.3遗传算法应用举例4.4遗传算法的特点与优势习题四基于遗传算法的随机优化搜索4.1适应度(fitness)就是借鉴生物个体对环境的适应程度,而对所求解问题中的对象设计的一种表征优劣的测度。适应度函数(fitnessfunction)就是问题中的全体对象与其适应度之间的一个对应关系,即对象集合到适应度集合的一个映射。它一般是定义在论域空间上的一个实数值函数。染色体及其编码遗传算法以生物细胞中的染色体(chromosome)代表问题中的个体对象。而一个染色体可以看作是由若干基因组成的位串,所以需要将问题中的个体对象编码为某种位串的形式。这样,原个体对象也就相当于生命科学中所称的生物体的表现型(phenotype),而其编码即“染色体”也就相当于生物体的基因型(genotype)。遗传算法中染色体一般用字符串表示,因也就是字符串中的一个个字符。例如,假设数字9是某问题中的个体对象,则我们就可以用它的二进制数串1001作为它的染色体编码。种群种群(population)就是模拟生物种群而由若干个染色体组成的群体,它一般是整个论域空间的一个很小的子集。

遗传算法就是通过在种群上实施所称的遗传操作,使其不断更新换代而实现对整个论域空间的搜索。遗传操作遗传算法中有三种关于染色体的运算:选择-复制、交叉和变异,这三种运算被称为遗传操作或遗传算子(geneticoperator)。基于遗传算法的随机优化搜索选择-复制选择-复制(selectionreproduction)操作是模拟生物界优胜劣汰的自然选择法则的一种染色体运算,就是从种群中选择适应度较高的染色体进行复制,以生成下一代种群。选择-复制的通常做法是,对于一个规模为N的种群S,按每个染色体)所决定的选中机会,分N次从S中随机选定N个染色体,并进行复制。这里的选择概率P(x基于遗传算法的随机优化搜索其中,ff为适应度函数,f(x的适应度。可以看出,染色体)所占种群中全体染色体适应度之和的比例。显然,按照这种选择概率定义,适应度越高的染色体被随机选定的概率就越大,被选中的次数也就越多,而被复制的次数也就越多。相反,适应度越低的染色体被选中的次数也就越少,从而被复制的次数也就越少。如果把复制看做染色体的一次换代的话,则这就意味着适应度越高的染色体其后代也就越多,适应度越低的染色体其后代也就越少,甚至被淘汰。

这正吻合了优胜劣汰的自然选择法则。4-1赌轮选择示例基于遗传算法的随机优化搜索上述按概率选择的方法可用一种称为赌轮的原理来实现。即做一个单位圆,然后按各个染色体的选择概率将圆面划分为相应的扇形区域(如图4-1所示)。这样,每次选择时先转动轮盘,当轮盘静止时,上方的指针所正对着的扇区即为选中的扇区,从而相应的染色体即为所选定的染色体。例如,假设种群S中有4个染色体:,其选择概率依次为:0.11,0.45,0.29,0.15,则它们在轮盘上所占的份额如图4-1中的各扇形区域所示。基于遗传算法的随机优化搜索在算法中赌轮选择法可用下面的子过程来模拟:被选中。其中的qn)的积累概率,其计算公式基于遗传算法的随机优化搜索一个染色体x被选中的次数,也可以用下面的期望值e(x(4-2)其中f为种群S中全体染色体的平均适应度。基于遗传算法的随机优化搜索交叉交叉(crossover)亦称交换、交配或杂交,就是互换两个染色体某些位上的基因。例如,设染色体s=10010101,交换其后4位基因,的子代染色体。变异变异(mutation)亦称突变,就是改变染色体某个(些)位上的基因。例如,把染色体s=11001101的第三位上的0变为1,基于遗传算法的随机优化搜索4.2基本遗传算法简单来讲,遗传算法就是对种群中的染色体反复做三种遗传操作,使其朝着适应度增高的方向不断更新换代,直至出现了适应度满足目标条件的染色体为止。

遗传算法的基本框架如图4-2所示。在算法的具体步骤中,还需给出若干控制参数,如种群规模、最大换代数、交叉率和变异率等等。——种群规模就是种群的大小,用染色体的个数表示。——最大换代数就是算法中种群更新换代的上限,它也是算法终止的一个条件。基于遗传算法的随机优化搜索——交叉率[WTBZ](crossoverrate)就是参加交叉运算的染色体个数占全体染色体总数的比例,记为P,取值范围一般为0.4~0.99。由于生物繁殖时染色体的交叉是按一定的概率发生的,因此参加交叉操作的染色体也有一定的比例,而交叉率也就是交叉概率。——变异率(mutationrate)是指发生变异的基因位数所占全体染色体的基因总位数的比例,记为P,取值范围一般为0.0001~0.1。由于在生物的繁衍进化过程中,变异也是按一定的概率发生的,而且发生概率一般很小,因此变异率也就是变异概率。基于遗传算法的随机优化搜索基本遗传算法:在论域空间U上定义一个适应度函数f(x),给定种群规模N,交叉率P,组成初始种群S={s若终止条件满足,则取S中适应度最大的染色体作为所求结果,算法结束。)所决定的选中机会,每次从S中随机选定1个染色体并将其复制,共做N次,然后将复制所得的N个染色体组成群体S中随机确定c个染色体,配对进行交叉操作,并用产生的新染色体代替原染色体,得群体S中随机确定m个染色体,分别进行变异操作,并用产生的新染色体代替原染色体,得群体S基于遗传算法的随机优化搜索需要说明的是,遗传算法的具体表述在各个文献中并不太一致,本书给出的这一表述,只是遗传算法的基本步骤,所以我们称其为基本遗传算法。

该算法描述与所称的简单遗传算法(SimpleGeneticAlgorithm,SGA)基本一致。简单遗传算法是D.Goldberg总结出的一种统一的最基本的遗传算法。在简单遗传算法的基础上,现在已派生出遗传算法的许多变形,可以说已形成了一个遗传算法家族。在应用遗传算法解决实际问题时,还需给出结构模式的表示方案、适应度的计算方法、终止条件等。表示方案通常是把问题的搜索空间的每一个可能的点,编码为一个看做染色体的字符串,字符通常采用二进制数0、1。适应度的计算方法一般根据实际问题而定。基于遗传算法的随机优化搜索4.3遗传算法应用举例例4.1利用遗传算法求解区间[0,31]上的二次函数y=x最大值。分析可以看出,只要能在区间[0,31]中找到函数值最大的最大值也就可以求得。于是,原问题转化为在区间[0,31]中寻找能使y取最大值的点a的问题。显然,于这个问题,任一点x[0,31]都是可能解,而函数值f(x)=也就是衡量x能否为最佳解的一种测度。那么,用遗传算法的眼光来看,区间[0,31]就是一个(解)空间,x就是其中的个体对象,函数值f(x)恰好就可以作为x的适应度。这样,只要能给出个体x的适当染色体编码,该问题就可以用遗传算法来解决。

是一个单调增函数,其取最大值的点x=31是个整数。另一方面, 5位二进制 数也刚好能表示区间[0, 31]中的全部整数。所以, 我们就仅 取[0,31]中的整数来作为参加进化的个体,并且用5位二进制 数作为个体x的基因型编码, 即染色体。 设定种群规模,产生初始种群。我们将种群规模设 定为4, 取染色体s 计算各代种群中的各染色体的适应度,并进行遗传 操作,直到适应度最高的染色体(该问题中显然为“11111”=31) 出现为止。 计算S 中各染色体的适应度、选择概率、积累概率等并列于表4.1中。 4.1第一代种群S 中各染色体的情况染色体 适应度 选择概率 积累概率 估计被选中次数 =01101169 0.14 0.14 =11000576 0.49 0.63 =0100064 0.06 0.69 =10011361 0.31 1.00 基于遗传算法的随机优化搜索选择-复制 设从区间[0, 1]中产生4个随机数如下: =0.98503按赌轮选择法,染色体s ’=10011(19)可以看出,在第一轮选择中适应度最高的染色体s 被选中两次,因而被复制两次;而适应度最低的染色体s 一次也没有选中而遭淘汰。

基于遗传算法的随机优化搜索交叉 设交叉率p ’配对。分别交换后两位基因,得新染色体: ’’=10000(16)变异 设变异率p 中共有540.001=0.02位基因可以变异。0.02位显然不足1位,所以本轮遗传操作不 做变异。 现在,我们得到了第二代种群S 4.2第二代种群S 中各染色体的情况染色体 适应度 选择概率 积累概率 估计被选中次数 =11001625 0.36 0.36 =01100144 0.08 0.44 =11011729 0.41 0.85 =10000256 0.15 1.00 基于遗传算法的随机优化搜索假设这一轮选择-复制操作中,种群S 中的4个染色体都被选中(因为选择概率毕竟只是一种几率,所以4个染色体恰好 都被选中的情况是存在的),我们得到群体: ’=10000(16)然后,做交叉运算,让s ’’=10011(19)这一轮仍然不会发生变异。于是,得第三代种群S 基于遗传算法的随机优化搜索表4-3 第三代种群S 中各染色体的情况染色体 适应度 选择概率 积累概率 估计被选中次数 =11100784 0.44 0.44 =0100181 0.04 0.48 =11000576 0.32 0.80 =10011361 0.20 1.00 基于遗传算法的随机优化搜索设这一轮的选择-复制结果为: ’=10011(19)然后,做交叉运算,让s ’’=10000(16)这一轮仍然不会发生变异。

于是,得第四代种群S 基于遗传算法的随机优化搜索显然,在这一代种群中已经出现了适应度最高的染色体 =11111。于是,遗传操作终止,将染色体“11111”作为最终结果输出。 然后,将染色体“11111”解码为表现型,即得所求的最优解: 31。将31代入函数y=x 的最大值为961。 基于遗传算法的随机优化搜索例4.2 用遗传算法求解TSP。 分析 在前面的图搜索技术中,我们曾用状态图搜索中最佳 图搜索算法A 算法求解过TSP。在那里算法是在问题的状态空间中从初始节点(起点城市)出发一步一步试探性地朝目标节 点前进,以找到一条最短路径。然而,对于这个问题,其任一 可能解———— 一个合法的城市序列,即n个城市的一个排列 都可以事先构造出来。于是,我们就可以直接在解空间(所有 合法的城市序列)中搜索最佳解。这正适合用遗传算法求解。 基于遗传算法的随机优化搜索事实上,我们可以将一个合法的城市序列s=(c n+1就是c )作为一个个体。这个序列中相邻两城之间的距离之和的倒数就可作为相应个体s的适应度,从而适应度函 数就是 基于遗传算法的随机优化搜索接下来的问题就是如何对个体s=(c n+1)进行 编码。

然而,这却不是一个直截了当的事情。因为这里的任 一个体(x n+1)必须是一个合法的城市序列,所以 如果编码不当,就会在实施交叉或变异操作时出现非法城市 序列即无效解。例如,对于5个城市的TSP,我们用符号A、B、 C、D、E代表相应的城市,用这5个符号的序列表示可能解即 染色体。那么,对下面的两个染色体(合法序列表示的可能 基于遗传算法的随机优化搜索实施常规的交叉或变异操作基于遗传算法的随机优化搜索,如交换后三位,得 基于遗传算法的随机优化搜索4.4 遗传算法的特点与优势 由上所述, 我们看到,遗传算法模拟自然选择和有性繁殖、 遗传变异的自然原理, 实现了优化搜索和问题求解。与图搜索 相比, 遗传算法的主要特点是: ——遗传算法一般是直接在解空间搜索, 而不像图搜索那样 一般是在问题空间搜索, 最后才找到解(如果搜索成功的话)。 ——遗传算法的搜索随机地始于搜索空间的一个点集, 像图搜索那样固定地始于搜索空间的初始节点或终止节点,所以 遗传算法是一种随机搜索算法。 基于遗传算法的随机优化搜索——遗传算法总是在寻找优解(最优解或次优解), 而不像图 搜索那样并非总是要求优解, 而一般是设法尽快找到解(当然包 所以遗传算法又是一种优化搜索算法。

——遗传算法的搜索过程是从空间的一个点集(种群)到另一 个点集(种群)的搜索,而不像图搜索那样一般是从空间的一个点 到另一个点地搜索。 因而它实际是一种并行搜索, 适合大规模 并行计算, 而且这种种群到种群的搜索有能力跳出局部最优解。 ——遗传算法的适应性强, 除需知适应度函数外, 几乎不需 要其他的先验知识。 ——遗传算法长于全局搜索, 它不受搜索空间的限制性假设 的约束,不要求连续性, 能以很大的概率从离散的、多极值的、 含有噪声的高维问题中找到全局最优解。 遗传算法是一种什么样的算法?它适合于解决哪一类 问题? 试编写程序,用遗传算法解决一个实际问题。 中国课件站 管理资源吧 心灵驿站 中华文库 大学课件 管理资源吧 和呵呵呵呵呵斤斤计较斤斤计较 观后感复合管i开后进口货 5888 4555 55 4555 5466 66 66 66 5444 44 44 44 5545 45 45 1111 11 11 11 11 22 22 22 22 风光好刚刚发合格和韩国国 和环境和换机及环境和交换机 4444 48 88

(编辑:拼字网 - 核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!