第三章 遗传算法的理论基础

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第三章 遗传算法的理论基础

遗传算法有效性的理论依据为模式定理和积木块假设。模式定理保证了较优的模式(遗传算法的较优解)的样本呈指数级增长,从而满足了寻找最优解的必要条件,即遗传算法存在着寻找到全局最优解的可能性。而积木块假设指出,遗传算法具备寻找到全局最优解的能力,即具有低阶、短距、高平均适应度的模式(积木块)在遗传算子作用下,相互结合,能生成高阶、长距、高平均适应度的模式,最终生成全局最优解。Holland 的模式定理通过计算有用相似性,即模式(Pattern)奠定了遗传算法的数学基础。该定理是遗传算法的主要定理,在一定程度上解释了遗传算法的机理、数学特性以及很强的计算能力等特点。

3.1 模式定理

不失一般性,本节以二进制串作为编码方式来讨论模式定理(Pattern Theorem)。

定义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。 模式的阶数和定义距描述了模式的基本性质。

下面通过分析遗传算法的三种基本遗传操作对模式的作用来讨论模式定理。令)(t A 表示第t 代中串的群体,以),,2,1)((n j t A j =表示第t 代中第j 个个体串。

1.选择算子

在选择算子作用下,与某一模式所匹配的样本数的增减依赖于模式的平均适值,与群体平均适值之比,平均适值高于群体平均适值的将呈指数级增长;而平均适值低于群体平均适值的模式将呈指数级减少。其推导如下:

设在第t 代种群)(t A 中模式所能匹配的样本数为m ,记为),(t H m 。在选择中,一个位串j A 以概率/j j i P f f =∑被选中并进行复制,其中j f 是个体)(t A j 的适应度。假设一代中群体大小为n ,且个体两两互不相同,则模式H 在第1+t 代中的样本数为:

()

(,1)(,)i f H m H t m H t n f +=∑

(3.1)

式中,)(H f 是在t 时刻对应于模式的位串的平均适值。

令群体平均适值为_/i f f n =∑,则有

)1,(+t H m =_)

(),(f H f t H m (3.2)

现在,假定模式H 的平均适值高于群体平均适值,且设高出部分为,_

f c c 为常数,则有 )1,(+t H m =),()1(),(___t H m c f f

c f t H m +=+ (3.3)

假设从0=t 开始,c 保持为常值,则有

)1)(0,()1,(c H m t H m +=+ (3.4)

2.交叉算子

然而仅有选择操作,并不能产生新的个体,即不能对搜索空间中新的区域进行搜索,因此引入了交叉操作。下面讨论模式在交叉算子作用下所发生的变化,这里我们只考虑单点交叉的情况。

模式H 只有当交叉点落在定义距之外才能生存。在简单交叉(单点交叉) 下H 的生存概率)1/()(1--=t H P s δ。例如一个长度为5的串以及隐含其中的两个模式为

A = 010110

H 1 = *1* * *0

H 2 =* * *11*

我们注意到模式H1的定义距为4,那么交叉点在6-1=5个位置随机产生时,H 1遭破坏的概率5/1)1/()(2=-=m H P d δ,即生存概率为5/4。

而交叉本身也是以一定的概率c P 发生的,所以模式H 的生存概率为

)1/()(112-⋅-=-=m H P P P P c d c s δ (3.5)

现在我们考虑交叉发生在定义距内,模式H 不被破坏的可能性。在前面的例子中,若与A 交叉的串在位置2、6上有一位与A 相同,则H 1将被保留。考虑到这一点,式(3.5) 给出的生存概率只是一个下界,即有

)1/()(1-⋅-m H P P c s δ (3.6)

可见,模式在交叉算子作用下长度短的模式将增多。

3.变异算子

假定串的某一位置发生改变的概率为m P ,则该位置不变的概率为1-m P ,而模式H 在变异算子作用下若要不受破坏,则其中所有的确定位置(‘0’或‘1’的位) 必须保持不变。因此模式

H 保持不变的概率为)()1(H o m P -,其中)(H o 为模式H 的阶数。当1<

m H o m s P H o P P )(1)1()(-≈-= (3.7)

综上所述,模式H 在遗传算子选择、交叉和变异的共同作用下,其子代的样本数为

]

)(1][1)(1[)

(),()1,(_m c P H o l H P f H f t H m t H m ---≥+δ (3.8)

式(3.8) 忽略了极小项m c P H o l H P ⋅+-⋅)()1/()(δ。通过式(3.8) ,我们就可以给出模式定理。

定理3.1(模式定理) 在遗传算子选择、交叉和变异的作用下,具有阶数低、长度短、平均适值高于群体平均适应度的模式在子代中将以指数级增长。

统计学的研究表明:在随机搜索中,要获得最优的可行解,则必须保证较优解的样本呈指数级增长,而模式定理保证了较优的模式(遗传算法的较优解) 的样本呈指数级增长,从而给出了遗传算法的理论基础。另外,由于遗传算法总能以一定的概率遍历到解空间的每一个部分,因此在选择算子的条件下总能得到问题的最优解。

3.2 积木块假设

由模式定理可知,具有阶数低、长度短、平均适值高于群体平均适值的模式在子代中将以指数级增长。这类模式在遗传算法中非常重要,在这一节给这些模式一个特别的名字——积木块(Building block)。

定义3.4 阶数低、长度短和适值高的模式称为积木块。

由模式定理可知,积木块将以指数级增长。正如搭积木一样,这些“好”的模式在遗传操作下相互拼搭、结合,产生适应度更高的串,从而得到更优的可行解,这正是积木块假设所揭示的内容。

假设3.1 (积木块假设(Building Block Hypothesis)) 阶数低、长度短、适应度高的模式(积木块) 在遗传算子作用下,相互结合,能生成阶数高、长度长、适值高的模式,可最终生成全局最优解。

与积木块一样,一些好的模式在遗传算法操作下相互拼搭、结合,产生适应度更高的串,从而找到更优的可行解,这正是积木块假设所揭示的内容。下面用图来说明遗传算法中积木块生成最优解的过程。

假设每代种群规模为8,S i 表示每代群体中第i 个个体,问题的最优解由积木块AA 、BB 、CC 组成。图3.1为初始种群,个体S 1、S 7含有AA ,个体S 4、S 8含有BB ,个体S 3含有CC 。

S 1

S 2

S 3

S 4

S 5

S 6

S 7

S 8 图3.1 初始种群 当种群进化一代后,图3.2为第二代种群,个体S 1、S 3、S 7含有AA ,个体S 2、S 7含有BB ,个体S 3、S 6含有CC 。个体S 3含有AA 、CC ,个体S 7含有AA 、BB 。当种群进化到第二代后,

相关文档
最新文档