何常勝 夏曉峰
摘 要: 針對無線傳感器網(wǎng)絡(luò)(WSN)中均衡分簇問題,提出一種基于模糊邏輯推理的WSN分布式分簇算法(DFLC)。利用分布式模糊邏輯控制器選擇根節(jié)點(diǎn),以能量大小、中心性、距基站的距離、跳數(shù)和節(jié)點(diǎn)密度5個(gè)參數(shù)作為分布式模糊邏輯控制算法的輸入。為網(wǎng)絡(luò)中的中間節(jié)點(diǎn)分配模糊邏輯推理引擎,根據(jù)自身和相鄰節(jié)點(diǎn)的信息進(jìn)行判斷,選擇發(fā)送質(zhì)量最高子節(jié)點(diǎn)的回復(fù)消息給根節(jié)點(diǎn),減少了消息傳輸數(shù)量。仿真實(shí)驗(yàn)表明,在產(chǎn)生消息數(shù)量、能源消耗、存活節(jié)點(diǎn)數(shù)、容錯(cuò)性、負(fù)載平衡等方面,DFLC算法都優(yōu)于LEACH,ACAWT,Gupta和CHEF算法。
關(guān)鍵詞: 無線傳感器網(wǎng)絡(luò); 模糊邏輯推理; 分布式分簇算法; 負(fù)載均衡
中圖分類號: TN919?34; TP393 文獻(xiàn)標(biāo)識碼: A 文章編號: 1004?373X(2016)05?0067?06
0 引 言
在大多數(shù)無線傳感器網(wǎng)絡(luò)(Wireless Sensor Network,WSN)應(yīng)用中,都利用聚類技術(shù)來減少能量消耗[1]。在分簇網(wǎng)絡(luò)中,成員節(jié)點(diǎn)負(fù)責(zé)發(fā)送遙感數(shù)據(jù)到根節(jié)點(diǎn),根節(jié)點(diǎn)負(fù)責(zé)收集、處理和發(fā)送數(shù)據(jù)到基站,所以根節(jié)點(diǎn)會比成員節(jié)點(diǎn)產(chǎn)生更多的能量消耗。當(dāng)簇中的根節(jié)點(diǎn)能量消耗完,則無法處理數(shù)據(jù)使網(wǎng)絡(luò)失效[2]。所以需要一種能夠平衡能源消耗、提高簇和網(wǎng)絡(luò)生命周期的算法。
本文提出一種基于模糊邏輯的WSN分布式分簇(Distributed Fuzzy?logic Clustering,DFLC)算法。采用分布式模糊邏輯推理系統(tǒng),以能量大小、中心性、到基站的距離、跳數(shù)和節(jié)點(diǎn)密度等參數(shù)作為輸入,來動(dòng)態(tài)選擇根節(jié)點(diǎn)。每個(gè)節(jié)點(diǎn)都分配分布式模糊邏輯引擎,防止消息在傳輸過程中產(chǎn)生高能耗。通過在中間節(jié)點(diǎn)上運(yùn)行模糊邏輯推理,降低成員節(jié)點(diǎn)到根節(jié)點(diǎn)的消息傳輸量。仿真實(shí)驗(yàn)表明,DFLC算法的性能優(yōu)于其他分簇算法。
1 相關(guān)研究
文獻(xiàn)[3]提出的低能耗自適應(yīng)聚類層次算法(LEACH)是一種分布式自組織分簇算法,其過程分為簇建立和簇穩(wěn)定2個(gè)階段,通過隨機(jī)選擇機(jī)制選舉簇頭來平衡節(jié)點(diǎn)負(fù)載。然而,該算法沒有考慮節(jié)點(diǎn)位置,不適合應(yīng)用于較大的WSN環(huán)境。文獻(xiàn)[4]對LEACH進(jìn)行改進(jìn),通過構(gòu)建雙層簇來減小簇頭與Sink節(jié)點(diǎn)的傳輸距離。然而其最多能夠?qū)崿F(xiàn)兩跳傳輸,也不適合大型網(wǎng)絡(luò)。文獻(xiàn)[5]提出一種基于模糊邏輯簇頭選舉算法(CHEF),以節(jié)點(diǎn)能量、密度和中心性為輸入,利用Mamdani模糊邏輯推理進(jìn)行簇頭的選舉。然而其使用基站收集所有節(jié)點(diǎn)的信息,需要大量的節(jié)點(diǎn)間通信,消耗較多的能量。文獻(xiàn)[6]提出一種集中化使用模糊邏輯引擎來選擇生成簇頭的算法,然而該方法沒有考慮到需求情況,而是周期性運(yùn)行。
不同于上述提到的算法,DFLC沒有使用基站從所有傳感器節(jié)點(diǎn)收集數(shù)據(jù)或集中化執(zhí)行模糊邏輯,而是使用了一個(gè)完全分布式結(jié)構(gòu)。避免了節(jié)點(diǎn)到基站、基站到節(jié)點(diǎn)的大量計(jì)算開銷和消息傳輸開銷,從而降低整個(gè)網(wǎng)絡(luò)的能量消耗,提高網(wǎng)絡(luò)壽命。模糊邏輯引擎只由根節(jié)點(diǎn)或者有較高概率被選擇作為新根節(jié)點(diǎn)的父節(jié)點(diǎn)執(zhí)行,進(jìn)一步節(jié)約能耗。此外,DFLC還考慮了容錯(cuò)性、負(fù)載均衡、時(shí)效性和可擴(kuò)展性等因素。
3 實(shí) 驗(yàn)
利用NS2仿真器將提出的DFLC與低能耗自適應(yīng)聚類層次算法(LEACH)[3]、等待定時(shí)自適應(yīng)聚類算法(ACAWT)[10]、基于模糊邏輯簇頭選舉算法(CHEF)[4]和Gupta算法[11],在消息負(fù)載、網(wǎng)絡(luò)能耗、存活節(jié)點(diǎn)數(shù)、容錯(cuò)性和簇頭能耗方面進(jìn)行了實(shí)驗(yàn)對比。表1給出了相關(guān)的仿真參數(shù)。
不同運(yùn)行時(shí)間下的信息傳輸數(shù)量比較情況,如圖3所示。
從圖3中可以看出,DFLC算法產(chǎn)生的消息傳輸量最少,[LEACH]算法產(chǎn)生的消息傳輸量最大。在[ACAWT]算法中,簇被分成了各個(gè)子簇,成員節(jié)點(diǎn)分為子簇頭和子簇成員。基于分簇頭之間的通信來選擇新簇頭,這樣就降低了消息傳輸量。在[Gupta]算法中,基站統(tǒng)一收集來自節(jié)點(diǎn)的信息,然后運(yùn)行聚類算法,這一過程產(chǎn)生了巨大的消息傳輸量。在[CHEF]算法中,基站不需要從所有節(jié)點(diǎn)收集信息,所以[CHEF]算法要優(yōu)于[Gupta]算法。本文提出的DFLC算法通過篩選最有可能成為根節(jié)點(diǎn)的那個(gè)節(jié)點(diǎn)的信息,使中間節(jié)點(diǎn)減少了從葉節(jié)點(diǎn)發(fā)到根節(jié)點(diǎn)的信息量,所以產(chǎn)生的數(shù)據(jù)量最小。
不同算法的能量消耗,如圖4所示??梢钥闯?,隨著仿真時(shí)間的增加,所有算法的能量消耗也都將會增加。其中,[DFLC]算法產(chǎn)生的能源消耗最低,[LEACH]算法產(chǎn)生的能源消耗最高。[ACAWT]算法中,在新簇頭的選擇階段,分簇頭向整個(gè)簇廣播數(shù)據(jù),這就導(dǎo)致產(chǎn)生高能耗,尤其在有大量簇頭數(shù)的情況下。盡管[Gupta]算法考慮了能耗、節(jié)點(diǎn)濃度和中心參數(shù)等因素,收集節(jié)點(diǎn)和基站之間的數(shù)據(jù),在基站集中運(yùn)行模糊邏輯系統(tǒng)的過程仍然導(dǎo)致了較大的能源消耗。[CHEF]和[Gupta]算法類似,與之主要不同點(diǎn)是使用了局部簇頭選舉機(jī)制,從而使基站不需要從所有節(jié)點(diǎn)收集信息。[LEACH]算法完全取決于概率模型,導(dǎo)致簇頭節(jié)點(diǎn)的能量被迅速消耗。
不同仿真時(shí)間下各算法中存活節(jié)點(diǎn)的數(shù)量,如圖5所示??梢钥闯?,隨著時(shí)間的增加,存活節(jié)點(diǎn)數(shù)量不斷減少。其中,本文[DFLC]算法中存活節(jié)點(diǎn)數(shù)最多,而[LEACH]算法最少。因?yàn)榕c[LEACH,][Gupta]和[CHEF]算法不同的是,[DFLC]算法中傳輸消息的數(shù)量較少,能量消耗低,存活節(jié)點(diǎn)數(shù)也高于其他算法。
有限的能源是WSN的一個(gè)非常重要的約束。由于能源的消耗,節(jié)點(diǎn)可能會失效,這就導(dǎo)致不能及時(shí)完成正常任務(wù),這就需要一個(gè)容錯(cuò)機(jī)制,當(dāng)節(jié)點(diǎn)失效后,用另一個(gè)節(jié)點(diǎn)來代替它繼續(xù)發(fā)揮作用,繼而使整個(gè)過程能夠繼續(xù)進(jìn)行。為此,本文[DFLC]算法中集成了容錯(cuò)機(jī)制。圖6為各個(gè)算法中容錯(cuò)機(jī)制的性能。實(shí)驗(yàn)中,通過故意丟棄節(jié)點(diǎn)的數(shù)據(jù)包來制造一些故障節(jié)點(diǎn)。將傳送的所有數(shù)據(jù)包記為“提供數(shù)據(jù)”,成功傳輸?shù)臄?shù)據(jù)包記為“投遞數(shù)據(jù)”。從圖6可以看出,和其他沒有考慮系統(tǒng)故障情況的算法相比,本文提出的算法具有最好的性能。同時(shí),[DFLC]算法還與文獻(xiàn)[12]提出的具有簇頭容錯(cuò)聚類技術(shù)的[FTFC]算法進(jìn)行比較。結(jié)果表明,[DFLC]的容錯(cuò)性能優(yōu)于[FTFC]。
為了延長系統(tǒng)壽命,需要均衡簇頭負(fù)載。將本文算法同現(xiàn)有的2種WSN負(fù)載均衡分簇算法:[EELBC][13]和[LBC][14]進(jìn)行比較,結(jié)果如圖7所示。實(shí)驗(yàn)中計(jì)算了6組簇頭的能耗平均值作為能量消耗率??梢钥闯?,[DFLC]算法具有最低的簇頭能量消耗率。
4 結(jié) 語
本文提出了一種基于模糊邏輯的WSN分布式聚類算法(DFLC)。通過仿真實(shí)驗(yàn),將本文算法與[LEACH,][ACAWT,][Gupta]和[CHEF]算法在產(chǎn)生消息數(shù)量、能源消耗、存活節(jié)點(diǎn)數(shù)、容錯(cuò)性、負(fù)載平衡等方面進(jìn)行比較。結(jié)果表明,DFLC算法優(yōu)于其他分簇算法。
在今后工作中,將進(jìn)一步研究在不同類型的移動(dòng)模型上執(zhí)行分布式模糊邏輯方法。
參考文獻(xiàn)
[1] 李建洲,王海濤,陶安.一種能耗均衡的 WSN 分簇路由協(xié)議[J].傳感技術(shù)學(xué)報(bào),2013,26(3):396?401.
[2] 蔣暢江,石為人,唐賢倫.能量均衡的無線傳感器網(wǎng)絡(luò)非均勻分簇路由協(xié)議[J].軟件學(xué)報(bào),2012,23(5):1222?1232.
[3] RAN G, ZHANG H, GONG S. Improving on LEACH protocol of wireless sensor networks using fuzzy logic [J]. Journal of information & computational science, 2010, 7(3): 767?775.
[4] 顧相平,孫彥景,錢建生.一種改進(jìn)的無線傳感器網(wǎng)絡(luò)LEACH?ED算法[J].傳感技術(shù)學(xué)報(bào),2011,21(10):1770?1774.
[5] KIM J M, PARK S H, HAN Y J, et al. Cluster head election mechanism using fuzzy logic in wireless sensor networks [C]// Proceedings of 2008 10th IEEE International Conference on Advanced Communication Technology. [S.l.]: IEEE, 2008, 1: 654?659.
[6] JAVAID N, QURESHI T N, KHAN A H, et al. Eenhanced developed distributed energy?efficient clustering for heterogeneous wireless sensor networks [J]. Procedia computer science, 2013, 19: 914?919.
[7] 任塨曄,趙季紅,曲樺.基于模糊邏輯的多終端協(xié)同的垂直切換決策算法[J].通信學(xué)報(bào),2014,35(9):67?78.
[8] HAMMOUDEH M, KURZ A, GAURA E. Multi?path, multi?hop hierarchical routing [C]// Proceedings of 2010 IEEE International Conference on Sensor Technologies and Applications. [S.l.]: IEEE, 2010: 140?145.
[9] CHOI H, WANG J, HUGHES E A. Scheduling for information gathering on sensor network [J]. Wireless networks, 2009, 15(1): 127?140.
[10] WEN C Y, SETHARES W A. Adaptive decentralized re?clustering for wireless sensor networks [C]// IEEE International Conference on Systems, Man and Cybernetics. [S.l.]: IEEE, 2006, 4: 2709?2716.
[11] GUPTA I, RIORDAN D, SAMPALLI S. Cluster?head election using fuzzy logic for wireless sensor networks [C]// Proceedings of the 3rd Annual Conference on Communication Networks and Services Research. [S.l.]: IEEE, 2005: 255?260.
[12] MUNAGA H, PRASAD M H M, MURTHY J V R, et al. A fault tolerant trajectory clustering (FTTC) for selecting cluster heads in wireless sensor networks [J]. International journal of computational intelligence research, 2010, 6(3): 81?90.
[13] KUILA P, JANA P K. Energy efficient load?balanced cluste?ring algorithm for wireless sensor networks [J]. Procedia technology, 2012, 6: 771?777.
[14] GUPTA G, YOUNIS M. Performance evaluation of load?ba?lanced clustering of wireless sensor networks [C]// Procee?dings of 2003 10th International Conference on Telecommunications. [S.l.]: IEEE, 2013, 2: 1577?1583.