设N为种群规模,G为进化代数,K为挖掘间隔代数,L为个体模式长度,T为更新适应度等级阈值的间隔代数,H(H≥3)表示允许划分的子种群数量,则重用最大频繁模式的可持续进化算法形式化描述如下:
1)初始化种群,G:=0;
2)计算个体适应度值;
3)若G%T=0,则按给定的适应度等级阈值将个体划分,并将其分配到不同层次的子种群;
4)各子种群独立进行选择、交叉和变异操作;
5)若G%K=0,运用MFSPMA进行最大频繁模式挖掘,转至步骤6),否则转至步骤7);
6)选用合适的最大频繁模式随机生成新个体;(www.xing528.com)
7)若G%T=0,更新子种群输入阈值;
8)若满足终止条件,结束进化并输出结果,否则转至步骤2),G:=G+1。
假定整个种群的平均适应度值为fμ,所有个体适应度值的标准差为σf,整个种群的最大适应度值为fmax,第i层的输入阈值为fi,步骤3)中进行子种群划分时,第0、1与H-1层子种群初始输入阈值的确定方法按式(3-1)计算,其余H-2个适应度等级的输入阈值由式(3-2)确定。这种种群初始化方法首先设置顶层的适应度范围[fmax-σf,fmax]和低层的适应度范围[-∞,fμ],然后在[fμ,fmax-σf-fμ]之间为剩余的H-1个等级平均地分配适应度范围。
步骤5)中,在需要进行最大频繁模式挖掘时,采用3.1.3节所描述的最大频繁序列模式的挖掘算法对当前最优个体集合挖掘最大频繁序列模式。步骤6)中生成新的个体基于Metropolis准则[10]判定是否接收,被接收的个体分别以50%的概率置于模式母体所存在的子种群与低级种群。步骤7)中达到输入阈值更新间隔时,重新计算fmax,并将σf值更新为顶层种群的适应度标准差。为避免最大适应度值变化过快,假定第i层适应度等级未曾更新时适应度阈值为A(fi),根据式(3-2)求出的第i层适应度等级预期的适应度阈值为E(fi),则使用自适应率ξ来决定当前输入阈值N(fi),具体按式(3-3)计算。
N(fi)=A(fi)(1-ξ)+E(fi)ξ (3-3)
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。