所謂某個值域塊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;}}
新聞熱點
疑難解答