蘇慧慧, 彭 藝, 曲文博
(昆明理工大學(xué) 信息工程與自動(dòng)化學(xué)院, 云南 昆明 650500)
認(rèn)知無(wú)線電(Cognitive Radio,CR)[1]深入人心是起源于Mitola博士,他在1999年將認(rèn)知無(wú)線電從無(wú)線通信以及不同學(xué)科的角度提出了拓展概念,而通信角度的定義由Haykin[2]提出,他同時(shí)定義了無(wú)線通信系統(tǒng)。頻譜分配作為認(rèn)知無(wú)線電的重要技術(shù),所用到的系統(tǒng)模型主要有拍賣模型[3]、博弈論模型[4]和圖論模型[5]。在圖論頻譜分配模型的基礎(chǔ)上以網(wǎng)絡(luò)總效益和用戶公平性為目標(biāo)函數(shù)進(jìn)行尋優(yōu)。目前,針對(duì)頻譜分配問(wèn)題的研究中,遺傳算法(Ganetic Algorithm,GA)、粒子群算法(Particle Swarm Optimization,PSO)、離散人工蜂群算法[6](Discrete Artificial Bee Colony,DABC)等智能算法被不斷地引入解決該問(wèn)題的方案[7-8],不過(guò)當(dāng)目標(biāo)維度不斷加大時(shí)上述算法收斂速度明顯下降,因此針對(duì)該問(wèn)題更高效的啟發(fā)式優(yōu)化算法是目前的研究重點(diǎn)。
螢火蟲算法(Firefly Algorithm,F(xiàn)A)是目前廣泛研究的優(yōu)化算法之一,在算法上的改進(jìn)研究雖有所優(yōu)化,但是將其利用到頻譜分配領(lǐng)域中仍有很大的提升空間。Wang等[9]提出了隨機(jī)吸引模型,增加了種群隨機(jī)性以避免局部最優(yōu)問(wèn)題,仿真收斂效果好,但造成時(shí)間復(fù)雜度較高。Verma等[10]提出基于維度不同構(gòu)造一只全局最優(yōu)的螢火蟲FGbest以指導(dǎo)算法整體優(yōu)化方向,但仿真后期收斂較慢。Zhang等[11]在Verma研究基礎(chǔ)上根據(jù)最大回報(bào)成本比選擇全局最優(yōu)FGbest。近年來(lái)國(guó)外不少學(xué)者將研究的問(wèn)題與智能算法結(jié)合,這些方法對(duì)算法性能的提升表現(xiàn)出顯著效果,其中較突出的為源于人工神經(jīng)網(wǎng)絡(luò)[12]的深度學(xué)習(xí),其實(shí)質(zhì)是對(duì)最初的數(shù)據(jù)及信息進(jìn)行特征點(diǎn)的提取,并對(duì)之后的變化趨勢(shì)進(jìn)行一定的預(yù)測(cè)[13],這對(duì)于數(shù)據(jù)的處理以及算法復(fù)雜度的優(yōu)化具有正向相關(guān)的作用。
針對(duì)以上問(wèn)題,本文提出了在圖論模型的基礎(chǔ)上將螢火蟲算法進(jìn)行改進(jìn),首先將步長(zhǎng)調(diào)整為適時(shí)步長(zhǎng),避免了當(dāng)步長(zhǎng)不當(dāng)導(dǎo)致搜索精確度存在較大的誤差以及搜索速度降低的缺陷;其次,在螢火蟲的尋優(yōu)過(guò)程中對(duì)移動(dòng)位置進(jìn)行了一定的優(yōu)化調(diào)整,采用移動(dòng)變化規(guī)則移動(dòng)會(huì)節(jié)省資源,降低搜索的復(fù)雜度;為了快速尋優(yōu),將深度學(xué)習(xí)引入中心粒子的搜索過(guò)程,進(jìn)行一定次數(shù)的深度學(xué)習(xí),學(xué)習(xí)后的粒子引導(dǎo)種群進(jìn)化,提升尋優(yōu)性能。
用戶允許使用的頻率資源可以等效為色數(shù),被占用信道的臨近范圍的其他用戶無(wú)權(quán)接入該信道,并且為了避免干擾產(chǎn)生,該被占用信道即使被釋放也不會(huì)被同類用戶接入使用。因此在把此種干擾情況等效為一條邊,應(yīng)用圖論著色模型能很好地簡(jiǎn)化問(wèn)題,便于仿真研究,認(rèn)知無(wú)線電網(wǎng)絡(luò)拓?fù)淠P腿鐖D1所示。
圖1 認(rèn)知無(wú)線電網(wǎng)絡(luò)拓?fù)淠P?/p>
具體定義如下[14]:
(1)在需要分配的認(rèn)知無(wú)線電網(wǎng)絡(luò)中,存在N個(gè)認(rèn)知用戶競(jìng)爭(zhēng)M個(gè)頻譜。
(2)令矩陣L={ln,m|ln,m∈{0,1}}N×M表示空閑頻譜,其中l(wèi)n,m=0表示用戶n不可以使用m頻段。
(3)效益矩陣B={bn,m}N×M表示認(rèn)知用戶n使用頻譜m的情況下所獲得的效益。
(4)干擾矩陣C={cn,k,m|cn,k,m={0,1}}N×N×M,cn,k,m=1表示用戶n,k共同使用頻譜m時(shí)產(chǎn)生的干擾。
(5)頻譜分配矩陣A={an,m|an,m={0,1}}N×M,an,m=1表示頻譜m分配給認(rèn)知用戶n。A滿足的條件:an,m·ak,m=0,如果cn,k=1,?n,k 由上述可知,每個(gè)認(rèn)知用戶所獲得效益為rn=an,m·bn,m,其網(wǎng)絡(luò)總效益MNE(Maximize Network Efficiency)公式表示為 網(wǎng)絡(luò)平均效益公式為 設(shè)式(2)的倒數(shù)為初始化時(shí)螢火蟲的熒光素值: 假設(shè)通信環(huán)境改變的時(shí)長(zhǎng)與頻譜分配所需時(shí)間相比可忽略不計(jì),每只螢火蟲對(duì)應(yīng)一種頻譜分配方式,確定認(rèn)知用戶數(shù)和頻譜數(shù)并進(jìn)行頻譜檢測(cè)之后得到可用矩陣L,在可用矩陣中針對(duì)非0元素的位置編碼為螢火蟲Xi(t)的位置信息,以圖1為例,即: 用戶: 1 2 3 4 5 再將平均最大化網(wǎng)絡(luò)效益轉(zhuǎn)化為螢火蟲的亮度函數(shù),尋優(yōu)求解,問(wèn)題維數(shù)為N×M,所以在N和M數(shù)值增加時(shí)會(huì)使得建模的維數(shù)驟然增加。 基本螢火蟲算法中,選取N只螢火蟲隨機(jī)分布在被搜索的領(lǐng)域內(nèi),具體領(lǐng)域定義為{X1(t),X2(t),…,Xn(t)},在d維空間內(nèi),螢火蟲i的位置為Xi(t)={Xi1(t),Xi2(t),…,Xid(t)}。 (1)熒光素亮度 (2)熒光素更新階段 Ii(t+1)=(1-ρ)Ii(t), (5) 式中ρ∈(0,1)為熒光素變化率。 (3)位置更新階段 在螢火蟲i向螢火蟲j移動(dòng)的時(shí)候,更新后的空間坐標(biāo)為 更新后的距離公式為 其中固定移動(dòng)步長(zhǎng)用f表示;‖·‖是螢火蟲i、j之間的歐式距離;I0表示螢火蟲初始亮度值;γ為光吸引系數(shù);xid為第i個(gè)螢火蟲位置的第d維變量,d∈(1,2,…,D)。 在螢火蟲算法中步長(zhǎng)的取值是運(yùn)行速度和精度的決定性因素,通常算法中都給予定值,但是步長(zhǎng)過(guò)大全局搜索效果雖好但是卻影響結(jié)果的精度值,步長(zhǎng)過(guò)小求解精度雖高但是搜索范圍以及搜索精度卻不是理想狀態(tài),故針對(duì)算法的不同階段應(yīng)動(dòng)態(tài)的準(zhǔn)確調(diào)整步長(zhǎng)大小,達(dá)到精度與全局優(yōu)化的平衡。綜上,在改進(jìn)螢火蟲算法中,將固定步長(zhǎng)f調(diào)整為自適應(yīng)搜索步長(zhǎng)s(t),經(jīng)過(guò)調(diào)整之后為 式中δi為自適應(yīng)協(xié)調(diào)因子,Xmax、Xmin為此次迭代中熒光素最大和最小的螢火蟲所在的空間位置,smean、smax、smin分別表示平均、最大、最小的移動(dòng)步長(zhǎng),t為本次迭代次數(shù),tmax為最大的迭代次數(shù)。 在步長(zhǎng)適時(shí)調(diào)整中,處于螢火蟲迭代早期,δi隨距離而單調(diào)遞增,公式(7)移動(dòng)步長(zhǎng)初期值較大,移動(dòng)步長(zhǎng)用較大值加速收斂,促使螢火蟲種群往最優(yōu)值附近移動(dòng);尋優(yōu)后期趨于穩(wěn)定時(shí),隨著迭代次數(shù)的增加,公式(7)的值會(huì)相應(yīng)的減小至固定極小值,防止螢火蟲因步長(zhǎng)過(guò)大跳過(guò)最優(yōu)值點(diǎn)出現(xiàn)震蕩現(xiàn)象。 在螢火蟲算法中,當(dāng)螢火蟲長(zhǎng)時(shí)間進(jìn)行尋優(yōu)求解但搜索范圍并未擴(kuò)大時(shí)會(huì)使得尋優(yōu)精度不佳,處于局部最優(yōu)的狀態(tài),此時(shí),適應(yīng)度函數(shù)不再變化,螢火蟲的亮度也趨于無(wú)法區(qū)分的階段。為減少?gòu)?fù)雜度,在螢火蟲搜索范圍內(nèi)發(fā)現(xiàn)螢火蟲i與j的亮度接近時(shí),此時(shí)為了跳出局部最優(yōu),螢火蟲i可以選擇隨機(jī)移動(dòng),具體移動(dòng)的規(guī)則如圖2所示。從螢火蟲i的d維元素中隨機(jī)抽取第k維元素Xi,k,再將該元素隨機(jī)插入剩余(d-1)維元素的隨機(jī)維,其思想可以看作是遺傳算法中的變異,更新為新的螢火蟲i′再次與螢火蟲j比較亮度,比較適應(yīng)度值的大小,如果更亮于螢火蟲i則該螢火蟲被淘汰,否則保留[15]。 圖2 亮度相同時(shí)隨機(jī)移動(dòng)示意圖 雙中心粒子群[16]是在普通粒子群[17]的基礎(chǔ)上進(jìn)行改進(jìn)的,構(gòu)造廣義中心粒子對(duì)其進(jìn)行一定次數(shù)單維深度學(xué)習(xí),用學(xué)習(xí)后的廣義中心粒子引導(dǎo)種群進(jìn)化。優(yōu)化問(wèn)題中目標(biāo)因子被看成“粒子”,每個(gè)粒子都有對(duì)應(yīng)的適應(yīng)度值。初始化時(shí)為群隨機(jī)粒子,通過(guò)迭代不斷尋優(yōu)。每一次迭代,粒子需要計(jì)算兩個(gè)極值,并通過(guò)兩個(gè)極值更新自己,個(gè)體極值PBest(粒子本身的最優(yōu)解)和全局極值GBest(整個(gè)種群目前的最優(yōu)解)。中心粒子的位置公式可以表示為 圖3 RBF神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)分解圖 RBF神經(jīng)網(wǎng)絡(luò)基本思想是通過(guò)基函數(shù)投影的方式,完成低維空間到高維空間、非線性到線性的關(guān)系轉(zhuǎn)變。訓(xùn)練方法快速易行,自學(xué)習(xí)和容錯(cuò)性能理想,設(shè)計(jì)三層基于適應(yīng)度的反向傳播神經(jīng)網(wǎng)絡(luò),輸入層由i個(gè)d維的螢火蟲作為i×d個(gè)輸入神經(jīng)元構(gòu)成,隱層的單元數(shù)由輸入層神經(jīng)元個(gè)數(shù)決定,輸出層輸出由隱層加權(quán)得到的d維廣義中心粒子,添加適應(yīng)度計(jì)算函數(shù)以得出神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)結(jié)果的適應(yīng)度值,設(shè)置神經(jīng)網(wǎng)絡(luò)反向傳播損失函數(shù)為預(yù)測(cè)值與上述適應(yīng)度值殘差的平方和。RBF神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。將深度學(xué)習(xí)的思想應(yīng)用在上述中心粒子的尋優(yōu)過(guò)程中,具體如下: (2)將i個(gè)d維螢火蟲輸入神經(jīng)網(wǎng)絡(luò)。 (3)在迭代(Iteration)D_iter次后,獲得粒子優(yōu)化輸出 基于上述系統(tǒng)模型研究頻譜分配方案,算法具體流程如下所示。 輸入:矩陣A、B、C以及相關(guān)參數(shù)。 輸出:最佳位置Xi。 (1)初始化螢火蟲種群,設(shè)置相關(guān)參數(shù):頻譜效益矩陣由螢火蟲隨機(jī)初始位置得出;無(wú)干擾矩陣由隨機(jī)產(chǎn)生的二元對(duì)稱矩陣得出;螢火蟲熒光素值初始化時(shí)以公式(3)為標(biāo)準(zhǔn)得出。 (2)根據(jù)公式(4)計(jì)算和評(píng)價(jià)螢火蟲亮度。 (3)根據(jù)移動(dòng)變化規(guī)則對(duì)種群進(jìn)行移動(dòng),產(chǎn)生新的個(gè)體融入,結(jié)合公式(6)和公式(8)對(duì)螢火蟲的位置更新。 (4)構(gòu)造中心粒子:根據(jù)公式(10)構(gòu)建中心粒子,并利用公式(11)對(duì)廣義中心粒子進(jìn)行D_iter次深度學(xué)習(xí)。 (6)檢驗(yàn)是否達(dá)到最大迭代次數(shù),若達(dá)到則停止迭代,輸出全局最優(yōu)位置,否則轉(zhuǎn)(3)。 本文在進(jìn)行仿真之前首先對(duì)所需參數(shù)進(jìn)行設(shè)置:螢火蟲的個(gè)數(shù)N為30,頻道數(shù)M為5,光吸引系數(shù)γ為0.5,初始熒光素I0為5,最小步長(zhǎng)smin為0.01,最大步長(zhǎng)smax為1,平均步長(zhǎng)smean為0.53,熒光素變化率ρ為0.37,最大迭代次數(shù)tmax為200,領(lǐng)域半徑為10。人工蜂群算法的環(huán)境也與之相同。 驗(yàn)證算法的可行性時(shí),獨(dú)立實(shí)驗(yàn)完成20次后從圖4中可以看出,將人工蜂群算法、基本的螢火蟲算法和改進(jìn)后的算法對(duì)比,改進(jìn)后的螢火蟲算法曲線最先靠近X軸,F(xiàn)A算法在40~60之間有些許波動(dòng),表明在這個(gè)區(qū)間范圍的迭代次數(shù)上會(huì)出現(xiàn)局部最優(yōu),尋優(yōu)效率會(huì)降低,而改進(jìn)后的算法在迭代次數(shù)20左右便已經(jīng)快速接近X軸,便于快速找到局部最優(yōu)解。 圖5以網(wǎng)絡(luò)總效益為目標(biāo)函數(shù)進(jìn)行仿真,認(rèn)知用戶數(shù)為20,頻譜數(shù)為5,從圖中可以看出,改進(jìn)后的IFA算法波動(dòng)程度較小,與其他算法相比較為穩(wěn)定。 圖4 不同算法的尋優(yōu)變化曲線 圖5 不同算法的網(wǎng)絡(luò)總效益 如圖6所示,在頻譜數(shù)為定量5,認(rèn)知用戶數(shù)為變量不斷遞增時(shí),所提算法的平均總效益不僅穩(wěn)定而且更優(yōu)。同樣的,當(dāng)認(rèn)知用戶為定量20,頻譜數(shù)為變量時(shí),從圖7中可以看出與預(yù)期結(jié)果一致。 根據(jù)目前認(rèn)知的無(wú)線電頻譜分配常用模型的特點(diǎn)以及所用算法的編碼特質(zhì),應(yīng)用圖論模型解決該領(lǐng)域的頻譜分配問(wèn)題,在螢火蟲算法的基礎(chǔ)上,將螢火蟲的移動(dòng)變化規(guī)則進(jìn)行了一定的調(diào)整,在擾動(dòng)的同時(shí)增加了種群的多樣性。此外,將神經(jīng)網(wǎng)絡(luò)的思想應(yīng)用于雙中心粒子群搜索過(guò)程中,根據(jù)該模式下的尋優(yōu)結(jié)果,使得尋優(yōu)結(jié)果精度得到提高,將深度學(xué)習(xí)的部分思想使用在改進(jìn)的頻譜算法中,整體的復(fù)雜度雖略有變高,但尋優(yōu)精度和性能的穩(wěn)定、優(yōu)越性都有了明顯的提高。 圖6 認(rèn)知用戶數(shù)變化時(shí)的平均網(wǎng)絡(luò)總效益 圖7 頻譜數(shù)變化時(shí)的平均網(wǎng)絡(luò)總效益1.2 頻譜分配矩陣描述
2 基于改進(jìn)螢火蟲的頻譜分配算法
2.1 基本螢火蟲算法
2.2 適時(shí)變化步長(zhǎng)
2.3 移動(dòng)變化規(guī)則
2.4 基于深度學(xué)習(xí)的雙中心粒子群尋優(yōu)
2.5 頻譜分配算法流程
3 仿真實(shí)驗(yàn)
4 結(jié) 論