何常胜 夏晓峰
摘 要: 针对无线传感器网络(WSN)中均衡分簇问题,提出一种基于模糊逻辑推理的WSN分布式分簇算法(DFLC)。利用分布式模糊逻辑控制器选择根节点,以能量大小、中心性、距基站的距离、跳数和节点密度5个参数作为分布式模糊逻辑控制算法的输入。为网络中的中间节点分配模糊逻辑推理引擎,根据自身和相邻节点的信息进行判断,选择发送质量最高子节点的回复消息给根节点,减少了消息传输数量。仿真实验表明,在产生消息数量、能源消耗、存活节点数、容错性、负载平衡等方面,DFLC算法都优于LEACH,ACAWT,Gupta和CHEF算法。
关键词: 无线传感器网络; 模糊逻辑推理; 分布式分簇算法; 负载均衡
中图分类号: TN919?34; TP393 文献标识码: A 文章编号: 1004?373X(2016)05?0067?06
0 引 言
在大多数无线传感器网络(Wireless Sensor Network,WSN)应用中,都利用聚类技术来减少能量消耗[1]。在分簇网络中,成员节点负责发送遥感数据到根节点,根节点负责收集、处理和发送数据到基站,所以根节点会比成员节点产生更多的能量消耗。当簇中的根节点能量消耗完,则无法处理数据使网络失效[2]。所以需要一种能够平衡能源消耗、提高簇和网络生命周期的算法。
本文提出一种基于模糊逻辑的WSN分布式分簇(Distributed Fuzzy?logic Clustering,DFLC)算法。采用分布式模糊逻辑推理系统,以能量大小、中心性、到基站的距离、跳数和节点密度等参数作为输入,来动态选择根节点。每个节点都分配分布式模糊逻辑引擎,防止消息在传输过程中产生高能耗。通过在中间节点上运行模糊逻辑推理,降低成员节点到根节点的消息传输量。仿真实验表明,DFLC算法的性能优于其他分簇算法。
1 相关研究
文献[3]提出的低能耗自适应聚类层次算法(LEACH)是一种分布式自组织分簇算法,其过程分为簇建立和簇稳定2个阶段,通过随机选择机制选举簇头来平衡节点负载。然而,该算法没有考虑节点位置,不适合应用于较大的WSN环境。文献[4]对LEACH进行改进,通过构建双层簇来减小簇头与Sink节点的传输距离。然而其最多能够实现两跳传输,也不适合大型网络。文献[5]提出一种基于模糊逻辑簇头选举算法(CHEF),以节点能量、密度和中心性为输入,利用Mamdani模糊逻辑推理进行簇头的选举。然而其使用基站收集所有节点的信息,需要大量的节点间通信,消耗较多的能量。文献[6]提出一种集中化使用模糊逻辑引擎来选择生成簇头的算法,然而该方法没有考虑到需求情况,而是周期性运行。
不同于上述提到的算法,DFLC没有使用基站从所有传感器节点收集数据或集中化执行模糊逻辑,而是使用了一个完全分布式结构。避免了节点到基站、基站到节点的大量计算开销和消息传输开销,从而降低整个网络的能量消耗,提高网络寿命。模糊逻辑引擎只由根节点或者有较高概率被选择作为新根节点的父节点执行,进一步节约能耗。此外,DFLC还考虑了容错性、负载均衡、时效性和可扩展性等因素。
3 实 验
利用NS2仿真器将提出的DFLC与低能耗自适应聚类层次算法(LEACH)[3]、等待定时自适应聚类算法(ACAWT)[10]、基于模糊逻辑簇头选举算法(CHEF)[4]和Gupta算法[11],在消息负载、网络能耗、存活节点数、容错性和簇头能耗方面进行了实验对比。表1给出了相关的仿真参数。
不同运行时间下的信息传输数量比较情况,如图3所示。
从图3中可以看出,DFLC算法产生的消息传输量最少,[LEACH]算法产生的消息传输量最大。在[ACAWT]算法中,簇被分成了各个子簇,成员节点分为子簇头和子簇成员。基于分簇头之间的通信来选择新簇头,这样就降低了消息传输量。在[Gupta]算法中,基站统一收集来自节点的信息,然后运行聚类算法,这一过程产生了巨大的消息传输量。在[CHEF]算法中,基站不需要从所有节点收集信息,所以[CHEF]算法要优于[Gupta]算法。本文提出的DFLC算法通过筛选最有可能成为根节点的那个节点的信息,使中间节点减少了从叶节点发到根节点的信息量,所以产生的数据量最小。
不同算法的能量消耗,如图4所示。可以看出,随着仿真时间的增加,所有算法的能量消耗也都将会增加。其中,[DFLC]算法产生的能源消耗最低,[LEACH]算法产生的能源消耗最高。[ACAWT]算法中,在新簇头的选择阶段,分簇头向整个簇广播数据,这就导致产生高能耗,尤其在有大量簇头数的情况下。尽管[Gupta]算法考虑了能耗、节点浓度和中心参数等因素,收集节点和基站之间的数据,在基站集中运行模糊逻辑系统的过程仍然导致了较大的能源消耗。[CHEF]和[Gupta]算法类似,与之主要不同点是使用了局部簇头选举机制,从而使基站不需要从所有节点收集信息。[LEACH]算法完全取决于概率模型,导致簇头节点的能量被迅速消耗。
不同仿真时间下各算法中存活节点的数量,如图5所示。可以看出,随着时间的增加,存活节点数量不断减少。其中,本文[DFLC]算法中存活节点数最多,而[LEACH]算法最少。因为与[LEACH,][Gupta]和[CHEF]算法不同的是,[DFLC]算法中传输消息的数量较少,能量消耗低,存活节点数也高于其他算法。
有限的能源是WSN的一个非常重要的约束。由于能源的消耗,节点可能会失效,这就导致不能及时完成正常任务,这就需要一个容错机制,当节点失效后,用另一个节点来代替它继续发挥作用,继而使整个过程能够继续进行。为此,本文[DFLC]算法中集成了容错机制。图6为各个算法中容错机制的性能。实验中,通过故意丢弃节点的数据包来制造一些故障节点。将传送的所有数据包记为“提供数据”,成功传输的数据包记为“投递数据”。从图6可以看出,和其他没有考虑系统故障情况的算法相比,本文提出的算法具有最好的性能。同时,[DFLC]算法还与文献[12]提出的具有簇头容错聚类技术的[FTFC]算法进行比较。结果表明,[DFLC]的容错性能优于[FTFC]。
为了延长系统寿命,需要均衡簇头负载。将本文算法同现有的2种WSN负载均衡分簇算法:[EELBC][13]和[LBC][14]进行比较,结果如图7所示。实验中计算了6组簇头的能耗平均值作为能量消耗率。可以看出,[DFLC]算法具有最低的簇头能量消耗率。
4 结 语
本文提出了一种基于模糊逻辑的WSN分布式聚类算法(DFLC)。通过仿真实验,将本文算法与[LEACH,][ACAWT,][Gupta]和[CHEF]算法在产生消息数量、能源消耗、存活节点数、容错性、负载平衡等方面进行比较。结果表明,DFLC算法优于其他分簇算法。
在今后工作中,将进一步研究在不同类型的移动模型上执行分布式模糊逻辑方法。
参考文献
[1] 李建洲,王海涛,陶安.一种能耗均衡的 WSN 分簇路由协议[J].传感技术学报,2013,26(3):396?401.
[2] 蒋畅江,石为人,唐贤伦.能量均衡的无线传感器网络非均匀分簇路由协议[J].软件学报,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] 顾相平,孙彦景,钱建生.一种改进的无线传感器网络LEACH?ED算法[J].传感技术学报,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] 任塨晔,赵季红,曲桦.基于模糊逻辑的多终端协同的垂直切换决策算法[J].通信学报,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.