遗传算法模式理论学习教案.ppt
上传人:王子****青蛙 上传时间:2024-09-13 格式:PPT 页数:25 大小:2.2MB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

遗传算法模式理论学习教案.ppt

遗传算法模式理论学习教案.ppt

预览

免费试读已结束,剩余 15 页请下载文档后查看

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

会计学[分析]•当编码的最左边字符为“1”时,其个体适应度较大,如2号个体和4号个体,我们将其记为“1****”;其中2号个体适应度最大,其编码的左边两位都是1,我们记为“11***”;•当编码的最左边字符为“0”时,其个体适应度较小,如1号和3号个体,我们记为“0****”。[结论]从这个例子可以看比,我们在分析编码字符串时,常常只关心某一位或某几位字符,而对其他字符不关心。换句话讲.我们只关心字符的某些特定形式,如1****,11***,0****。这种特定的形式就叫模式。3.1.2模式、模式阶及模式定义长度模式(Schema)——指编码的字符串中具有类似(lèisì)特征的子集。以五位二进制字符串为例,模式*111*可代表4个个体:01110,01111,11110,11111;模式*0000则代表2个个体:10000,00000。•个体是由二值字符集V={0,1}中的元素所组成的一个编码串;•而模式却是由三值字符集V={0,1,*}中的元素所组成的一个编码串,其中“*”表示通配符,它既可被当作“1”也可被当作“0”。模式阶(SchemaOrder)——指模式中已有明确含意(二进制字符时指0或1)的字符个数,记做o(s),式中s代表模式。例如,模式(011*1**)含有4个明确含意的字符,其阶次是4,记作o(011*1**)=4;模式(0******)的阶次是1,记作o(0******)=1。•阶次越低,模式的概括性越强,所代表的编码串个体数也越多,反之亦然;•当模式阶次为零时,它没有明确含义(hányì)的字符,其概括性最强。模式的定义长度(SchemaDefiningLength)——指模式中第一个和最后一个具有明确含意的字符之间的距离,记作(s)。例如,模式(011*l**)的第一个字符为0,最后一个字符为l,中间有3个字符,其定义长度为4,记作(011*l**)=4;模式(0******)的长度是0,记作(0******)=0;•一般地,有式子(s)=b–a式中b—模式s中最后一个明确字符的位置;a—模式s中最前一个明确字符的位置。•模式的长度代表该模式在今后遗传操作(交叉、变异)中被破坏(pòhuài)的可能性:模式长度越短,被破坏(pòhuài)的可能性越小,长度为0的模式最难被破坏(pòhuài)。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,每个字符只能(zhīnénꞬ)在已定值(0/1)或*中选取;前面所述的n1指字符串未确定,每个字符可在{0,1,*}三者中选取。•一般情况下长度为l、取值有k种的某一字符串,它可能含有的模式数目最多为:n2=kl(3)群体所含模式数在长度为l,规模为M的二进制编码字符串群体中,一般包含有2l~M·2l个模式。3.2模式定理由前面的叙述我们可以知道,在引入模式的概念之后,遗传算法的实质可看作是对模式的一种运算。对基本遗传算法(GA)而言,也就是某一模式s的各个样本经过选择运算、交义运算、变异运算之后,得到一些新的样本和新的模式。3.2.1复制时的模式数目这里以比例选择算子为例研究(yánjiū)。[公式推导](1)假设在第t次迭代时,群体P(t)中有M个个体,其中m个个体属于模式s,记作m(s,t)。(2)个体ai按其适应度fi的大小进行复制。从统计意义讲,个体ai被复制的概率pi是:(4)设第t代所有个体(不论它属于(shǔyú)何种模式)的平均适应度是,有等式:[进一步推导](1)假设某一模式(móshì)s在复制过程中其平均适应度比群体的平均适应度高出一个定值,其中c为常数,则上式改写为:3.2.2交叉时的模式数目这里以单点交叉算子为例研究。[举例](1)有两个模式s1:“*1****0”s2:“***10**”它们有一个共同的可匹配的个体(可与模式匹配的个体称为模式的表示)a:“0111000”(2)选择个体a进行交叉(3)随机选择交叉点s1:“*1****0”交叉点选在第2~6之间都可能破坏模式s1;s2:“***10**”交叉点在第4~5之间才破坏