是JHHolland教授创立的模式理论该理论揭示了遗传算法_第1页
是JHHolland教授创立的模式理论该理论揭示了遗传算法_第2页
是JHHolland教授创立的模式理论该理论揭示了遗传算法_第3页
是JHHolland教授创立的模式理论该理论揭示了遗传算法_第4页
是JHHolland教授创立的模式理论该理论揭示了遗传算法_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 指导遗传算法的基本理论,是指导遗传算法的基本理论,是J.H.Holland教授创立的教授创立的模式理论模式理论。该理论揭示。该理论揭示 了遗传算法的基本机理。了遗传算法的基本机理。 例:例: 求求 max f(x)=x2 x 0,31 分析分析 当编码的最左边字符为当编码的最左边字符为“1”时,其个体适应度较大,如时,其个体适应度较大,如2号个体和号个体和4号个体,号个体, 我们将其记为我们将其记为 “ 1* ”; 其中其中2号个体适应度最大,其编码的左边两位都是号个体适应度最大,其编码的左边两位都是1,我们记为,我们记为 “ 11* ”; 当编码的最左边字符为当编码的最左边字符为“0”时,

2、其个体适应度较小,如时,其个体适应度较小,如1号和号和3号个体,号个体, 我们记为我们记为 “ 0* ”。 结论结论 从这个例子可以看比,我们在分析编码字符串时,常常只关心某一位或某几位从这个例子可以看比,我们在分析编码字符串时,常常只关心某一位或某几位字符,而对其他字符不关心。换句话讲我们只关心字符的某些特定形式,如字符,而对其他字符不关心。换句话讲我们只关心字符的某些特定形式,如 1*,11*,0*。这种特定的形式就叫。这种特定的形式就叫模式模式。 指指编码的字编码的字符串中具符串中具有有类似特征的子集。类似特征的子集。 以五以五位位二进制字符二进制字符串串为例,为例, 模式模式 可代表可

3、代表4个个体:个个体: 01110,01111,11110,11111; 模式模式 则代表则代表2个个体:个个体:10000,00000 。 个体个体是由二值字符集是由二值字符集 V=0, 1 中的元素所组成的一个编码串中的元素所组成的一个编码串; 而而模式模式却是由三值字符集却是由三值字符集 V=0, 1,* 中的元素所组成的一个编码串,其中中的元素所组成的一个编码串,其中 “ ” 表示通配符,它既可被当作表示通配符,它既可被当作 “1” 也可被当作也可被当作 “0”。 指模式中已有明确含意指模式中已有明确含意(二进制字符时指二进制字符时指0或或1)的字符个数,的字符个数, 记做记做 o(s

4、),式中,式中 s 代表模式。代表模式。 例如,模式例如,模式 ( 011*1* ) 含有含有4个明确含意的字符,其阶次是个明确含意的字符,其阶次是4, 记作记作 o( 011*1* ) =4; 模式模式 ( 0* ) 的阶次是的阶次是1,记作,记作 o( 0* ) =1。 当模式阶次为零时,它没有明确含义的字符,其概括性最强。当模式阶次为零时,它没有明确含义的字符,其概括性最强。 指模式中第一个和最后一个具有明确含意的字符之间的距离,记作指模式中第一个和最后一个具有明确含意的字符之间的距离,记作 (s)。 例如,模式例如,模式( 011*l* ) 的第一个字符为的第一个字符为0,最后一个字符

5、为,最后一个字符为l,中间有,中间有3个字个字 符,其定义长度为符,其定义长度为4,记作,记作 ( 011*l* ) = 4 ; 模式模式 ( 0* ) 的长度是的长度是0,记作,记作 ( 0* ) = 0 ; 一般地,有式子一般地,有式子 (s)b a 式中式中 b模式模式s 中最后一个明确字符的位置中最后一个明确字符的位置; a模式模式s 中最前一个明确字符的位置。中最前一个明确字符的位置。 二进制字符串二进制字符串 假设字符的长度为假设字符的长度为l,字符串中每一个字符可取,字符串中每一个字符可取( 0, 1, * ) 三个符号中任意三个符号中任意 一个,可能组成的模式数目最多为:一个,

6、可能组成的模式数目最多为: 3 3 3 3 = 一般情况下一般情况下, 假设字符串长度为假设字符串长度为l,字符的取值为,字符的取值为 k 种,字符串组成的模式数目种,字符串组成的模式数目 n1 最多最多 为:为: n1=(k+1)l 二进制字符串二进制字符串 对于长度为对于长度为l的某二进制字符串,它含有的模式总数最多为:的某二进制字符串,它含有的模式总数最多为: 2 2 2 2 = 注意注意 这个数目是指字符串已确定为这个数目是指字符串已确定为0或或1,每个字符只能在已定值,每个字符只能在已定值 (0/1)或或 * 中选取;中选取; 前面所述的前面所述的 n1 指字符串未确定,每个字符可在

7、指字符串未确定,每个字符可在0, 1, * 三者中选取。三者中选取。 一般情况下一般情况下 长度为长度为l、取值有、取值有 k 种的某一字符串,它可能含有的模式数目最多为:种的某一字符串,它可能含有的模式数目最多为: n2 = kl 在长度为在长度为l,规模为规模为M的二进制编码字符串群体中,一般包含有的二进制编码字符串群体中,一般包含有2l M 2l个个 模式。模式。 由前面的叙述我们可以知道,在引入模式的概念之后,遗传算法的实质可看由前面的叙述我们可以知道,在引入模式的概念之后,遗传算法的实质可看 作是对模式的一种运算。对基本遗传算法作是对模式的一种运算。对基本遗传算法(GA)而言,也就是

8、某一模式而言,也就是某一模式s 的各个的各个 样本经过选择运算、交义运算、变异运算之后,得到一些新的样本和新的模式。样本经过选择运算、交义运算、变异运算之后,得到一些新的样本和新的模式。 这里以比例选择算子为例研究。这里以比例选择算子为例研究。 (1) 假设在第假设在第t次迭代时次迭代时, 群体群体P(t)中有中有M个个体个个体, 其中其中m个个体属于模式个个体属于模式s, 记作记作m(s,t)。 (2) 个体个体 ai 按其适应度按其适应度 fi 的大小进行复制。的大小进行复制。 从统计意义讲,个体从统计意义讲,个体ai被复制的概率被复制的概率pi是:是: M1jii) j ( ffp(3)

9、 因此复制后在下一代群体因此复制后在下一代群体 P(t+1)中,群体内属于模式中,群体内属于模式s(或称与模式(或称与模式s匹配)匹配) 的个体数目的个体数目 m(s,t+1) 可用平均适应度按下式近似计算:可用平均适应度按下式近似计算: M1j) j (fM) t , s (m)1t , s (mf(s)式中式中 第第t代属于模式代属于模式 s 的所有的所有 个体之平均适应度;个体之平均适应度; M群体中拥有的个体数目。群体中拥有的个体数目。f(s) (4) 设第设第t代所有个体代所有个体(不论它属于何种模式不论它属于何种模式)的平均适应度是的平均适应度是 , 有等式有等式:f(5) 综合上

10、述两式,复制后模式综合上述两式,复制后模式s所拥有的个体数目可按下式近似计算:所拥有的个体数目可按下式近似计算:M) j(fM1j f ) t , s (m)1t , s (mff(s) 模式模式s 的这种增减规律,正好符合复制操作的的这种增减规律,正好符合复制操作的“优胜劣汰优胜劣汰”原则,这也说明原则,这也说明模模 式的确能描述编码字符串的内部特征。式的确能描述编码字符串的内部特征。f(s)ff(s)f (1) 假设某一模式假设某一模式s 在复制过程中其平均适应度在复制过程中其平均适应度 比群体的平均适应度比群体的平均适应度 高高 出一个定值出一个定值 ,其中,其中c 为常数,则上式改写为

11、:为常数,则上式改写为:ff(s) c f ) t , s (m)1t , s (mf c ff += m( s, t ) (1+c ) (2) 从第一代开始,若模式从第一代开始,若模式s 以常数以常数c 繁殖到第繁殖到第 t+1代,其个体数目为:代,其个体数目为: m( s, t+1 ) = m( s, 1 ) (1+c )t 这里以单点交叉算子为例研究。这里以单点交叉算子为例研究。 (1) 有两个模式有两个模式 s1: “ * 1 * * * * 0 ” s2: “ * * * 1 0 * * ” 它们有一个共同的可匹配的个体(可与模式匹配的个体称为模式的表示)它们有一个共同的可匹配的个体

12、(可与模式匹配的个体称为模式的表示) a: “ 0 1 1 1 0 0 0 ” (2) 选择个体选择个体a 进行交叉进行交叉 (3) 随机选择交叉点随机选择交叉点 s1: “ * 1 * * * * 0 ” 交叉点选在第交叉点选在第 2 6 之间都可能破坏模式之间都可能破坏模式s1; s2: “ * * * 1 0 * * ” 交叉点在交叉点在 第第 4 5之间才破坏之间才破坏s2。 (1) 交换发生在模式交换发生在模式s 的定义长度的定义长度 (s)范围内,即模式被破坏的概率是:范围内,即模式被破坏的概率是:例:例: s1 被破坏的概率为:被破坏的概率为:5/6 s2 被破坏的概率为:被破坏

13、的概率为:1/6 1 ) s (pd l (2) 模式不被破坏,存活下来的概率为:模式不被破坏,存活下来的概率为: (3) 若交叉概率为若交叉概率为pc,则模式存活下来的概率为:,则模式存活下来的概率为: (4) 经复制、交叉操作后,模式经复制、交叉操作后,模式s在下一在下一 代群体中所拥有的个体数目为:代群体中所拥有的个体数目为:) s (1p1pds l-1 1) s (p1pcs l-1 1 ),()1,(tsmtsmff(s) ) s (p1cl-1 1 这里以基本位变异算子为例研究。这里以基本位变异算子为例研究。 (1) 变异时个体的每一位发生变化的概率是变异概率变异时个体的每一位发

14、生变化的概率是变异概率pm,也就是说,每一位存,也就是说,每一位存 活的概率是活的概率是(1- pm)。根据模式的阶。根据模式的阶o(s),可知模式中有明确含意的字符有,可知模式中有明确含意的字符有o(s) 个,于是模式个,于是模式s 存活的概率是:存活的概率是: )s (oms)p1(p (2) 通常通常 pm1,上式用泰勒级数展开取一次项,可近似表达为:,上式用泰勒级数展开取一次项,可近似表达为: ps 1 pm o(s) 综合式综合式、 可以得出遗传算法经复制、交叉、变异操作后,模式可以得出遗传算法经复制、交叉、变异操作后,模式s在在 下一代群体中所拥有的个体数目,如下式所示:下一代群体

15、中所拥有的个体数目,如下式所示: 模式定理深刻地阐明了遗传算法中发生模式定理深刻地阐明了遗传算法中发生“优胜劣汰优胜劣汰”的原因。在遗传过程的原因。在遗传过程中中 能存活的模式都是定义长度短、阶次低、平均适应度高于群体平均适应度的能存活的模式都是定义长度短、阶次低、平均适应度高于群体平均适应度的 优良模式。遗传算法正是利用这些优良模式逐步进化到最优解。优良模式。遗传算法正是利用这些优良模式逐步进化到最优解。 ) t , s (m)1t , s (mff(s) ) s (op) s (p1mcl-1 1 例:例: 求求 max f(x)=x2 x 0,31个个 体体 变变 化化叉叉叉叉S1S2S

16、3叉叉 以以 max f(x)=x2 x 0,31 为例,为例, 图中:横坐标表示图中:横坐标表示x, 纵坐标代表适应度纵坐标代表适应度f(x)=x2,用千分数表示,用千分数表示, 弧线表示适应度曲线,弧线表示适应度曲线, 网点区代表所有符合此模式的个体集合。网点区代表所有符合此模式的个体集合。 模式模式1:1*模式模式2:10*模式模式3:*1*1 模式定理告诉我们:模式定理告诉我们: 前面我们已经介绍了前面我们已经介绍了GA如何划分搜索空间和在各个子空间中分配搜索次数,如何划分搜索空间和在各个子空间中分配搜索次数, 那么那么GA如何利用搜索过程中的积累信息加快搜索速度呢?如何利用搜索过程中

17、的积累信息加快搜索速度呢? Holland 和和 Goldberg在模式定理的基础上提出了在模式定理的基础上提出了“建筑块假说建筑块假说”。 短定义长度、低阶、高适应度的模式。短定义长度、低阶、高适应度的模式。 之所以称之为建筑块(积木块),是由于遗传算法的求解过程并不是在搜之所以称之为建筑块(积木块),是由于遗传算法的求解过程并不是在搜 索空间中逐一地测试各个基因的枚举组合,而是通过一些较好的模式,像索空间中逐一地测试各个基因的枚举组合,而是通过一些较好的模式,像 搭积木一样、将它们拼接在一起,从而逐渐地构造出适应度越来越高的个搭积木一样、将它们拼接在一起,从而逐渐地构造出适应度越来越高的个

18、 体编码串。体编码串。 GA在搜索过程中将不同的在搜索过程中将不同的“建筑块建筑块”通过遗传算子(如交叉算子)的通过遗传算子(如交叉算子)的作作 用结合在一起,形成适应度更高的新模式。这样将大大缩小用结合在一起,形成适应度更高的新模式。这样将大大缩小GA的搜索范的搜索范 围。围。 建筑块通过遗传算子的作用集合在一起的过程称为建筑块通过遗传算子的作用集合在一起的过程称为“建筑块混合建筑块混合”。 当那些构成最优点(或近似最优点)的当那些构成最优点(或近似最优点)的“建筑块建筑块”结合在一起时,就得到了最优结合在一起时,就得到了最优点。点。 问题的最优用三个建筑块问题的最优用三个建筑块 BB1,

19、BB2, BB3 表示;表示; 群体中有群体中有8个个体。个个体。 初始群体中个体初始群体中个体1,个体,个体2包含建筑块包含建筑块BB1 ,个体,个体3包含包含BB3 ,个体个体5包含包含BB2 。P1P2P3P4P5P6P7P8BB1BB2BB1BB3P1P2P3P4P5P6P7P8BB2BB3BB1BB3BB1BB2BB1BB1BB2BB3P1P2P3P4P5P6P7P8BB2BB3BB1BB3BB1BB2BB1BB1BB2BB3BB2BB3初始群体初始群体第二代群体第二代群体第三代群体第三代群体说明:说明:第三代群体中第三代群体中出现了一个包出现了一个包含三个含三个“建筑块建筑块”的个

20、体的个体3。个体个体3就代表这就代表这个问题的最优解。个问题的最优解。 隐含并行性(隐含并行性(Implicit Parallelism)是模式理论的另一个重要内容。)是模式理论的另一个重要内容。 这一机理说明,在遗传算法中尽管每一代只处理这一机理说明,在遗传算法中尽管每一代只处理M个个体,但实际上却是处理个个体,但实际上却是处理 了了M3以上的模式。以上的模式。 设设 ( 0, 1 ) 是一个很小的数,是一个很小的数,模式存活的最小长度模式存活的最小长度 , 群体规模为群体规模为 , 则则GA在一次迭代中所处理的在一次迭代中所处理的“存活率存活率”大于大于 (1- ) 的模的模式式 数约为数

21、约为O(M3) 。其中。其中 表示上取值。表示上取值。 1) 1( lls2/2slM 以二进制编码为例。在长度为以二进制编码为例。在长度为l,规模为,规模为M的群体中,包含了的群体中,包含了 2l M2l 个不个不 同的模式,随着进化过程的进行,这些模式中一些定义长度较长的模式被破同的模式,随着进化过程的进行,这些模式中一些定义长度较长的模式被破 坏掉,而另一些定义长度较短的模式却能够生存下来。坏掉,而另一些定义长度较短的模式却能够生存下来。 从模式定理中可以看出,模式在交叉和变异时可能遭破坏。从模式定理中可以看出,模式在交叉和变异时可能遭破坏。 由于变异概率很小,在此只考虑交叉的破坏(此式

22、也可兼顾变异的破坏因素由于变异概率很小,在此只考虑交叉的破坏(此式也可兼顾变异的破坏因素)。 模式被破坏的概率为:模式被破坏的概率为:1 )s(pd l 为保证模式的存活率为保证模式的存活率 , 令令pd ,即:,即: 1)(ls)1()( lssl 根据模式定义长度的定义,模式不被破坏的最小长度根据模式定义长度的定义,模式不被破坏的最小长度 是:是:sl1)( sls 带入上式得:带入上式得:1)1( lls 示例示例 假设下述个体编码字符串的长度假设下述个体编码字符串的长度 l10, 1 0 1 1 1 0 0 0 1 0 设模式设模式s 的存活长度的存活长度 5。 . 将它放置在个体字符

23、串的最左侧,则有:将它放置在个体字符串的最左侧,则有: 1 0 1 1 1 0 0 0 1 0 写成模式的形式,上述字符串变为:写成模式的形式,上述字符串变为: % % % % 1 % % % % 1 * * * * * * * * * * 方框中方框中% %可在可在 0, 1, * 三者中任取一个。也就是说,可为固定值三者中任取一个。也就是说,可为固定值 ( 0/1 ) 或不固定值或不固定值(*)两种情况。两种情况。 方框内的方框内的1表示有一个确定的模式,也可以选方框内的其他固定值表示。表示有一个确定的模式,也可以选方框内的其他固定值表示。 这时,可以组成的模式个数是:这时,可以组成的模式个数是: 2 2 2 = . 将上述方框右移一位将上述方框右移一位 其模式表达为:其模式表达为: 1 0 1 1 1 0 0 0 1 0 * % % % % 0 % % % % 0 * * *

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论