遗传算法模式定理推导

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

8.3遗传算法基本定理

1、模式的概念

所谓模式就是一个相同的构形,它描述的是一个数字串的子集合,在这个集合中的所有数字串之间、在某些确定位置上是相同的。模式一般用大写字母H 表示。用3个字符的字母表[0,1,]V =*组成的三元组来描述模式,其中,符号*代表不确定数字,即在特定位置上可以与数字0或1相匹配。例如,字符串长为5的模式110H =**,并称数字串 A=01110是模式 H 的一个代表串,这是因为数字串A 与模式H 在确定位置2、3和5 上相匹配。

遗传算法的操作过程非常简单,从一个含有N 个染色体的初始群体出发,不断循环地执行选择、交叉和变异运算。看起来遗传算法是按这种简单的模式直接作用在一个个数字串组成的群体上,实际上,在每一代的计算过程中,这种数字串的显式操作过程蕴含了大量模式的隐含操作。这里,首先讨论选择、交叉和变异算子对模式作用的影响。

对于由 N 个二进制数字串组成的群体中,至多包含有2L N 个模式(所有符号*都为确定数字时),式中L 为数字串长。

在遗传算法的执行过程中,所有的模式并不是以同等的机会发生的。有些模式比起其他的模式更明确,例如,模式0111*和模式0****相比,在相似性方面,模式0111*就比较明确。有些模式的跨度要比另一些模式的长,例如,模式11***和模式11***相比,在长度方面,模式11***要跨越整个串长。

为了定量地描述模式,下面介绍两个基本概念:模式的定义长度和模式的阶。

模式H 的定义长度是指模式H 中第1个常数位置与最后1个常数位置之间的距离,用()H δ表示。例如,模式10111H =***的定义长度为1()4H δ=,这是因为模式1H 中第1个常数的位置为1,最后回个常数的位置为5,它们之间的距离为5-1=4;另一个模式20H =******中仅有1个常数位置,即第1个和最后1个常数位置是同一个位置,因此其定义长度2()0H δ=。

模式H 的阶是指出现在模式H 中常数的个数,用()O H 表示。在二进制数字串中,一个模式H 的阶就是模式中所有1和0的个数。例如,模式10111H =***的阶为4,可记为1()4O H =,同样地,模式20H =******阶为1,可记为2()1O H =。

模式、模式的定义长度以及模式的阶对于讨论和区分数字串的相似性是有用的标志,并且它们提供了一个基本的方法来分析遗传算子对包含在群体中的基因的作用效果。下面分别考虑选择、交叉和变异操作对包含在群体中的模式作用的单独效果和联合效果,并最终导出模式定理。

2、选择操作的效果

假设在给定时间t 代,一个特定的模式H 有m 个代表数字串包含在群体()A t 中,记为(,)m m H t =,在不同的时间t 代,不同的模式H 可能有不同数量的代表数字串。

在选择操作阶段,每个数字串根据它的适应度函数值进行选择,一个数字串()i A t 的选择率si P 为

式中,i f 为数字串()A t 的适应度函数值。

当采用没有重叠的N 个数字串的群体替代群体()A t 后,人们期望在时间(1)t +代,模式 H 在群体(1)A t +中有(,1)m m H t =+个代表数字串,则模式H 的数量为

式中,()f H 表示在时间t 代模式H 包含的所有代表数字串的平均适应度函数值。

由于群体的平均适应度函数值可记为:

故模式H 的选择生长方程可表示为

(8.1) 由此式看出,一个特定的模式H 按照其适应度函数值与群体的平均适应度函数值之间的比例生长,换句话说,当()f H f >时,模式 H 的代表数字串在下一代中将会增多;当()f H f <时,模式H 的代表数字串在下一代中将会减少。群体()A t 中的任一模式H 在选择操作下都将按上述规律变化,这种对所有模式数量的增减在选择操作中是并行发生的,遗传算法中隐含的并行机制就在于此。

上面定量分析了选择对不同模式的影响,可以看出,在平均适应度函数值以上的模式数量将逐渐增加,平均适应度函数值以下的模式数量将逐渐消失。在此基础上,下面导出一个定量表达式。

假设某一特定模式H 的适应度函数值保持在高出群体平均适应度函数值以上一个Cf ,即()f H f Cf -=,C 为一常数,则模式H 的选择生长方程可变为:

从时间0t =代开始,模式H 的选择生长方程为:

至此选择的作用已清楚了。当常数C >0时,在群体平均适应度函数值以上的模

式数量将会按指数规律增长,而当常数C <0时,在群体平均适应度函数值以下的模式数量将会按指数规律减少。

在一定程度上,选择可以把按指数规律增长或减少的模式并行地遗传到下一代。一方面,许许多多不同的模式根据相同的规则,通过利用简单的选择算子被并行地处理;另一方面,仅仅只有选择操作并无助于搜索空间中新的区域,这是因为选择操作并没有搜索新的点。

3、交叉操作的效果

虽然选择对模式H 的数量的影响令人惊奇,但若无交叉操作,它就失去了意义,因为选择不会在数字串空间中产生新的点,它只是一种选择而已。因而,为了检测模式空间中新的区域,需要执行交叉操作。这里,仅考虑简单的一点交

叉的作用效果。

一点交叉过程首先是随机选择一对交配数字串,然后随机选择一个交叉位置,将其中一个数字串从交叉位置到右端的子串与另一个交配数字串对应的子串相交换。为了讨论方便,不妨考虑一个长度为6的串以及隐含其中的两个模式。

假定A 被选中进行交叉,而交叉点以等概率产生,即交叉点落在1、2、3、

4、5的概率相同。这里不妨假设交叉点为3,即交叉发生在位置3和位置4之间,并以分隔符“|”表示交叉泣置,即有

在这种情况下,除了与A 进行交叉的串(称作配偶)在确定位(比如位置2、

6)相同(这种可能性我们暂且不考虑)外,模式1H 将遭到破坏,因为位置2的

“1”和位置6的“0”在交叉产生的子代个体中将被替代为不同的值。比如A 的配偶为101001A '=,则产生的后代为1010001A =,2101001A =,都不是1H 的样本,即发生交叉后,模式1H 丢失了。而相同情况下,2H 却依然存在,因为不

论A 的配偶为任何串,2H 中确定位4的“1”和确定位5的“1”都将一块传入

子代。可能有的读者会问,假若交叉点在位置4,2H 不也会遭到破坏吗?不错!

但有一点可以看出,由于交叉点等概率产生,模式1H 遭破坏的概率(在位置2、

3、4、5交叉都遭破坏)大大超过模式2H (只在位置4交叉遭破坏),即2H 的“生命力”要强于1H 。

现在定量地讨论一下。我们注意到模式1H 的定义长度为4,那么交叉点在6-1=5个位置随机产生时,1H 遭破坏的概率为1()/(1)4/5d P H l δ=-=,换句话说,其生存概率为1/5;而模式2H 的定义长度为1,则2H 遭破坏的概率为2()/(1)1/5d P H l δ=-=,即生存概率为4/5。

更一般地讲,模式H 只有当交叉点落在定义长度之外才能生存。在简单交叉(单点交叉)下的H 的生存概率1()/(1)s P H l δ=--。而交叉本身也是以一定的概率c P 发生的,所以模式H 的生存概率为:

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

(8.3)

式(8.3)描述了模式在交叉算子作用下的生存概率。现在考虑模式H 在选择和交叉算子的共同作用下的变化。参照式(8.1)和式(8.3),则有:

相关文档
最新文档