北京信息科技大學計算機學院 崔光松
隨著人工智能的快速發(fā)展,越來越多的機器人具有了和人類一樣的能力,為了讓機器人更加智能,不斷有科學家對相關(guān)算法進行改進。帶有遺傳因子的煙花算法是基于煙花算法改進的一種算法。該算法在煙花算法[1]中融入了遺傳算法思想,與原算法相比在尋優(yōu)能力和尋優(yōu)精度等方面具有較高性能。GAFEO算法主要在原算法里添加了爆點分析、智能分布式搜索以及生物學中的種間更替思想。爆點分析[2]的引入主要解決了在爆點范圍較大的情況下,爆炸產(chǎn)生的目標發(fā)生聚集而產(chǎn)生不相關(guān)搜索影響算法搜尋效率的問題;智能分布式搜索的引入主要解決了因爆炸瞬間產(chǎn)生局部和全局分層現(xiàn)象而降低搜索精度的問題;生物學中的種間更替思想的引入主要優(yōu)化改善了原算法僅在當前爆點區(qū)域內(nèi)搜索而錯失其他區(qū)域最優(yōu)解的缺點,讓其在搜索完本區(qū)域最優(yōu)解的同時憑借超強的擾動能力在相鄰或其他區(qū)域再次搜尋最有解,然后將最終的搜尋結(jié)果進行分析比對,得出最最終最優(yōu)解。這些改進有效改善了原算法停留在部分最優(yōu)、弱化部分搜索、缺乏智能分析等不足。
改進的動態(tài)搜索煙花算法在原算法中加入了智能因子,在不斷搜索過程中,該算法能夠向已搜索出來的最優(yōu)解進行學習,然后根據(jù)學習結(jié)果改變自身的方向以及搜尋精度,進而合理分配部分搜索和全局搜索的力度。改進后的算法主要改善優(yōu)化了原算法過快收斂、搜索精度差、最優(yōu)解不唯一等問題。此外改進的算法融入了特征分析策略,使得在尋找最優(yōu)解的過程中算法可以將具有相同特征的因子有效結(jié)合,進而縮短搜尋最優(yōu)解的時間。由于在搜尋過程中會產(chǎn)生很多特征,改進后的算法會對這些特征進行分析,通過具有這些特征的因子的數(shù)量的多少以及這些因子所占的權(quán)重決定哪些特征是有效的特征,分析出有效特征后再將無效特征剔除然后重復比對分析有效特征進而得出最優(yōu)解,這樣做的目的一來將距離爆點較遠的因為考慮在內(nèi),二來在分析搜尋的初始階段就將無效因子剔除在外,防止浪費過多時間影響搜尋效率。
二進制反向?qū)W習煙花算法引入01數(shù)學符號,將一些在搜索過程中的最優(yōu)分析離散化,進而解決求解效率低下或者根本求解不出最優(yōu)解的問題。一般情況下,最優(yōu)解是通過對隨機節(jié)的不斷提煉篩選獲得的,而分析提煉隨機解的過程是尋找最優(yōu)解中最耗時的過程,主要原因是,一旦算法沿著某一依據(jù)一直分析下去,可能因為一開始的方向就是錯誤的,不管之后采用多么精確的算法,多么智能的分析策略,多難以得出最優(yōu)解。二進制反向?qū)W習煙花算法就很好的解決的這個弊病,當算法沿著某一反向在規(guī)定時間內(nèi)依舊無法得出我們預期的最優(yōu)解時,算法將同時分析當前方向的反方向的隨機解,并且賦予反方向的隨機解以更大的權(quán)重,這樣就能有效避免算法一直沿著某一錯誤的方向繼續(xù)下去。因為一旦算法的方向錯誤,不管是繼續(xù)下去還是反方向回去都是費時費力的,繼續(xù)分析下去肯定是 無果而終,返回起始點則更是耗時的操作,本算法則不讓其回到起始位置,而是從其相反方向與當前方向并行分析,這樣總能在有限時間內(nèi)找到最優(yōu)解。
我們都知道在煙花爆炸之后,其收斂速度是非常慢的,如果不認為的干擾,這是不利于我們尋找最優(yōu)解的。雙種群煙花算法用兩個種群同時并發(fā)運行的方式有效解決了原煙花算法易陷入部分最優(yōu)解、收斂周期長等問題。該算法的主要思路是在煙花演化過程中,算法一方面執(zhí)行爬山因素,同時在另一方面還執(zhí)行協(xié)作因素,爬山因素主要是加強在煙花高斯變異過程中局部搜索能力,協(xié)助因素則是減弱由于局部搜索能力加強所帶來的負面效應。并行執(zhí)行不但增加了算法對隨機解的選擇能力,同時由于并行算法相當于兩個單一算法的融合,其將爆炸算子、協(xié)作因素、特征選擇、隨機解分析同時多方面執(zhí)行,使得最優(yōu)解的得出更加高效,此外由于收斂速度加快,所得出的最優(yōu)解也不再是局部最優(yōu)解,而是全局最優(yōu)解。
引入慣性權(quán)重的煙花算法的提出主要是為了尋找全局最優(yōu)解,因為原有算法會因為各種因素的影響而陷入局部最優(yōu)解。該算法融入了一種帶有權(quán)重的慣性量,該慣性量隨著煙花變異次數(shù)的 增加而成遞減趨勢。該算法在每次分析隨機解的過程中都保留了上一次的分析記錄,通過對前面的分析記錄的比對,來進一步確定當前所獲得的最優(yōu)解是否為真正的最優(yōu)解。這樣做的好處一來避免了無用的搜索分析,二來使得所得到的最優(yōu)解得到有效驗證。
[1]Tan Y,Zhu Y.Fireworks algorithm for optimization[J].Tan Y,Shi YuHui,et al.Advances in swarm intelligence[C].Springer Berlin Heidelberg,2010:355-364.
[2]Hsieh Sheng-Ta,Sun Tung-Ying,Liu Changcheng.Potential Offspring Production Strategies:An Improved Genetic Algorithm for Global Numerrical Optimizatioin[J].Expert Systems with Applications,2006,36(8):11088-11098.
[3]吳虎勝,張鳳鳴,戰(zhàn)仁軍,等.利用改進的二進制狼群算法求解多維背包問題[J].系統(tǒng)工程與技術(shù),2015,37(5):1084-1091.