导遗传算法的基本理论,是J.H.Holland教授创立的模式理论。该理论揭示
了遗传算法的基本机理。
3.1 基本概念
3.1.1 问题的引出
例: 求 max f(x)=x2 x {0,31}
[分析]
• 当编码的最左边字符为“1”时,其个体适应度较大,如2号个体和4号个体,
我们将其记为 “ 1**** ”;
其中2号个体适应度最大,其编码的左边两位都是1,我们记为 “ 11*** ”;
• 当编码的最左边字符为“0”时,其个体适应度较小,如1号和3号个体,
我们记为 “ 0**** ”。
[结论]
从这个例子可以看比,我们在分析编码字符串时,常常只关心某一位或某几位字符,而对其他字符不关心。换句话讲.我们只关心字符的某些特定形式,如
1****,11***,0****。这种特定的形式就叫模式。
3.1.2 模式、模式阶及模式定义长度
模式(Schema)——指编码的字符串中具有类似特征的子集。
以五位二进制字符串为例,
模式 *111* 可代表4个个体: 01110,01111,11110,11111;
模式 *0000 则代表2个个体:10000,00000 。
• 个体是由二值字符集 V={0, 1} 中的元素所组成的一个编码串;
• 而模式却是由三值字符集 V={0, 1,* } 中的元素所组成的一个编码串,其中
“ * ” 表示通配符,它既可被当作 “1” 也可被当作 “0”。
模式阶 (Schema Order)
——指模式中已有明确含意(二进制字符时指0或1)的字符个数,
记做 o(s),式中 s 代表模式。
例如,模式 ( 011*1** ) 含有4个明确含意的字符,其阶次是4,
记作 o( 011*1** ) =4;
模式 ( 0****** ) 的阶次是1,记作 o( 0****** ) =1。
• 阶次越低,模式的概括性越强,所代表的编码串个体数也越多,反之亦然;
• 当模式阶次为零时,它没有明确含义的字符,其概括性最强。
模式的定义长度( Schema Defining Length)
——指模式中第一个和最后一个具有明确含意的字符之间的距离,记作 (s)。
例如,模式( 011*l** ) 的第一个字符为0,最后一个字符为l,中间有3个字
符,其定义长度为4,记作 ( 011*l** ) = 4 ;
模式 ( 0****** ) 的长度是0,记作 ( 0****** ) = 0 ;
• 一般地,有式子
(s)=b – a
式中 b—模式s 中最后一个明确字符的位置;
a—模式s 中最前一个明确字符的位置。
• 模式的长度代表该模式在今后遗传操作(交叉、变异)中被破坏的可能性:
模式长度越短,被破坏的可能性越小,长度为0的模式最难被破坏。
3.1.3 编码字符串的模式数目
(1) 模式总数
• 二进制字符串
假设字符的长度为l,字符串中每一个字符可取( 0, 1, * ) 三个符号中任意
一个,可能组成的模式数目最多为:
3 3 3 … 3 = (2+1)l
• 一般情况下,
假设字符串长度为l,字符的取值为 k 种,字符串组成的模式数目 n1 最多
为: n1=(k+1)l
(2) 编码字符串(一个个体编码串)所含模式总数
• 二进制字符串
对于长度为l的某二进制字符串,它含有的模式总数最多为:
2 2 2 … 2 = 2l
[注意]
这个数目是指字符串已确定为0或1,每个字符只能在已定值 (0/1)或
* 中选取;
前面所述的 n1 指字符串未确定,每个字符可在{0, 1, * }三者中选取。
• 一般情况下
长度为l、取值有 k 种的某一字符串,它可能含有的模式数目最多为:
n2 = kl
(3) 群体所含模式数
在长度为l,规模为M的二进制编码字符串群体中,一般包含有2l ~ M · 2l个
模式。
3.2 模式定理
由前面的叙述我们可以知道,在引入模式的概念之后,遗传算法的实质可看
作是对模式的一种运算。对基本遗传算法(GA)而言,也就是某一模式s 的各个
样本经过选择运算、交义运算、变异运算之后,得到一些新的样本和新的模式。
3.2.1 复制时的模式数目
这里以比例选择算子为例研究。
[公式推导]
(1) 假设在第t次迭代时, 群体P(t)中有M个个体, 其中m个个体属于模式s, 记作m(s,t)。
(2) 个体 ai 按其适应度 fi 的大小进行复制。
从统计意义讲,个体ai被复制的概率pi是:
(3) 因此复制后在下一代群体 P(t+1)中,群体内属于模式s(或称与模式s匹配)
的个体数目 m(s,t+1) 可用平均适应度按下式近似计算:
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !