所谓某个值域块Ri的最优匹配定义域就是:在f映射下,定义域块和值域块使(1)式最小。利用Janquin方法进行编码,为了找到具有最小误差Err的定义域块,即最优匹配定义域块,每一个值域块Ri需要匹配的定义域块数为(假设图像、定义域块以及值域块都是正方形):Num=(图像大小-定义域块大小+1)2×仿射变换种数例如,对于一个大小为256×256的图像,假如选取值域块为16×16,定义块为32×32,则每个值域块要搜索的定义域块为50625。可见该匹配过程的计算量非常大。2 代间差分遗传算法的基本思想遗传算法是一种具有内在并行性的优化算法,本文试图利用遗传算法的优化能力改善编码过程。同时针对分形编码过程的特点,为了提高算法的收敛速度,对遗传算法进行了改进,提出了带有代间差分杂交算子的遗传算法。遗传算法中的杂交算子是一类非常重要的算子,杂交算子的性以也直接影响整个算法的收敛速度。本文提出的代间差分霜交算子其思想为:遗传算法是根据自然界中生物进化、适者生存的思想而发展的一种优化算法;随着种群进化代数的增加,在选择算子等的作用下,种群的平均适应值将以大概率增加。这样有理由假定种群的适应值将随着进化代数的增加而单调增加,从相邻两代种群中随机选择一个个体,则两个个体的差以一定概率代表了种群适应值增加的方向,也就是所希望的进化方向。因此可以利用相邻两代种群中个体的差来构成新的杂交算子,以产生新的个体,该新个体将以更高的概率向量优解靠近。
其中[·]表示取整函数,α、β、λ为小于1的正常数。xnbest、xn-1best分别是第n代和n-1代中适应度最好的个体。又按下式计算个体x:
即在新种群产生后,又进行如下操作:从新种群中随机选择一个个体,假如该个体适应度比x好,则保持不变,否则用x代替该个体。(4)式中α、λ的取值可以与(3)式相同也可以不同,本文中取值相同。3.3 式间差分遗传算法的实现设种群的规模为N,则代间差分遗传算法的基本结构为:{分配三代进化种群的内存匹配,其内存指针分别用pt-1,p+1表示;t=1;随机初始化种群pt-1,pt,pt+1;计算pt-1,pt中个体的适应值;]while(不满足终止条件)do{根据个体的适应值及选择策略,计算丙代种群pt-1,pt内个体的选择概率pi;复制pt中适应值最好的个体到pt+1中;while(pt+1中的个体全部被更新)do{从pt-1,pt中随机选择一个个体,按杂交概率用代间差分杂交算子产生新个体;按变异概率用变异算子作用新个体;}计算pt+1中个体的适应值;按(3)式计算xi并计算xi的适应值,从Pi+1中随机选择x(t+1)l;假如xi的适应值比x(t+1)l好,则把xi复制到x(t+1)l在Pt+1中的位置;否则保持不变;pTmp=pt-1;pt-1=pt;pt=pTmp;t=t+1;}}
新闻热点
疑难解答