标题 | 基于BP神经网络和蚁群的WSN分簇算法的研究 |
范文 | 王改云++胡锦艳 摘 要: 在研究经典低能量自适应分簇路由算法的基础上,提出基于BP神经网络和蚁群的无线传感器网络分簇路由算法。在分簇阶段将BP神经网络应用于每个分簇结构中,把采集的大量信息通过设计好的神经网络模型融合得到反映原始数据特征的少量数据信息。在数据传递阶段将蚁群算法应用到簇间路由机制中,寻找簇头到基站的最佳路径。将融合后的数据通过优化的路径传送到汇聚节点。仿真结果表明,该算法和LEACH算法相比,有效地均衡了网络的能量消耗,并延长了网络的生命周期。 关键词: 无线传感器网络; 蚁群算法; 神经网络; 数据汇聚 中图分类号: TN711?34; TP183 文献标识码: A 文章编号: 1004?373X(2015)17?0045?04 Research on WSN clustering algorithm based on BP neural network and ant colony algorithm WANG Gaiyun, HU Jinyan (Guilin University of Electronic Technology, Guilin 541004, China) Abstract: On the basis of studying the classic low energy adaptive clustering hierarchy (LEACH) algorithm, the clustering routing algorithm of wireless sensor network (WSN) based on BP neural network and ant colony algorithm (ACA) is proposed. In clustering stage, BP neural network is applied to each clustering structure, and a large amount of acquired information is transited to the designed BP neural network model. A little data information reflecting original data features is obtained by fusion. In data transmission stage, ACA is applied to inter?cluster routing mechanism to search the optimal path from the cluster head to the base station. The fused data is transited to clustering node through the optimized path. The simulation results indicate that in comparison with LEACH algorithm, the proposed algorithm can balance network energy consumption effectively, and lengthen the network life cycle. Keywords: wireless sensor network; ant colony algorithm; neural network; data clustering 0 引 言 在无线传感器网络(Wireless Sensor Network, WSN)中,由于传感器网络上节点能量有限,且不能更换电池,因此如何合理高效地使用能源,尽可能多地延长网络的生命周期,成为传感器网络研究的核心问题之一[1]。在无线传感器网络中,研究的重点问题是通信模块的节能,而网络路由是实现网络高效通信的基础,所以把重点放在路由算法的研究上。 在设计路由协议时,考虑均匀使用节点能量和数据融合这两点[2]。在分簇层次结构中,簇首节点对其负责区域的数据进行融合,然后将有用的信息转发给汇聚节点。无线传感器网络在传感器节点感知处理数据方面相当于神经网络的神经元,二者有着类似的功能,再利用传感器节点的路由选择过程和蚁群算法蚂蚁的觅食寻优行为有着极大的相似性,而且蚁群算法具有自组织、自适应、并行搜索等特点,使用蚁群优化设计WSN。近几年来,研究人员开展了很多把神经网络算法和蚁群算法等应用到无线传感器网络的研究。文献[3]提出了将神经网络的层次结构应用到无线传感器网络的分簇结构中,构造一个基于神经网络的数据融合模型,很好地降低了网络的传输能耗,延长了网络生命周期。文献[4]提出基于蚁群和遗传算法相结合的路径优化方法,有效延长了网络的生命周期。文献[5]为大规模基于簇的无线传感器网络提供了一个有效的路由算法(ERC)。采用两层路由,在第一层用LEACH算法选择簇首,第二层通过蚁群算法(ACO),找到一条最佳去汇聚节点的路径,只有簇头参与簇内路由。文献[6]先采用模糊理论的簇头选举算法,根据能量、通信范围、计算能力和邻居节点数等因素采用模糊综合评判法推选簇首;然后在分簇的基础上,采用蚁群算法建立最佳路由。文献[7]通过将节点能量水平和传输距离引入ACO的信息素增量公式,使ACO较好地适应于WSN的路由协议。但是,该算法没有考虑全网能量均衡使用的问题。 本文通过在经典路由算法LEACH的分簇阶段引入BP神经网络,在数据传输阶段引入蚁群算法,提出一种新的基于BP神经网络和蚁群的BPACA分簇算法,该算法有效地延长了网络的生命周期。 1 通信能量消耗模型 本文采用与LEACH算法相同的无线通信能量消耗模型[8],网络中的所有节点都是同构的且能量有限,同时每个节点都有惟一标识(ID)。节点发送[l]b的数据能量消耗由发射损耗和功率放大损耗两部分组成,发送的能量消耗如下: [ETxl,d=lEelec+lεfsd2,d [ERxl=lEelec] (2) 式中:[Eelec]为发送或接收的功耗,当传输距离小于阈值[d0]时,功率放大损耗采用的是自由能量模型;当传输距离大于[d0] 时,功率放大损耗则采用多路径衰减模型,其中相应的参数[εfs]和[εmp]表示的是上述两种情况下单位功率放大时需要的能量。 2 基于BP神经网络和蚁群算法的路由算法 2.1 算法的基本思想 经典的路由算法通常分成三个阶段:簇首选举、簇形成和数据传输。节点分为簇首节点和簇成员节点两种。簇成员节点把数据传输给簇首,簇首负责数据的收集、处理和簇间传输。 本文对无线传感器网络路由LEACH算法进行分阶段改进,在簇首选举阶段采用BP神经网络算法对其进行优化处理,即在簇首节点和成员节点之间利用BP神经网络算法对采集到的原始数据进行融合,融合传感器节点传递给簇首的信息,再将信息传递给汇聚节点;在簇间传递阶段,采用与蚁群算法相结合的方法,由于蚁群算法和无线传感器网络节点的结构十分相似,有并行计算等优点,故使用蚁群算法在此阶段进行优化,整体达到延长网络周期的目的。本算法的流程如图1所示。 2.2 算法的实现过程 2.2.1 簇内路由阶段 簇内路由阶段包括簇首选举阶段和簇形成阶段。先对整个网络进行初始化,按照LEACH协议挑选簇首,簇首挑选稳定后,簇首节点把所有簇内节点的相关信息发送给汇聚节点。在此过程引入BPDF(BPNN Data Fusion)算法[9],该算法是在簇首节点和簇成员节点之间使用BP神经网络对数据进行融合运算。先分簇,然后将各传感器节点检测到的数据发送到它们所在区域内的簇首节点,该算法的结构和无线传感器网络中的一个簇相对应。输入层设于簇成员节点中,隐含层和输出层均设于簇首节点中。BPDF算法的模型结构如图2所示。 在输入层,对采集到的数据进行初步处理,然后等处理后的信息到达簇首节点后,再用隐含层和输出层对其做进一步处理。最后,簇首节点再将处理的结果发送给汇聚节点。BPDF算法选择在无线传感器网络汇聚节点完成对神经网络的训练。 BPDF算法的实现步骤如下: Step1:首先网络初始化,然后分簇并且选举簇首节点,簇首负责将采集到的信息进行传递、发送。 Step2:由Sink节点针对簇首、簇成员节点信息构建BP神经网络。 Step3:应用BP神经网络查找此样本库,并训练与簇成员的信息相搭配的样本获得簇的BP神经网络的有关参数。 Step4:Sink节点把所有神经元参数传递到对应的簇首簇成员节点中。 Step5:分簇稳定后,簇首把接收的信息完成融合。 Step6:簇首向Sink节点输送融合后的数据,在WSN运行中出现的有关数据也可增加到样本库。 2.2.2 簇间路由阶段 在完成簇内路由阶段后,进入簇间路由阶段,也就是数据传输阶段。在簇首将数据传输到Sink阶段,簇首会将数据以多跳的通信方式发到Sink节点,在此采用蚁群算法建立最佳路由。以TSP问题为例,蚁群算法的结构流程图如图3所示。 实现过程为:首先初始化蚁群,根据状态转移概率公式计算的概率选择下一跳元素,修改禁忌表,根据信息素公式进行局部和全局的更新,满足条件结束。 在BPACA算法中具体实现过程如下: (1) 在每个簇首节点上放置[k]只蚂蚁,设置矩阵并初始化。每个蚂蚁都有自己的内存表,用Tabu存储并记录路径的生成,用禁忌表 A_citys存储已经过的节点,以后搜索中不能访问这些节点,用allowk存储允许访问的节点。 (2) 由公式(3)计算出转移概率[pij,]蚂蚁按照此概率转移到下一个访问的簇首节点上,将已经访问过的节点添加到禁忌表中,禁止访问。重复步骤(2),直到每个簇首上的[k]只蚂蚁都访问到 Sink节点。[pkij=(τij)α(ηij)βj∈allowk(τij)α(ηij)β] (3) [ηij(t)=1D(i,j)] (4) [τij=τ′ij+E1α1+Lα2] (5) 式中:[α]和[β]为控制信息素和两簇首之间距离的权重系数;[τij]为链接路径上的信息素浓度;[ηij(t)]为簇首节点[i]到[j]的启发值[。][E1]表示其相邻簇首节点的剩余能量;[L]表示其相邻簇首节点与基站的距离;[α1,][α2]是其相邻簇首节点能量和基站距离所占的比重。 (3) 信息素的更新,从[k]只蚂蚁中挑选出耗能少且路径短的蚂蚁,即[E1]大,[L]小,对其按照公式(5)进行信息素的更新。重复步骤(2)和(3),直到所有的簇首节点都找到自己到 Sink的最佳路径。 (4) 当簇首节点的能量减少到比发送距离为[d0]的数据所消耗的能量还小时,进入下一轮的循环[10]。 3 仿真实验与结果分析 3.1 性能参数 本文采用与文献[8]中相同的无线能量模型,无线发射模块可以根据节点间的距离远近,控制发射功率大小或者自动关闭,以避免接收到不需要的数据。仿真工具采用Matlab,具体的仿真环境和参数为:在100 m×100 m的正方形区域内随机布撒100个节点,初始能量为0.02 J,基站坐标为(50,50),[Eelec=]50 nJ/b,[εfs=]10 pJ/(b·m2),[εmp=]0.001 3 pJ/(b·m4),[EDA=]5 nJ/b,[p=]0.1,packetLength=4 000。 3.2 仿真结果分析 为了验证该算法的性能,将BPACA和LEACH在节点存活数和网络能耗两方面进行了仿真对比。如图4所示,LEACH在第230轮出现节点死亡,而本算法是在接近第600轮出现节点死亡;LEACH对应半数节点死亡的时间在第600轮左右,而本算法在第950轮左右;LEACH节点全部死亡在第1 100轮,而本算法在1 600轮左右。通过将本文路由算法和LEACH算法相比,可知本文算法较好地均衡了网络能耗,节省了节点的消耗,高效地利用了网络中有限的能量。 图4 两种协议存活节点比较图 网络能量消耗如图5所示,从图中可以看出,随着实验的进行,能量消耗都在显著增加,在第1 000轮左右,LEACH算法的能量全部消耗完,而改进的算法是在第1 600轮左右才全部耗尽。由此可以看出,改进的算法有效地减少了网络的能量消耗,从而延长了网络的生命周期。 图5 两种协议网络总能耗比较 4 结 语 本文结合LEACH算法,将神经网络算法应用到分簇阶段,将蚁群算法应用到簇间路由机制中,提出一种基于神经网络和蚁群算法的无线传感器网络分簇路由算法。仿真结果表明,该算法在节点存活方面和节点能量消耗方面有了显著改善,达到了降低系统能耗的目的,延长了网络生存周期。但是还存在不足之处,还可以用优化的蚁群算法进行结合,获得更理想的结果。 参考文献 [1] 孙利民.无线传感器网络[M].北京:清华大学出版社,2005. [2] 杨洋.一种基于LEACH的无线传感器网络路由协议[D].成都:电子科技大学,2006. [3] 俞黎阳,王能,张卫.无线传感器网络中基于神经网络的数据融合模型[J].计算机科学,2009,35(12):43?47. [4] 莫桂江.蚁群?遗传算法的无线传感器网络路径优化[J].微电子学与计算机,2011,28(9):139?142. [5] 陈宇.基于改进蚁群算法的无线传感器网络路由的研究[D].广州:华南理工大学,2012. [6] 张海娟.基于蚁群算法的无线传感器网络分簇路由算法[D].西安:西北大学,2010. [7] CAMILO T, CARRETO C, SILVA J S, et al. An energy?efficient ant?based routing algorithm for wireless sensor networks [C]// Proceedings of 2006 the 5th International Workshop on Ant Colony Optimization and Swarm Intelligence. Brussels: Springer, 2006: 49?59. [8] HEINZELMAN W R, KULIK J, BALAKRISHNAN H. Adaptive protocols for information dissemination in wireless sensor networks [C]// Proceedings of 2001 the 5th Annual International Conference on Mobile Computing and Networking. New York: ACM, 2001: 174?185. [9] 孔玉静,侯鑫,华尔天,等.基于BP神经网络的无线传感器网络路由协议的研究[J].传感技术学报,2013,26(2):246?251. [10] 王桂凤,王勇,陶晓玲.基于蚁群的无线传感器网络分簇路由算法[J].计算机工程,2010,36(18):73?75. |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。