許 波,彭志平,余建平,柯文德
(1.廣東石油化工學院計算機科學與技術系,廣東茂名525000;2.廣東高校石油化工過程裝備故障診斷與信息化控制工程技術開發(fā)中心,廣東茂名525000;3.湖南師范大學數學與計算機科學學院,長沙 410081)
量子遺傳算法(QGA)是近年發(fā)展起來的一種基于量子計算[1]原理的概率優(yōu)化算法,主要是在遺傳算法(GA)中引入量子計算的一些概念,使遺傳操作更有效,具有種群規(guī)模小但不影響算法性能,同時兼有全局尋優(yōu)能力強和收斂速度快的特點。Narayanan等[2]首次將量子計算理論與進化算法相結合,提出了QGA的概念,Han K H等[3~5]將QGA用于典型組合優(yōu)化問題——背包問題,實現了組合優(yōu)化問題的求解,之后關于QGA的研究成果大量出現在各種學術會議與期刊中。張葛祥等[6]提出一種新量子遺傳算法(NQGA),其核心是采用自適應調整搜索網格的策略與量子比特相位比較法更新量子門。李盼池[7]則利用實數變量和量子位構成實數染色體,并設計了互補變異算子來進化染色體。李士勇等[8,9]針對QGA不適于連續(xù)函數優(yōu)化的問題,提出改進的QGA,直接將量子染色體與當前最優(yōu)解相比較來確定旋轉門的旋轉角,種群中各個體以不同速率向最優(yōu)解進化,以同時實現全局搜索與局部搜索,引入變異操作以防止算法早熟收斂。張亮等[10]提出一種基于球面解空間劃分的QGA,引入多區(qū)域并行搜索機制,制定了群間的染色體置換策略,設計了新的量子變異操作,并以種群退化的程度來確定變異的概率。目前國內外各種QGA中有關量子旋轉門旋轉角的方向和大小幾乎都是基于查表法,涉及多路條件判斷,從而影響了算法的效率[11];變異概率大多采用給定的方式并且在進化過程中不作調整[12]。
2003年,Eusuff等結合混合競爭進化的思想在粒子群算法的基礎上提出了混合蛙跳算法(SFLA)[13,14]。SFLA是有限度隨機搜索與確定性競爭進化策略的有機結合,是一種新型的仿生進化算法。目前該算法已經在一些經典組合優(yōu)化問題上取得成功應用。為此,本文提出一種基于蛙跳思想的量子編碼遺傳算法(QRGA),該算法采用自適應的方式對量子旋轉門旋轉角進行調整,并基于模糊邏輯將蛙跳的步長進行量化以指導變異概率調整,保證進化的方向性和提高算法效率。
在QRGA中,染色體采用量子位表示,一個量子位的狀態(tài)可表示為
一個量子位可能處于0或1,或者處于0和1之間的中間態(tài),即0和1的不同疊加態(tài),其中α和β是復數,表示相應狀態(tài)的概率幅,且滿足下列歸一化條件
式(2)中,|α|2表示 |0> 的概率,|β|2表示 |1> 的概率。定義隨機生成的量子染色體群P={P1,P2,…,PF},其中采用量子比特幅編碼的染色體結構如下
式(3)中,m為染色體基因個數。
初始化時,令所有個體基因位的概率幅(α1,β1)都為(),這意味著整個解空間中所有可能解的取值概率相同,可行解是通過對一個用概率幅編碼的量子染色體進行“測量”來獲得的,某一位在某一次“測量”中取“0”還是取“1”的概率由其相應概率幅大小決定。測量過程是對一個用概率幅編碼的染色體進行測量獲得的一個確定的二進制表示的解。把每個量子染色體看成一個青蛙,那么對于量子染色體群P={P1,P2,…,PF}可看成含有F個青蛙的群體,對于解為t維的問題,第i個青蛙的位置為Xi=[xi1,xi2,…,xit]。生成群體之后,計算每個青蛙位置的適應度值f(Xi),將其從大到小進行排序。將排序后的青蛙按式(4)平均分配到m個族群,每個族群有k個青蛙,因此有F=m×k
式(4)中,Mi為第i個族群,族群中適應度函數值最小的青蛙位置用Xw表示。
量子門的構造是QGA的關鍵問題。量子門的類型有很多,目前在QGA中主要采用的是量子旋轉門[10]
量子旋轉門的更新過程如下
式(5)和(6)中,Δθ為旋轉角,在更新的過程中,它的大小和符號起關鍵作用,太大可能使結果發(fā)散或早熟收斂到局部最優(yōu)解,太小又會影響收斂速度。
為更好地利用量子旋轉門,根據蛙跳的思想將Δθ的大小設置為動態(tài)調整,大小與方向都不再使用傳統(tǒng)的查表方式,Δθ的具體計算方法如下
式(7)中,Xs為當前族群適應度最佳的青蛙位置;Xb為當前整個群體適應度最佳的青蛙位置;Xw為族群中適應度函數值最小的青蛙位置;r1和r2為[0,1]內的隨機數。利用式(7)自動調整量子門旋轉角度的大小和方向。這樣做有兩個主要的優(yōu)點:一是進化方程具有記憶特性,不僅利用整個群體最優(yōu)狀態(tài)的信息,也利用當前族群的局部最優(yōu)信息,從而更加合理地調整角度θ,具有更好跳出局部極值的能力;二是簡化了量子旋轉角更新過程,不涉及多路條件判斷。迭代更新后適應度值為,如優(yōu)于原適應度Xw,則用取代Xw;否則用式(8)代替
式(8)和(9)中,D為青蛙移動步長;Dmax和Dmin分別為青蛙位置所允許移動距離的最大值和最小值。
蛙跳算法中蛙跳的移動步長大小直接影響著算法的全局收斂性。當其較小時,青蛙可在局部區(qū)域內精細搜索,但容易陷入局部最優(yōu);當其較大時,有利于青蛙在全局范圍內廣泛搜索,但有可能越過最優(yōu)解[15]。本文利用模糊邏輯的方法將D量化為3級,語言變量分別取為大、中、小。青蛙Pi變異概率pm調整策略需同時考慮青蛙Pi的D值、Pi當前適應度值f(Xi)、當前整個群體適應度最佳的青蛙適應度值f(Xb)3個因素?,F定義規(guī)則如下。
1)若D為大且f(Xi)≥f(Xb),這表明當前青蛙Pi優(yōu)于整個群體適應度最佳的青蛙適應度值,且當前青蛙Pi有可能躍過最優(yōu)解,這不會影響到全局最優(yōu)解,因此變異概率pm不做調整。
2)若D為大且f(Xi)<f(Xb),這表明當前青蛙Pi次于整個群體適應度最佳的青蛙適應度值,且當前青蛙Pi有可能躍過最優(yōu)解,變異概率pm在原來的基礎上應向增大的方向調整。
南通地處沿海,多次遭受外敵入侵,在家鄉(xiāng)面臨生死存亡的關鍵時刻,有許多普通的人物英勇地站了出來與敵人周旋,譜寫了許多可歌可泣的英雄壯舉。這些是今天學習先進人物可以利用的資源,特別是學習英雄人物舍小家顧大家的高尚情懷,當個人的訴求、利益與社會、國家的需要利益發(fā)生矛盾時,能夠自覺以社會、國家的利益為重。
3)若D為中且f(Xi)≥f(Xb),這表明當前青蛙Pi優(yōu)于整個群體適應度最佳的青蛙適應度值,且當前青蛙Pi移動步長的大小比較合適,變異概率pm不做調整。
4)若D為中且f(Xi)<f(Xb),這表明當前青蛙Pi次于整個群體適應度最佳的青蛙適應度值,且當前青蛙Pi移動步長的大小比較合適,變異概率pm不做調整。
5)若D為小且f(Xi)≥f(Xb),這表明當前青蛙Pi優(yōu)于整個群體適應度最佳的青蛙適應度值,且當前青蛙Pi容易陷入局部最優(yōu),這會影響到局部搜索效果,變異概率pm在原來的基礎上向增大的方向調整。
6)若D為小且f(Xi)<f(Xb),這表明當前青蛙Pi次于整個群體適應度最佳的青蛙適應度值,且當前青蛙Pi容易陷入局部最優(yōu),這會影響到局部搜索效果,變異概率pm在原來的基礎上向增大的方向調整。具體變異概率選擇策略如表1所示。
表1 變異概率pm選擇策略Table 1 The selection strategy of mutation probability pm
為了充分考察和比較GA、文獻[10]的QGA、文獻[8]的雙鏈量子遺傳算法(DCQGA)和本文QRGA的性能,實驗通過求解0/1背包問題與典型的數值優(yōu)化函數來對這4個算法進行性能比較,以便于綜合比較算法在組合優(yōu)化以及數值優(yōu)化方面的收斂性及全局搜索能力。
針對傳統(tǒng)的典型組合優(yōu)化問題——0/1背包問題,本文對GA、QGA和QRGA進行了對比實驗。實驗參數設置如下:GA種群規(guī)模設為50,交叉概率為0.95,變異概率為0.5;QGA種群規(guī)模設為50,量子變異概率為0.5,概率幅旋轉角度Δθ=0.001×pi;QRGA采用種群規(guī)模設為50,量子變異概率為0.5。圖1給出了3種算法迭代次數為500的某一次進化曲線,圖2給出了3種算法迭代次數為300的某一次進化曲線。
圖1 3種算法的進化曲線對比(500次)Fig.1 The evolution curve comparison of the three algorithm s(500 statistics)
圖2 3種算法的進化曲線對比(300次)Fig.2 The evolution curve comparison of the three algorithms(300 statistics)
在圖1和圖2中,QRGA、QGA、GA分別在150代、300代、500代附近找到其較優(yōu)解,且較優(yōu)解的值依次減小,這是因為QRGA算法充分采用了旋轉角與變異概率的動態(tài)調整策略,收斂速度最快,在150代已得到較優(yōu)解,且較優(yōu)解值要優(yōu)于QGA和GA,這充分體現了QRGA收斂速度快和全局搜索能力強的特點。
針對數值優(yōu)化問題,本文采用DCQGA和QRGA同時求解標準數值優(yōu)化問題,以測試本文算法在數值優(yōu)化方面的性能。選取的兩個典型的測試函數均來自于參考文獻,為了更好地體現對比的可信性,測試函數F2選取文獻[8]中的測試函數。
測試函數2:F2(x,y)=0.5
此函數有無限個局部極大點,其中只有(0,0)為全局最大,自變量取值范圍為(-100,100),對比實驗結果如圖4和表2所示。
圖3 F1函數DCQGA和QRGA對比圖Fig.3 DCQGA and QRGA comparison chart of the F1 function
圖4 F2函數DCQGA和QRGA對比圖Fig.4 DCQGA and QRGA comparison chart of F2 function
表2 函數優(yōu)化結果對比(100次統(tǒng)計結果)Table 2 Results contrast of function optimization(100 statistical results)
圖3、圖4描繪了兩種算法在最優(yōu)值隨迭代數變化的情況,其中點畫線代表本文算法,表2給出了兩種算法在函數優(yōu)化的100次統(tǒng)計結果對比。從圖3、圖4以及表2可以看出,對于F1和F2,在進化初期QRGA的收斂速度明顯優(yōu)于DCQGA,并且在整個進化過程中QRGA始終保持較快的收斂速度,同時QRGA的求解質量也優(yōu)于DCQGA。
綜上所述,本文的算法充分采用了旋轉角以及變異概率的動態(tài)調整策略,使量子態(tài)的干涉性和糾纏性等優(yōu)勢特性得到更好的體現,具有運行時間短、收斂速度快、全局尋優(yōu)能力強等優(yōu)點,能較好地適用組合優(yōu)化與數值優(yōu)化問題的要求。
本文提出一種基于蛙跳思想的QRGA,采用自適應的方式對量子旋轉門旋轉角與變異概率進行調整,保證了進化的方向性和種群的多樣性,實驗結果表明該算法能快速收斂到全局最優(yōu),在運行時間以及解的質量上取得了較好的效果。如何對算法的理論進行分析以及拓寬算法在優(yōu)化問題中的應用范圍將是下一步的研究方向。
[1] Tony H.Quantum computing:A ll Introductions[J].Computing&Control Engineering Journal,1996,l0(3):105-112.
[2] Narayanan A,Moore M.Quantum-Inspired Genetic A lgorithm[C]//Proceedings of IEEE International Conference on Evolutionary Computation.Piscataway,1996.
[3] Han K H,Park K H,Lee CH.Parallel quantum inspired genetic algorithm for combinatorial optimization problem[J].IEEE Transactions on Evolutionary Computation,2001,5(1):1422-1429.
[4] Guo J,Sun L,Wang R.An improved quantum genetic algorithm[J].Genetic and Evolutionary Computing,2009,10(1):14-18.
[5] Malossini A,Blanzieri E,Calarco T.Quantum genetic optimization[J].IEEE Transactions on Evolutionary Computation,2008,12(2):231-241.
[6] 張葛祥,李 娜,金煒東,等.一種新量子遺傳算法及其應用[J].電子學報,2004,32(3):476-479.
[7] 李盼池.基于量子位Bloch坐標的量子遺傳算法及其應用[J].控制理論與應用,2008,25(6):985-989.
[8] 李士勇,李盼池.基于實數編碼和目標函數梯度的量子遺傳算法[J].哈爾濱工業(yè)大學學報,2006,38(8):1216-1218,1223.
[9] 李士勇,李 浩.一種基于相位比較的量子遺傳算法[J].系統(tǒng)工程與電子技術,2010,32(10):2219-2222.
[10] 張 亮,陸余良,楊國正,等.基于球面多區(qū)域劃分的并行量子遺傳算法[J].電子與信息學報,2011,33(5):1035-1041.
[11] Zhao S,Xu G,Tao T.Real-coded chaotic quantum-inspired genetic algorithm for training of fuzzy neural networks[J].Computers and Mathematics with Applications,2009,57(11/12):2009-2015.
[12] Gu Jinwei,Gu Manzhan,Cao Cuiwen,et al.A novel competitive co-evolutionary quantum genetic algorithm for stochastic job shop scheduling problem[J].Computers and Operations Research,2010,37(5):927-937.
[13] 羅雪暉,楊 燁,李 霞.改進混合蛙跳算法求解旅行商問題[J].通信學報,2009,30(7):130-135.
[14] Sun X,Wang Z Q,Zhang D X.A web document classification method based on shuffled frog leaping algorithm[C]//Second International Conference on Genetic and Evolutionary Computing(WGEC 2003).Jingzhou,2008:205-208.
[15] 駱劍平,李 霞.求解TSP的改進混合蛙跳算法[J].深圳大學學報:理工版,2010,27(2):173-179.