第三章遗传算法的理论基础遗传算法有效性的理论依据为模式定理和积木块假设。模式定理保证了较优的模式(遗传算法的较优解)的样本呈指数级增长,从而满足了寻找最优解的必要条件,即遗传算法存在着寻找到全局最优解的可能性。而积木块假设指出,遗传算法具备寻找到全局最优解的能力,即具有低阶、短距、高平均适应度的模式(积木块)在遗传算子作用下,相互结合,能生成高阶、长距、高平均适应度的模式,最终生成全局最优解。Holland的模式定理通过计算有用相似性,即模式(Pattern)奠定了遗传算法的数学基础。该定理是遗传算法的主要定理,在一定程度上解释了遗传算法的机理、数学特性以及很强的计算能力等特点。3.1模式定理不失一般性,本节以二进制串作为编码方式来讨论模式定理(PatternTheorem)。定义3.1基于三值字符集{0,1,*}所产生的能描述具有某些结构相似性的0、1字符串集的字符串称作模式。以长度为5的串为例,模式*0001描述了在位置2、3、4、5具有形式“0001”的所有字符串,即(00001,10001)。由此可以看出,模式的概念为我们提供了一种简洁的用于描述在某些位置上具有结构相似性的0、1字符串集合的方法。引入模式后,我们看到一个串实际上隐含着多个模式(长度为n的串隐含着2n个模式),一个模式可以隐含在多个串中,不同的串之间通过模式而相互联系。遗传算法中串的运算实质上是模式的运算。因此,通过分析模式在遗传操作下的变化,就可以了解什么性质被延续,什么性质被丢弃,从而把握遗传算法的实质,这正是模式定理所揭示的内容定义3.2模式H中确定位置的个数称作该模式的阶数,记作o(H)。比如,模式011*1*的阶数为4,而模式0*****的阶数为1。显然,一个模式的阶数越高,其样本数就越少,因而确定性越高。定义3.3模式H中第一个确定位置和最后一个确定位置之间的距离称作该模式的定义距,记作)(H。比如,模式011*1*的定义距为4,而模式0*****的定义距为0。模式的阶数和定义距描述了模式的基本性质。下面通过分析遗传算法的三种基本遗传操作对模式的作用来讨论模式定理。令)(tA表示第t代中串的群体,以),,2,1)((njtAj表示第t代中第j个个体串。1.选择算子在选择算子作用下,与某一模式所匹配的样本数的增减依赖于模式的平均适值,与群体平均适值之比,平均适值高于群体平均适值的将呈指数级增长;而平均适值低于群体平均适值的模式将呈指数级减少。其推导如下:设在第t代种群)(tA中模式所能匹配的样本数为m,记为),(tHm。在选择中,一个位串jA以概率/jjiPff被选中并进行复制,其中jf是个体)(tAj的适应度。假设一代中群体大小为n,且个体两两互不相同,则模式H在第1t代中的样本数为:()(,1)(,)ifHmHtmHtnf(3.1)式中,)(Hf是在t时刻对应于模式的位串的平均适值。令群体平均适值为_/iffn,则有)1,(tHm=_)(),(fHftHm(3.2)现在,假定模式H的平均适值高于群体平均适值,且设高出部分为,_fcc为常数,则有)1,(tHm=),()1(),(___tHmcffcftHm(3.3)假设从0t开始,c保持为常值,则有)1)(0,()1,(cHmtHm(3.4)2.交叉算子然而仅有选择操作,并不能产生新的个体,即不能对搜索空间中新的区域进行搜索,因此引入了交叉操作。下面讨论模式在交叉算子作用下所发生的变化,这里我们只考虑单点交叉的情况。模式H只有当交叉点落在定义距之外才能生存。在简单交叉(单点交叉)下H的生存概率)1/()(1tHPs。例如一个长度为5的串以及隐含其中的两个模式为A=010110H1=*1***0H2=***11*我们注意到模式H1的定义距为4,那么交叉点在6-1=5个位置随机产生时,H1遭破坏的概率5/1)1/()(2mHPd,即生存概率为5/4。而交叉本身也是以一定的概率cP发生的,所以模式H的生存概率为)1/()(112mHPPPPcdcs(3.5)现在我们考虑交叉发生在定义距内,模式H不被破坏的可能性。在前面的例子中,若与A交叉的串在位置2、6上有一位与A相同,则H1将被保留。考虑到这一点,式(3.5)给出的生存概率只是一个下界,即有)1/()(1mHPPcs(3.6)可见,模式在交叉算子作用下长度短的模式将增多。3.变异算子假定串的某一位置发生改变的概率为mP,则该位置不变的概率为1-mP,而模式H在变异算子作用下若要不受破坏,则其中所有的确定位置(‘0’或‘1’...