第三章遗传算法的理论基础Word文档下载推荐.docx
- 文档编号:19934811
- 上传时间:2023-01-12
- 格式:DOCX
- 页数:13
- 大小:70.01KB
第三章遗传算法的理论基础Word文档下载推荐.docx
《第三章遗传算法的理论基础Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《第三章遗传算法的理论基础Word文档下载推荐.docx(13页珍藏版)》请在冰豆网上搜索。
令群体平均适值为/=工//川,则有
m(H,r+1)=H,t)(—)(3.2)
f
现在,假定模式H的平均适值髙于群体平均适值,且设髙出部分为c]\c为常数,则有
f+cf
/?
?
(//J+1)=/h(Hj)—=(l+c)〃2(HJ)(33)
假设从/=0开始,c保持为常值,则有
m{Hj+1)=+(34)
2.交叉算子
然而仅有选择操作,并不能产生新的个体,即不能对搜索空间中新的区域进行搜索,因此引入了交叉操作。
下而讨论模式在交叉算子作用下所发生的变化,这里我们只考虑单点交叉的情况。
模式H只有当交叉点落在泄义距之外才能生存。
在简单交叉(单点交叉)下H的生存概率代=1-5(日)心-1)。
例如一个长度为5的串以及隐含其中的两个模式为
A=010110
HI=*1***0
H2=***11*
我们注意到模式Hl的左义距为4,那么交叉点在6-
1=5个位置随机产生时,H1遭破坏的概率Pd=J(//2)/(zn-l)=l/5,即生存概率为4/5。
而交叉本身也是以一左的槪率4发生的,所以模式H的生存概率为
现在我们考虑交叉发生在左义距内,模式H不被破坏的可能性。
在前而的例子中,若与A交叉的串在位置2、6上有一位与4相同,则H1将被保留。
考虑到这一点,式(3.5)给出的生存概率只是一个下界,即有
R1WH)/(m—l)(36)
可见,模式在交叉算子作用下长度短的模式将增多。
3・变异算子
假泄串的某一位豊发生改变的概率为化,则该位豊不变的概率为1一化,而模式H在变异算子作用下若要不受破坏,则其中所有的确宦位置(O或T的位)
必须保持不变。
因此模式H保持不变的概率为其中o(H)为模式H的阶数。
当
斥”<
<
1时,模式H在变异算子作用下的生存概率为
P、=(l—P”y1—o(H)化(37)
综上所述,模式H在遗传算子选择、交叉和变异的共同作用下,苴子代的样本数为
m(H+1)>
Pe学卩][1一。
(丹)匕](3.8)
fI
式(3.8)忽略了极小项巴V(H)/(/—l)+o(H)•化。
通过式(3.8),我们就可以给出模式定理。
定理3.1(模式定理)
在遗传算子选择、交叉和变异的作用下,具有阶数低、长度短、平均适值高于群体平均适应度的模式在子代中将以指数级增长。
统汁学的研究表明:
在随机搜索中,要获得最优的可行解,则必须保证较优解的样本呈指数级增长,而模式楚理保证了较优的模式(遗传算法的较优解)
的样本呈指数级增长,从而给出了遗传算法的理论基础。
另外,由于遗传算法总能以一左的概率遍历到解空间的每一个部分,因此在选择算子的条件下总能得到问题的最优解。
3.2积木块假设
由模式泄理可知,具有阶数低、长度短、平均适值髙于群体平均适值的模式在子代中将以指数级增长。
这类模式在遗传算法中非常重要,在这一廿给这些模式一个特别的名一积木块(Buildingblock)0
定义3.4阶数低、长度短和适值高的模式称为积木块。
由模式左理可知,积木块将以指数级增长。
正如搭积木一样,这些“好“的模式在遗传操作下相互拼搭、结合,产生适应度更髙的串,从而得到更优的可行解,这正是积木块假设所揭示的内容。
假设3.1(积木块假设(BuildingBlockHypothesis))
阶数低、长度短、适应度高的模式(积木块)
在遗传算子作用下,相互结合,能生成阶数髙、长度长、适值髙的模式,可最终生成全局最优解。
与积木块一样,一些好的模式在遗传算法操作下相互拼搭、结合,产生适应度更高的串,从而找到更优的可行解,这正是积木块假设所揭示的内容。
下而用图来说明遗传算法中积木块生成最优解的过程。
假设每代种群规模为8,Si表示每代群体中第i个个体,问题的最优解由积木块AA、BB、CC组成。
图3」为初始种群,个体,、S?
含有AA,个体S4、Ss含有BB,个体S3含有CC。
AA
CC
BB
S?
SsIBB
图3.1初始种群
当种群进化一代后•图3.2为第二代种群,个体S3、S7含有AA,个体小、S?
含有BB,个体S3、S6含有CC。
个体S3含有AA、CC,个体S7含有AA、BB。
当种群进化到第二代后,图3.3为第三代种群,在群体中,岀现了含有积木块AA、BB、CC的个体S3,个体S3就是问题的最优解。
模式定理保证了较优的模式(遗传算法的较优解)
样本数呈指数增长,从而满足了寻找最优解的必要条件,即遗传算法存在着寻找到全局最优解的可能性。
而这里的积木块假设则指岀,遗传算法具备找到全局最优解的能力,即积木块在遗传算子作用下,能生成阶数髙、长度长、适应度高的模式,最终生成全局最优解。
3.3欺骗问题
在遗传算法中,将所有妨碍适应度髙的个体的生成从而影响遗传算法正常工作的问题统称为欺骗问题(Deceptive
Problem)0遗传算法运行过程具有将阶数低、长度短、平均适应度高于群体平均适应度的模式重组成髙阶模式的趋势。
如果在低阶模式中包含了最优解,则遗传算法就可能找出这个最优解来。
但是低阶、高适应度的模式可能没有包含最优串的具体取值,于是遗传算法就会收敛到一个次优的结果。
下而给出有关欺骗性的概念。
定义3・5(竞争模式)若模式H和H中,*
的位置完全一致,但任一确定位的编码均不同,则称H和H互为竞争模式。
定义3.6(欺骗性)假设/(X)的最大值对应的X的集合为,H为一包含X*的m阶模式。
H的竞争模式
为H,而且f(H)>
/(H),则/为加阶欺骗。
定义3.7(最小欺骗性)
在欺骗问题中,为了造成骗局所需设置的最小的问题规模(即阶数)。
其主要思想是在最大程度上违背积木块假设,是优于由平均的短积木块生成局部最优点的方法。
这里的“最小”是指问题规模采用两位。
下而是一个由4个阶数为2、有2个确定位置的模式集:
水**0水****0水
/(00)
木****]水
/(01)
水**]*****0水
7(10)
***]*****]*
/(11)
为简单(达到最小)起见,我们不考虑=*
位,令/(II)为全局最优解,为了欺骗遗传算法,Goldberg设汁了两种情况:
Typel:
/(01)>
Type2:
/(00)>
满足/(0*)>
/(I*)或者/(*0)>
/(*1)0
按Holland的模式泄理,最小欺骗问题将给遗传算法造成很大困难,遗传算法甚至找不到最优解。
但Goldberg实验的结果却是:
Opel问题基本上都很快找到了最优解,Typc2问题找到和找不到两种情况都可能出现。
遗传算法中欺骗性的产生往往与适应度函数确左和调整、基因编码方式选取相关。
采用合适的编码方式或调整适应度函数,就可能化解和避免欺骗问题。
下面以合适的编码方式为例来说明。
一个2位编码的适应度函数为
f(x)=4+—x-4x2+-x3
66
采用二进制编码,计算个体的函数值(见表3.1),则存在第二类欺骗问题。
采用格雷编码,计算个体的函数值(见表3.2),则第二类欺骗问题化解为第一类欺骗问题。
表3.1二进制编码及函数值表3.2格雷編码及函数值
采用适当的适应度函数调整方法,设
g(x):
g(00)=128,g(01)=1,g(10)=g(l1)=32如果适应度函数/(x)=g(x),则
阿)=迴严=仇5
M)="
O);
/(11)=32
35/11
故存在欺骗问题。
如果用适应度函数的调整方法,/(X)=10g2g(X),则
f(00)=7,/(01)=0,/(11)=/(10)=5
得/(O*)=3.5J(1*)=5,故不会产生欺骗问题。
3-4遗传算法的未成熟收敛问题及其防止
在实际中,很多参数优化问题是多参数和非线性的,且往往还伴随着不可微和参数耦合等问题。
这时用传统的优化方法解决这种问题,效率很低,有时候甚至根本得不岀结果。
遗传算法的高鲁棒性和有效性为解决这类问题提供了一种有效的途径。
在实际应用中,遗传算法显示出了顽强的生命力,以英突出的优点而越来越受到重视。
但是遗传算法也存在着缺点,在实际应用中也因此出现了一些问题,其中很重要的是遗传算法未成熟收敛(也称为早熟,PrematureConvergence,PC)
问题。
对于遗传算法的应用,解决未成熟收敛问题是必要的,否则,遗传算法的一些优良性能(例如全局寻优能力)将无法完全体现出来。
3.4.1遗传算法的未成熟收敛问题
1.未成熟收敛现象
未成熟收敛现象主要表现在两个方而:
(1)体中所有的个体都陷于同一极值而停止进化。
(2)接近最优解的个体总是被淘汰,进化过程不收敛。
未成熟收敛现象是遗传算法中的特有现象,且十分常见。
它指的是,当还未达到全局最优解或满意解时,群体中不能再产生性能超过父代的后代,群体中的各个个体非常相似。
未成熟收敛的重要特征是群体中个体结构的多样性急剧减少。
这将导致遗传算法的交叉算子和选择算子不能再产生更有生命力的新个体。
遗传算法希望找到最优解或满意解,而不是在找到最优解或满意解之前,整个群体就收敛到一个非优个体,它希望能够保持群体中个体结构的多样性,从而使搜索能够进行下去。
未成熟收敛问题就像其它算法中的局部极小值(极大值)问题,但它和局部极小值问题有着本质上的不同,未成熟收敛问题并不一左岀现在局部极小点。
同时,它的产生是带有随机性的,人们很难预见是否会出现未成熟收敛问题。
2.未成熟收敛产生的主要原因
未成熟收敛产生的主要原因有以下几点:
(1)理论上考虑的选择、交叉、变异操作都是绝对精确的,它们之间相互协调,能搜索到整个解空间,但在具体实现时很难达到这个要求。
(2)所求解的问题是遗传算法欺骗问题。
巴解决的问题对于标准遗传算法来说比较困难时,遗传算法就会偏离寻优方向,这种问题被称为遗传算法欺骗问题。
(3)遗传算法处理的群体是有限的,因而存在随机误差,它主要包括取样误差和选择误差。
取样误差是指所选择的有限群体不能代表整个群体所产生的误差。
当表示有效模板串的数量不充分或所选的串不是相似子集的代表时,遗传算法就会发生上述类似的情况。
小群体中的取样误差妨碍模板的正确传播,因而阻碍模板原理所预测的期望性能产生。
选择误差是指不能按期望的概率进行个体选择。
对一个染色体来说,在遗传操作中只能产生整数个后代。
在有限群体中,模板的样本不可能以任意精度反映所要求的比例,这是产生取样误差的根本原因,加上随机选择的误差,就可以导致模板样品数量与理论预测值有很大差别。
随着这种偏差的积累,一些有用的模板将会从群体中消失。
遗传学家认为当群体很小时,选择就不会起作用,这时有利的基因可能被淘汰,有害的基因可能被保留。
引起群体结构发生变化的主要因素是随机波动的——遗传漂移,它也是产生未成熟收敛的一个主要原因。
对此可以采用增大群体容量的方法来减缓遗传漂移,但这样做可能导致算法效率的降低。
上述三个方而都有可能产生未成熟收敛现象,即群体中个体的多样性过早地丢失,从而使算法陷入局部最优点。
在遗传算法处理过程的每个环宵都有可能导入未成熟收敛的因素。
遗传算法未成熟收敛产生的主要原因是,在迭代过程中,未得到最优解或满意解以前,群体就失去了多样性。
具体表现在以下几个方面:
(1)在进化初始阶段,生成了具有很高适应度的个体X。
(2)在基于适应度比例的选择下,苴它个体被淘汰,大部分个体与X—致。
(3)相同的两个个体进行交叉,从而未能生成新个体。
(4)通过变异所生成的个体适应度髙但数量少,所以被淘汰的槪率很大。
(5)群体中的大部分个体都处于与X—致的状态。
3.4.2未成熟收敛的防止
在分析了未成熟收敛产生的原因后,下而要解决的是如何防止该现象的发生,即如何维持群体多样性以保证在寻找到最优解或满意解以前,不会发生未成熟收敛现象。
解决的方法有以下几种。
1.重新启动法
这是实际应用中最早岀现的方法之一。
在遗传算法搜索中碰到未成熟收敛问题而不能继续时,则随机选择一组初始值重新进行遗传算法操作。
假设每次执行遗传算法后陷入不成熟收敛的概率为0(o<
e<
i),那么做〃次独立的遗传算法操作后,可避免未成熟收敛的概率为F(n)=1-0"
随着n的增大,F(n)将趋于1。
但是,对于Q较大的情况,如果优化对象很复杂以及每次执行时间都很长的情况,采用该办法显然是不合适的。
2.配对策略(MatingStrategies)
为了维持群体的多样性,可以有目的地选择配对个体。
一般情况下,在物种的形成过程中要考虑配对策略,以防止根本不相似的个体进行配对。
因为在生物界,不同种族之间一般是不会杂交的,这是因为它们的基因结构不同,会发生互斥作用,同时杂交后会使种族失去英优良特性。
因此,配对受到限制,即大多数是同种或近种相配,以使一个种族的优良特性得以保存和发扬。
然而,这里所说的匹配策略有不同的目的。
其目的是,由不同的父辈产生的个体试图比苴父辈更具有多样性,Goldberg的共享函数(SharingFunction)
就是一种间接匹配策略。
该策略对生物种(Species)内的相互匹配或至少对占统治地位的物种内的相互匹配有一左限制。
Eshelman提岀了一种可以更直接地防止相似个体交配的方法防止乱伦机制(IncestPrevention
Mechanism)。
参与交配的个体是随机配对的,但只有当参与配对的个体间的海明距离超过一左阈值时,才允许它们进行交配。
最初的阈值可采用初始群体海明距离的期望平均值,随着迭代过程的发展,阈值可以逐步减小。
尽管Eshelman的方法并不能明显地阻止同辈或相似父辈之间进行交配,但只要个体相似,它就有一泄的影响。
匹配策略是对具有一泄差异的个体进行配对,这在某种程度上可以维持群体的多样性。
但它同时也具有一立的副作用,即交叉操作会使较多的模板遭到破坏,只有较少的共享模板得以保留。
3.重组策略(RecombinationStrategies)
重组策略就是使用交叉算子。
在某种程度上,交叉操作试图产生与其父辈不同的个体,从而使产生的群体更具多样性。
能使交叉操作更具有活力的最简单的方法就是,增加其使用的频率和使用动态改变适应度函数的方法,如共享函数方法。
列一种方法是把交叉点选在个体的具有不同值的位上。
只要父辈个体至少有两位不同,所产生的子代个体就会与其父辈不相同。
维持群体多样性的更基本的方法是,使用更具有破坏性的交叉算子,如均匀交叉算子0该算子试图交叉近一半的不同位,因而保留的模板比单点或两点交叉所保留的模板要少得多。
总之,重组策略主要是从使用频率和交叉点两方而考虑,来维持群体的多样性。
这对采用随机选择配对个体进行交叉操作可能有特肚的意义,但对成比例选择方式,其效果则不一定明显。
4替代策略(ReplacementStrategies)
匹配策略和重组策略分別是在选择、交叉阶段,通过某种策略来维持群体的多样性。
而替代策略是确泄在选择、交叉产生的个体中,选择哪一个个体进入新一代群体。
DeJong采用排挤(Crowding)模式,用新产生的个体去替换父辈中类似的个体。
Syscuda和Whilclcy也采用类似的方法,他们仅把与父辈各个个体均不相似的新个体添加到群体中。
这种替换策略仅从维持群体的多样性出发,存在一立的负而影响,即交叉操作会破坏较多模板,但这种影响比前两种策略的要少。
3.5性能评估
遗传算法的实现涉及到它的五个要素:
参数编码、初始群体的设左、适应度函数的设计、遗传操作设计和控制参数设左,而每个要素又对应不同的环境,存在各种相应的设计策略和方法。
不同的策略和方法决左了各自的遗传算法具有不同的性能或特征。
因此,评估遗传算法的性能对于研究和应用遗传算法是十分重要的。
目前,遗传算法的评估指标大多采用适应度值。
特别在没有具体要求的情况下,一般采用各代中最优个体的适应度值和群体的平均适应度值。
以此为依据,DeJong提出了两个用于宦量分析遗传算法的测度:
离线性能(Off-linePerformance)测度和在线性能(On-linePerformance)测度,得到两个评估准则。
1.在线性能评估准则
定义3.8
设X。
(5)为环境e下策略s的在线性能,/;
(/)为时刻f或第/代中相应于环境e的目标函数或平均适应度函数,则xe(s)可以表示为
1/
Xg芍孕;
⑴(3.9)
式(3.9)表明,在线性能可以用从第一代到当前的优化进程的平均值来表示。
2.离线性能评估准则
定义3.9设X;
(s)为环境e下策略s的离线性能,则有
1T
XO=〒工£
(/)(3.10)
式中,ft:
(t)=best{femje
(2),…£
(小。
式(3.10)
表明,离线性能是特左时刻或特左代的最佳性能的累积平均。
具体地说,在进化过程中,每进化一代就统计目前为I匕的各代中的最佳适应度或最佳平均适应度,并计算对进化代数的平均值。
Jong指出:
离线性能用于测量算法的收敛性,在应用时,优化问题的求解可以得到模拟,在一左的优化进程停止准则下,当前最好的解可以被保存和利用;
而在线性能用于测量算法的动态性能,在应用时,优化问题的求解必须通过真实的实验在线实现,可以迅速得到较好的优化结果。
但是,从遗传算法的运行机理可知,在遗传算子的作用下,群体的平均适应度呈现增长的趋势,因此,左义3.8和左义3.9中的厶⑴和£
;
(/)相差不大,它们所反映的性质也基本一样。
下而以最优化方法的收敛速度和收敛准则来讨论遗传算法的性能。
一般优化问题可描述为求x=(冋,孔,…,九)'
,使/(X)达到最小(或最大)。
最优化方法通常采用迭代方法求它的最优解,其基本思想为:
给肚一个初始点心,按照某一迭代规则产生一个点列{旺},使得当{兀}为有穷点列时,英最后一个点是最优化问题的最优解。
当{兀}是无穷点列时,它有极限点,且苴极限点是最优化问题的最优解。
一个好的优化算法为:
能稳左地接近全局极小点(或极大点)
的邻域时,迅速收敛于x,当满足给定的收敛准则时,迭代终止。
假设一算法产生的迭代点列{£
}在某种范数意义下收敛,即
式中,兀+1=xi+ai»
ai为步长因子。
若存在实数a>
0及一个与迭代次数无关的常数0>
0,使得
则称此算法产生的迭代点列{九}具有q-a阶收敛速度(a为迭代步长因子)。
因为||x/+I-x.||是*-打的一个估计,所以在实际中,一般用||和-对代替卜厂打,作为迭代终止判决条件。
(1)当a=l,?
>
0时,称{易}具有§
线性收敛速度。
(2)当1va<
2,“>
0或a=l,°
=0时,称{易}具有q超线性收敛速度。
(3)当a=2时,称{兀}具有q二阶收敛速度。
具有超线性收敛速度和二阶收敛速度的迭代算法的收敛速度比较快.
关于算法的终I匕准则,实际应用中可以使用各种不同的方法进行确定。
Himmeblau提岀了下而的终止准则。
当卜』>
£
和|/(无)|>
时’采用
(3.13)
(3」4)
否则采用
\XM~Xi\<
e或\f(XM)-f(Xi)\<
式中,£
为根据实际问题要求精度给出的适当小的正数。
根据以上Himmeblau提岀的终止准则,实际中可以用各代适应度函数的均值之差来衡量遗传算法的收敛特性。
左义收敛性测量函数为:
17
QG)=〒工[/;
(『+1)-力⑴](3.15)
1『■】
式中,/;
(/)为时刻/或第f代中相应于环境e的目标函数或平均适应度函数。
从优化问题中寻找最优解或最优解组的角度考虑,可以左义部分在线特性:
人G)=(3.16)
1i-\
式中,f为群体中对应于最优解或最优解组的个体适应度的均值。
3.6小生境技术和共享函数
Cavicchio提出只有在子串的适应度超过父代的情况下,子串才能替代父串进入下一代群体的预选择机制,该机制趋向于替换与其本身相似的个体,能够维持群体的分布特性,并且不断地以优秀个体来更新种群,使种群不断被优化。
De
Jong提岀基于排挤的机制,苴思想来源于一个有趣的生物现象:
在一个有限的生存空间中,各种不同的生物为了延续生存,必须相互竞争各种有限的生存资源。
差别较大的个体由于生活习性不同而很少竞争。
处于平衡状态的大小固泄的种群,新生个体将代替与之相似的旧个体。
排挤机制可以维护当前种群的多样
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第三 遗传 算法 理论基础