許道強,吳 波,龔 賀,范照健,陳志國
(1.國家電網(wǎng)江蘇省電力有限公司,江蘇 南京 210000; 2.福建億榕信息技術(shù)有限公司, 福建 福州 350003; 3.河北農(nóng)業(yè)大學(xué),河北 保定 071000)
無線傳感網(wǎng)絡(luò)(Wireless Sensor Networks, WSNs)內(nèi)的節(jié)點具有感知、通信和計算能力,已廣泛應(yīng)用于災(zāi)害搜救、環(huán)境監(jiān)測等其他工業(yè)應(yīng)用。這些應(yīng)用通過節(jié)點感測環(huán)境,并將感測數(shù)據(jù)傳輸至后臺,進(jìn)而監(jiān)測環(huán)境的目的[2]。
在WSNs內(nèi)運用最少的傳感節(jié)點數(shù)覆蓋最大的監(jiān)測區(qū)域一直是WSNs的研究目標(biāo)。文獻(xiàn)[3]分析了三維隨機覆蓋連通問題,旨在以最少的節(jié)點數(shù)實現(xiàn)對監(jiān)測區(qū)域100%的覆蓋。而文獻(xiàn)[4]研究了基于三維晶格模型的局部覆蓋問題。
不同的應(yīng)用對覆蓋要求并不相同。有些應(yīng)用要求對監(jiān)測區(qū)域?qū)崿F(xiàn)100%覆蓋。而多數(shù)應(yīng)用,并不需要對監(jiān)測區(qū)域有100%的覆蓋,只需要局部覆蓋[4],如圖1所示。A區(qū)、B區(qū)、C區(qū)、D區(qū)對覆蓋率的要求并不相同, 如D區(qū)對覆蓋要求最高,達(dá)到90%。相比于D區(qū), A區(qū)、B區(qū)、C區(qū)對覆蓋要求較低, 分別為80%、60%和50%。
圖1 局部覆蓋等級
此外,WSNs一般由海量傳感節(jié)點構(gòu)成。這些節(jié)點可能存在一些特性差異。即使是同類型的傳感節(jié)點, 也可能因故障原因呈現(xiàn)不同特性。因此, 多數(shù)WSNs表現(xiàn)出異構(gòu)特性。為此, 本文以異構(gòu)WSNs為研究對象, 分析異構(gòu)WSNs的局部覆蓋問題[5-7]。
文獻(xiàn)[8]提出分布式的局部覆蓋(Distributed Algorithm for Partial Coverage, DAPC)算法。在DAPC算法中,每個傳感節(jié)點無需任何地理位置信息尋找冗余節(jié)點,并將這些冗余節(jié)點進(jìn)入休眠狀態(tài)。而文獻(xiàn)[9]引用連通支配集(Connected Dominating Set, CDS)概念。利用構(gòu)建CDS實現(xiàn)區(qū)域覆蓋。文獻(xiàn)[10]引用學(xué)習(xí)自動機分配活動節(jié)點和休眠節(jié)點,進(jìn)而滿足部分覆蓋要求。然而,這些算法從局部覆蓋角度討論網(wǎng)絡(luò)覆蓋問題,同時,它們是以同構(gòu)網(wǎng)絡(luò)為研究對象。
為此,針對異構(gòu)網(wǎng)絡(luò),提出概率模型的局部覆蓋算法(Probability-based Partial Coverage, PPC)。PPC算法先計算傳感節(jié)點的覆蓋冗余度,再依據(jù)節(jié)點覆蓋冗余度和對監(jiān)測區(qū)域的覆蓋面積,選擇節(jié)點加入覆蓋集。然后,覆蓋集內(nèi)的節(jié)點滿足局部覆蓋。仿真數(shù)據(jù)表明,提出的PPC算法能夠以最少的節(jié)點數(shù),滿足覆蓋要求。
將WSNs覆蓋區(qū)域進(jìn)行二維平面處理。令Ci和Ri分別表示第i個傳感節(jié)點Si的通信半徑、感測半徑。一般感測半徑大于通信半徑。假定傳感節(jié)點的通信區(qū)域和感測區(qū)域呈圓形[11]。
依據(jù)傳感節(jié)點的通信半徑和感測半徑的不同, 將網(wǎng)絡(luò)內(nèi)N個節(jié)點劃分t個類型。第i類傳感節(jié)點表示為Si, 它的通信半徑、感測半徑分別表示為ri和Ri, 且1≤i≤t。
節(jié)點Si的感測區(qū)域表示為A(si,Ri)。A(si,Ri)表示以節(jié)點Si的位置si為圓心以Ri為半徑的圓。節(jié)點Si不能感測A(si,Ri)區(qū)域的事件。類似地, 節(jié)點Si的通信區(qū)域也可表示為A(si,Ci)。
定義1: 在異構(gòu)WSN內(nèi), 任意兩個傳感節(jié)點Si和Sj, 且1≤i,j≤t,?{i≠j}, 則Ci≠Cj,Ri≠Rj。
dij≤min(Ci,Cj)
(1)
其中(xi,yi)、(xj,yj)分別表示節(jié)點Si、Sj的二維坐標(biāo)。
定義3: 如果節(jié)點感測區(qū)域內(nèi)的局部區(qū)域的某點被不止一個節(jié)點覆蓋, 則說該節(jié)點存在局部覆蓋冗余。令ξi表示節(jié)點Si的覆蓋冗余率, 其等于它鄰居節(jié)點覆蓋的區(qū)域面積與它自己覆蓋區(qū)域面積之比。
為了選擇合適的節(jié)點加入覆蓋集, 利用概率模型估計節(jié)點Si的覆蓋冗余度。并選擇覆蓋冗余度最低的節(jié)點加入覆蓋集, 其他沒選擇的節(jié)點進(jìn)行休眠, 進(jìn)而以最少的節(jié)點實現(xiàn)目標(biāo)的局部覆蓋。
考慮節(jié)點Si的感測區(qū)域A(si,Ri), 如圖2所示。令Y為一個隨機變量, 其表示區(qū)域位置X離si的位置變量[12]。其中位置X離si的距離為x, 且0≤x≤Ri。因此, 變量Y概率密度函數(shù)可表示為:
fY(x)=2x/(Ri)2
(2)
圖2 節(jié)點Si及Sj的感測和通信區(qū)域示意圖
令pij(x)表示位置X被鄰居節(jié)點Sj覆蓋的概率。若X∈A(si,Ri)能被鄰居節(jié)點Sj覆蓋, 則節(jié)點Sj離位置X的距離大于Rj。
結(jié)合圖1, 可推導(dǎo)pij值, 如式(3)所示:
(3)
依據(jù)式(3)可知,pij(x)值取決于位置X、si和min(Ci,Cj)。對于特定的一對鄰居節(jié)點Si和Sj, 它們的有效通信區(qū)域A(si,min(Ci,Cj))是常數(shù)。
(4)
其中nij表示節(jié)點Si具有j類型的鄰居節(jié)點數(shù)。
P(Di(X))=1-(1-pi1(x))ni1…(1-pit(x))nit=
(5)
利用積分, 計算P(Di(X))的期望值:
(6)
而節(jié)點Si的覆蓋冗余度ξi的期望值E[ξi]可表示為:
(7)
將式(5)代入式(8)可得:
酒店使用社交媒體營銷的目的。調(diào)查結(jié)果顯示:社交媒體營銷人員使用社交媒體營銷時,最關(guān)注的是提高品牌知名度、提供產(chǎn)品信息和了解消費者需求。超過一半的酒店媒體高管認(rèn)為社交媒體不應(yīng)成為酒店創(chuàng)收的工具,而應(yīng)成為酒店產(chǎn)品信息的宣傳窗口。此外,有4家酒店提到招聘員工是他們使用社交媒體的另一目的。
(8)
提出PPC算法旨在: 以最少的節(jié)點數(shù)滿足局部覆蓋要求。為此,PPC算法從覆蓋冗余度擇優(yōu)選擇傳感節(jié)點加入覆蓋集。
首先, 隨機選擇一個傳感節(jié)點加入覆蓋集,然后再從該節(jié)點的鄰居節(jié)點中選擇覆蓋冗余度最低的節(jié)點加入覆蓋集[13], 重復(fù)執(zhí)行, 直到滿足局部覆蓋要求。
先隨機選擇一個傳感節(jié)點Sk加入覆蓋集Φ。令Nk表示節(jié)點Sk的一跳鄰居節(jié)點集; 再計算Nk內(nèi)節(jié)點的覆蓋冗余度,并選擇覆蓋冗余度低的節(jié)點加入Φ, 如式(9)所示:
Φ=Φ∪Si
(9)
其中|Nk|表示Nk內(nèi)節(jié)點個數(shù)。
再檢測Φ內(nèi)節(jié)點的覆蓋區(qū)域是否滿足局部覆蓋要求? 。如果滿足要求, 就停止向覆蓋集內(nèi)添加節(jié)點。否則, 就從Φ內(nèi)節(jié)點的鄰居節(jié)點中選擇覆蓋冗余度和對監(jiān)測區(qū)域覆蓋面積大的節(jié)點加入覆蓋集。從Φ內(nèi)節(jié)點的鄰居節(jié)點中選擇節(jié)點加入覆蓋集, 能夠保持網(wǎng)絡(luò)的連通性。
以圖3為例闡述構(gòu)建局部覆蓋集的過程。圖3(a)為網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)。假定選擇節(jié)點5加入覆蓋集。而節(jié)點2,4,8,9,6是節(jié)點5的鄰居節(jié)點。而節(jié)點4覆蓋區(qū)域的面積最大。因此, 選擇節(jié)點4加入Φ。
圖3 PPC算法構(gòu)建覆蓋集示例
Φ={4,5}內(nèi)節(jié)點的鄰居節(jié)點為{1,2,8,9,6}。再從{1,2,8,9,6}中選擇覆蓋冗余度低和覆蓋面積大的節(jié)點加入Φ。而節(jié)點8的覆蓋面積大,且覆蓋冗余度低。因此, 節(jié)點8加入覆蓋集。如圖3(c)所示。再將節(jié)點1加入覆蓋集。最后, 將節(jié)點6加入覆蓋集。選擇節(jié)點6的原因在于:盡管節(jié)點2, 6, 9的覆蓋面積相同, 但是節(jié)點2和節(jié)點9的覆蓋冗余度高于節(jié)點6。
表1 兩類傳感器節(jié)點參數(shù)
本次實驗分析不同類型的節(jié)點數(shù)對覆蓋集內(nèi)節(jié)點數(shù)的影響。為了簡化描述,將覆蓋集內(nèi)的節(jié)點稱為覆蓋節(jié)點。在滿足局部覆蓋要求u條件下,覆蓋節(jié)點數(shù)越少,性能越好。
圖4顯示了m1∶m2=0∶1和m1∶m2=1∶3兩種情況下的覆蓋節(jié)點數(shù)。從圖4可知,覆蓋要求u越高,所需的覆蓋節(jié)點數(shù)越多。例如,在u=0.6時所需的覆蓋節(jié)點數(shù)低于u=0.95。
圖4 活動節(jié)點數(shù)
此外,對比圖4(a)和4(b)可知,在m1∶m2=1∶3網(wǎng)絡(luò)環(huán)境下所需的覆蓋節(jié)點數(shù)大于m1∶m2=0∶1網(wǎng)絡(luò)環(huán)境下的覆蓋節(jié)點數(shù)。原因在于:第二類傳感節(jié)點的感測半徑大于第一類傳感節(jié)點的感測半徑。相比于m1∶m2=0∶1,m1∶m2=1∶3網(wǎng)絡(luò)環(huán)境下的第二類傳感節(jié)點更少。因此,它需要更多的傳感節(jié)點加入覆蓋集,進(jìn)而滿足覆蓋要求。
本次實驗進(jìn)行對比分析,選擇DAPC、CDS和PCLA算法作為參照。實驗參數(shù):100個節(jié)點分布于100 m×100 m。并考慮m1∶m2=1∶0和m1∶m2=0∶1這兩種情況。m1∶m2=1∶0意味著100個節(jié)點全是第一類節(jié)點;而m1∶m2=0∶1意味著100個節(jié)點全是第二類節(jié)點。由于這兩類節(jié)點的通信半徑和感測半徑不同,通過對比分析這兩種情況下的覆蓋性能,可獲取通信半徑和感測半徑對覆蓋性能的影響。
圖5 活動節(jié)點數(shù)(實驗二)
從圖5可知,提出的PPC算法所需的覆蓋節(jié)點數(shù)優(yōu)于DAPC、CDS和PCLA算法。原因在于:PPC算法通過覆蓋冗余度和對監(jiān)測區(qū)域的覆蓋面積選擇節(jié)點加入覆蓋集,進(jìn)而能夠以最少的節(jié)點數(shù)覆蓋監(jiān)測區(qū)域。
此外,對比圖5(a)和5(b)不難發(fā)現(xiàn),m1∶m2=0∶1情況下所需的覆蓋節(jié)點數(shù)少于m1∶m2=1∶0情況。原因在于:第二類傳感節(jié)點的感測半徑大于第一類傳感節(jié)點。
針對異構(gòu)WSNs網(wǎng)絡(luò)的局部覆蓋問題,提出基于概率模型的局部覆蓋算法PPC。PPC算法先利用概率模型估計傳感節(jié)點覆蓋冗余度,再通過覆蓋冗余度擇優(yōu)選擇節(jié)點,將這些節(jié)點加入覆蓋集。并由覆蓋集內(nèi)節(jié)點覆蓋監(jiān)測區(qū)域。實現(xiàn)數(shù)據(jù)表明,提出的PPC算法降低了覆蓋集內(nèi)節(jié)點數(shù)。
本文只研究WSNs的局部覆蓋問題,旨在以最少的傳感節(jié)點覆蓋監(jiān)測區(qū)域。但是,并沒有分析PPC算法的復(fù)雜度以及節(jié)點能耗問題。這將是后期的工作方向。