遗传算法笔记——4
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第四章遗传算法的高级实现技术
4.1 倒位算子
4.1.1 倒位操作
所渭倒位操作(Iwerse〔)Per班ion)是指颠倒个体编码串中随机指定的二个基因座之间的基因排列顺序,从而形成一个新的染色体。倒位操作的具体过程是:
[1]在个体编码串中随机指定二个基因座之后的铰胃为倒位点;
(2)以倒位概率入颠倒这二个例位点之间的基因排列顺序。
4.2 二倍体与显性操作算于
4.2.1 二倍体结构的生物基础
一是二倍体的记亿能力,它使得生物能够记忆以前所经历过的环境及变化,使得生物的遗传进化过程能够快速地适应环境的变化。这个特点在遗传算法中的应用意义就在于.使用二倍体结构的遗传算法能够解决动态环境下的复杂系统优化问题.而常规的遗传算法却不能很好地应川于动态环境,它难于跟踪环境的动态变化过程。
二是显性操作的鲁棒性.它使得即使随机选择了适应度不高的个体,而在显性操作的作用下,能够用其另一同派染色体对其进行校正,从而避免这个有害选择所带来的不利之处。这个持点应用于遗传算法中.能有利于提高遗传算法的运算效率,维护好的搜索群体。
4.2.2 二倍体结构在遗传算法中的实现方案
这样,使用双倍体的遗传算法可描述如下;
1.初始化.并设置进化代数计数器初值。
2.随机产生具有二倍体结构的初始群体P(t)。
3.对初姑群体P(t)进行显性操作。
4.评价韧姑群钵P(t)中各个个体的适应度。
5.交叉操作:由每两个随机配对的2个体进行交又操作时,共可产生四个单倍休个体
6.变异操作:在对群体中的各个个体进行变异操作时*需要考虑隐性基因的作用。
7.对群体P”(t)进行显性操作。
8.评价群体P”(t)中各个个体的适应度。
9.个体选择、复制操作:。
10.终止条件判断。若不满足终上条件,则:转到第5步,继续进行进化操作过程;苦
满足终止条件,则:输出当前最优个体,算法结束。
应用实践表明,对于静态优化问题,与使用单倍体的遗传韵法相比,使用双倍体的遗传算法并不能改善多少求解性能。但对于动态系统的优化问题,使用单倍体的遗传算法很难达到优化要求,因为它跟踪不了动态环境的变化过程,此时,使用双倍体的遗传算法却能表现出较好的应用效果。
4.3 变氏度染色体遗传算法
4.3.1 变长度染色体遗传算法的编码与解码
对变长度染色体进行解码处理时,在正常指定情况下,将变长度染色体遗传算法中的个体基因型转换为常规遗传算法中的个体基因型时不会有什么问题,而在过剩指定或缺省指定时,就会产生描述过剩或描述不足的问题,此时可按下述规则来进行解码处理:
(1)描述过剩时的解码方法。此时,常规遗传算法中的一个基内座可能在变长度染
色体个同时有几个对应的::元组,规定取最左边的二元组来进行解码。
2)捞述不足时的解码方法。此时,常规遗传算法中有些基因座上的基因值未被在变
长度染色体中明确地指定,这时可规定它们取某—顶先设定的标难值(或缺省值)。
4.3.2 切断算子与拼接算子
变长度染色体遗传算法除F使用常规遗传算法中的选择其子和变异算子之外,
不再使用通用的交叉舅子,而代之以使用下述的切断算子和拼接算子,以它们作为产生新个体的主要遗传算子。
1.切断算子
切断算子以某一预先指定的概率,在变长度染色体中随机选择一个基因座,在该处将个体的基因型切断,使之成为二个个体的基因型。
2.拼接算子
拼接算子以某一顶先指定的概率,将2个个体的基因型连接在一起,使它们合并为一个个体的基因型。
4.3.3 变长度染色体遗传算法的算法结构
变长度染色体遗传算法的算法结构可描述如下
1.初始化。随机产生M个染色体.长度全部为k的个体,以它们作为变长度遗
传算法的初始个体集合P(o),其中k为根据问题的不同而设定的一个参数,并
且k<l。
2.适应度评价。对变长度的染色体进行解码处理后,评价或计算各个个体的适应
度。
3.基本处理阶段。对群体P(t)施加选择算子,以保留适应度较高的个体*
4.并列处理阶段。对群体P(t)施加变异算子、切断算于和拼接算于,以生成新的
个体。
5.重复策②一④步,直到满足终止条件为止。
4.4 小生境遗传算法
4.1 小生境与遗传算法
在用遗传算法求解多峰值函数的优化计算问题时,经常是只能找到个别的几个最优解,甚全往什得到的是局部最优解,而有时希望优化算法能够找出问题的所有最忧解,包括局部最优解和全局最优解。基本遗传算法对此无能为力。既然作为遗传算法模拟对象的生物都有其特定的生存环境,那么借鉴此概念,我们也可以让遗传算法户的个体在一个特定的生存环境中进化,即在遗传算法中可以引进小生境的概念,从而解决这类问题,以找出更多的最优解。4.4.2 遗传算法中小生境的实现方法
遗传算法中模拟小生境的方法主要有以下几种。
1基于预选择的小生境实现方法
这种实现方法的基本思想是:仅当新产生的子代个体的适应度越过其父代个体的适应度时、所产生出的子代个体才能替换其父代个体而遗传到下一代群体中,否则父代个体仍保留在下—代群体中。由于子代个体和父代个体之间编码结构的相似性,所以这种实现方法替换掉的只是一些编码结构相似的个体,故它能够有效地维持群体的多样性.并造就小生境的进化环境。
2。基于排挤的小生境实现方法
排挤的思想源与在一个有限的生存空间中,各种不同的生物为了能够延续生存,它们之间必须相互竞争各种有限的生存资源。这种实现方法的基本思想是:设置一排挤因子CF,由群体中随机选取的1/CF个个体组成排挤成员.然后依据新产生的个体与排挤成员的相似性来排挤掉一些与排挤成员相类似的个体。这里,个体之间的相似性可用个体编码串之间的海明距离来度量。随着排挤过程的进行.群体中的个体逐渐被分类,从而形成各个小的生存环境.并维持了群体的多样性。
3.基于共享函数的小生境实现方法
这种实现方法的基本思想是:通过反映个体之间相似程度的共享函数来调整群体中各个个体的适应度,从而在这以后的群体进化过程中.算法能够依据这个调整后的新适应度来进