e盾网络验证_【论文】WSN中基于流网络的K连通算法

1c1ea3a9e1215998480c039b15564014.gif

0ea901dfef3e842847b40f7d50aa53e7.gif

戳上面的蓝字关注我们哦!

WSN中基于流网络的K连通算法

胡洁1, 詹杰1, 任保全2

1 湖南科技大学物理与电子科学学院,湖南 湘潭 411201

2 中国电子设备系统工程公司研究所,北京 100141

摘要

无线传感器网络(WSN)的连通性是保证网络容错性的重要途径。常规的多路由算法往往存在共同路径,这些共同路径会因为节点损坏、通信链路中断等故障导致整个WSN 的连通性过早失效。针对共同路径问题提出了一种解决方案,通过节点分裂的方式在共同路径上生成多条路径,以支持WSN 的容错,保证每个传感器节点都有K条长度有界的、到汇聚节点的不相交最短路径。仿真结果验证了本算法能提供更好的容错性,保证网络的连通性。

关键词: 无线传感器网络 ; 流网络 ; K连通算法 ; 不相交路径路由

1 引言

无线传感器网络(WSN,wireless sensor network)[1]是无线 Ad Hoc 网络的一个重要分支,最早出现在军事领域,并逐步在民用领域得到了广泛应用,目前在环境监测、医疗护理、城市交通、智能农业、海洋环境等领域具有重要的应用价值[2,3,4]。WSN 由于网络节点众多、工作环境恶劣、节点能量有限等原因以及网络多跳传输的特性容易发生故障,因此,提高网络可靠性对 WSN 的应用具有重要意义。容错路由是提高网络可靠性的重要手段,目前文献中提出的路由容错机制大致可归为3类:采用纠错码方式保证传输准确、采用链路重传方式提高传输成功率以及采用多路径方法应对网络损坏[5]。与WSN 的特点及应用相关,多路径机制不仅在容错恢复等方面具有优势,还能实现均衡负载,大幅度提高网络性能和可靠性,但如何建立数据节点到汇聚节点的多条路径是关键问题。

2 研究现状

当前研究人员提出的多路径解决方法可分为4种:几何与图论法、启发式算法、网格法和贪心算法。几何与图论法如 Bhandari[6]给出了网络图中点不相交路径的求取方法。白森[7]基于图论通过对经典球Packing问题方法的研究解决WSN区域覆盖和点集覆盖问题,并首次仅基于连通信息给出了三维空间中的区域覆盖规则。文献[8]研究了几何圆盘覆盖模型,解决了路径上中继节点对感知节点的覆盖问题。文献[9-10]采用Steiner树解决了两个远距离节点的连接问题。文献[11]将中继节点采用六边形结构布局,解决了WSN的三连通问题。Ma等[12]将解决方案分为两部分,连通问题使用生成树的方法解决,覆盖问题使用最短路径的方法解决,但两者的结合讨论不够,没有拓展至多连通和多覆盖问题。几何与图论法可以对网络的部署和连通问题进行抽象建模,用严谨的数学思维解决问题,但该方法的约束条件很难表达,求解质量与收敛时间很难协调,高质量的解决方案往往无解,因此,该方法往往只能作为一种子方法嵌入其他方法中,以提升算法的整体性能。启发式算法是粒子群算法、遗传模拟退火、蛙跳算法等一类算法的统称,是人类从对生物习性的研究中转换而成的算法,可以说该算法是人类生活经验的总结。George等[13]研究了应用遗传算法解决网络容错的节点部署问题。张亚强[14]基于蚁群算法和遗传算法提出了通过多移动传感器节点路径规划算法来规划移动传感器网络能耗平衡的数据收集策略。Li等[15]应用粒子群方法解决WSN 中因节点故障而引发的覆盖问题。启发式算法一般能够得到较优的解决方案,但也有随机性较高、易陷入局部最优等问题。网格法将网络覆盖区域划分为标准网格,并在各网格中求取最优解,如Tang等[16]提出了经典的二覆盖二连通算法,Jing等[17]采用快速行军方法提出了基于网格的大规模密集WSN定向最小代价路由,陈娟[18]提出了K覆盖多连通算法,朱明[19]提出了以虚拟蜂窝网格建立二维空间中的变步长节点部署算法。网格法降低了问题的复杂度,但网格最优解和全局最优解有一定的差异,特别是由于人为将网格隔离,使得一些跨越网格的最优解丢失,降低了网络性能。贪心算法往往能够极大地提高其求解质量。苗春雨等[20]提出了一种中继节点收益优先方法,可减少需部署的中继节点数量。张娜娜等[21]提出了改进的半贪心优化的节点分布路由协议来寻找最优转发路径。Li等[22]提出了按照权重排序算法,循环添加边以满足中继部署要求。总体来说,贪心算法在WSN寻找多路径路由的4类算法中性能最佳,但还有很大的改进空间。

本文综合几种研究方法的优点,首先以几何与图论法为基础,提出一种基于流网络的K连通算法,在生成最短路径算法的基础上,通过节点分裂以节生成从源节点到汇聚节点的K条不相交最短路径,以提升网络的连通度,算法容易理解且运行稳定,理论和仿真验证了算法的可行性,实现了 WSN 应对节点随机故障的抗毁性,降低了因节点失效而导致数据丢失的概率,并节约了网络部署成本。

3 问题描述

假定 WSN 中节点之间的链路为双向对称链路,应用赋权无向图G=(V,E)表示WSN应用场景中的连通、数据传输关系,V是网络中节点的集合, E为无线链路的集合,表示节点的连通。V中任意两个节点在彼此的通信范围内,则称这两个节点为相邻节点。对V中的任意一对节点(y,h)∈V,y≠h,如果能找到 K 条最短路径连接这对节点(y,)h,并且这K条路径的集合中除了源节点y和目地节点h以外,没有其他的共同节点,则称网络为K条不相交多路径连接,ei 为集合E中的每条边,节点与(y,)h 之间的最短路径为

9e0bb737f5742400bd0c7a1964bd28f9.png

存在不相交路径的流网络图G=(V,E)为有向图,其边ei∈E的容量函数为c i)(e,且c(ei)≥0。图G中存在两个特殊节点:源节点y和汇聚节点h。G中的流是一个实值函数cd0e2806e841b36622d20551269a2b94.png。流具有两种特性:一是容量限制约束特性,即两节点之间的直接流量不得超过两点之间预设的边权重值,f(ei)≤c(ei);二是流量守恒特性,即除源节点y与汇聚节点h以外,路径上每个节点的流入、流出流量相等,

f79fdfc303cf6b5a157ed0b5cb2233a7.png

定义路径P的成本函数为cos t(P)。沿边推流的成本定义为将一个流单元从一个节点发送到它的一个邻节点的单位成本。路径成本为一条路径上沿该边推流的总成本。如果路径的方向与流的方向相反,则用流减去成本。给定一个流网络和一个流,残存网络由一些边组成,这些边可以容纳更多的流。对于有一个源节点和一个汇聚节点的流网络G,任意节点对(v,w)∈E,则(w,v)为其反向边。定义残存网络Gres的剩余容量为cres(v,w),则有

dc08f6dc29f6146b0e8312053b8cf3dc.png

4 K连通不相交路径生成算法

为解决单汇聚节点网络的 K 条不相交路径问题,定义流网络为有向图,网络拓扑为无向图,每条边的总容量为1。设计的K条不相交最短路径算法基于 Ford-Fulkerson[23]与广度优先搜索算法,并应用顶点分裂算法排除相交路径。输入量为图G、源节点y、目标节点h以及需寻找不相交路径的数量K。K=2时的不相交路径算法运行过程如图1所示。

044f0d1f62b1ef679f1ce1cca28ac4fe.png

图1   K=2时的不相交路径算法运行过程

图1(a)为原始网络,希望找到从源节点y到汇聚节点 h 的两条不相交路径。首先采用Ford-Fulkerson算法找到路径P1={y,d,g,h},如图1(a)所示,算法分为以下7步。

1) 从y到h沿 P1流动,得到流网络图,如图1(b)所示。

2) 分裂顶点。除了源节点y和汇聚节点h以外,在残存网络Gres中最短路径上的每个节点都被分裂为两个节点,分裂的节点由零容量的定向边连接,由分裂节点指向原始节点,如图1(c)所示。

3) 修改残余网络。在所选路径上的每条边(v,w)存在两种情况:边两端节点有源节点或汇聚节点;边两端节点没有源节点或汇聚节点。如果v不是源顶点,则存在分裂节点,剩余容量如式(3)所示。

cd38be8c46bc35a9b378348c3a4154bc.png

如果v是源顶点,则有

3f7ab61da143a984cdb30412fada309c.png

将式(4)代入图1(b),得到图1(c),其中, cres(y,d)、cres(d′,g)以及cres(g′,h)在图1(c)残存网络中的流容量为 0,不用画出。而cres(d,y)、cres(g,d′)以及cres(h,g′)的流容量都为1。

4) 替换扩展边。用具有相同容量的两个相对方向的边,替换在最短路径上连接节点的扩展边。在图1(c)的残存网络中,替换连接节点d和g的扩展边,即(a,d)、(e,d)和(f,g),终于源节点。从预备节点处替换相反方向的定向边,即从d'到a、从d'到e、从g'到f。残存网络中的其他边既不在最短路径上,也与最短路径上节点的分裂无关,则不对其修改。

5) 找出增广路径。在每一次迭代中都能发现从y到h的增广路径。如图1所示,在第二次迭代中存在两个可能的增广路径,分别是P2={y,f,g,d',e,h}和P3= {y,a,b,c,h}。因为(g,d')在图1(b)中有相反的流向,cost(P2)=3,cost(P3)=4。因此,P2为下一个增广路径,如图1(c)的粗边所示。

6) 推流。如果增广路径 P 存在,即合并路径上的分裂节点(此时不需要另外的中继节点),并沿P从y到h推流,这样,对P上的每一条边(v,w),流量模型如下

e297efde1ac8d801f98d7cacd84a1e43.png

得到P2={y,f,g,d,e,h},如图1(d)所示。

7) 去除重叠的边。移除已发现路径的重叠边,以获得不相交路径。在图1(a)中有 P1={y,d,g,h},在图1(c)中有 P2={y,f,g,d,e,h}。这两条路径共享一条边,即(d,g)或(g,d)。在删除重叠的边后,图1(d)所显示的结果是P1={y,d,e,h}和P2 ={y,f,g,h},两条路径的长度是3。

5 算法仿真实验分析

为了验证本文算法的正确性及性能,应用MATLAB对算法进行仿真分析。为寻找不同规模网络最大不相交路径数,即求最大K值及跳数,在分布面积分别是边长25 m×6 m、49 m×6 m和100 m×6 m的矩形区域内随机部署25个、49个、100个节点分别进行仿真,节点间的通信距离是10 m。实验平台配置:处理器为Intel Core i3-2310M CPU @2.1 GHz,内存为 8 GB,操作系统为 64 bit Windows 8,采用MATLAB R2015b编译算法。

源节点和汇聚节点网络拓扑图(25 个节点规模)如图2所示,为表明算法的适用性,定义源节点的位置在网络左上角、汇聚节点的位置在网络右下角,使该对节点的距离最大,说明算法的性能。第一条增广路径(25个节点规模)和对第一条增广路径的节点分裂和修改残余网络(25个节点规模)分别如图3和图4所示,即通过算法的流网络图、节点分裂、路径外节点边的修改以及残存网络修改后的路径图,获得更多的增广路径。第一条增广路径是P1={2,21,17,13,9,5,22},路径长度为6,如图3所示。通过k条不相交路径算法找到的第二条增广路径P2 ={ 22,30,5,29,9,28,27,26,21,2},路径长度为9,如图4所示。两条路径除了源节点和汇聚节点(2,22)外,没有共同的节点,寻找到的最大不相交路径数K=2。

16a5c6b75621286f177ee5adacd8c0a3.png

图2   源节点和汇聚节点网络拓扑图(25个节点规模)

第一条增广路径(49个节点规模)如图5所示,对第一条增广路径的节点分裂和修改残余网络 1 (49 个节点规模)和对第一条增广路径的节点分裂和修改残余网络2(49个节点规模)分别如图6和图7所示,图6和图7是49个节点网络的算法运行过程。如图5所示,P1 = {2,30,31,25,18,12,22},路径长度为6。图6和图7为通过节点分裂和残余网络修改获得的两条新的增广路径,P2 ={2,29,23,16,17,10,4,22},P3={2,36,37,38,46,39,32,26,20,21,13,5,22},路径长度分别为7和12。同样,这3条增广路径除了源节点和汇聚节点(2,22)外,没有共同的节点,寻找到的最大不相交路径数K=3。

5676ea067295d0dbb55bc960523e7cea.png

图3   第一条增广路径(25个节点规模)

d75eb1cb32ffb9dc47a419d583dbad89.png

图4   对第一条增广路径的节点分裂和修改残余网络(25个节点规模)

7793124a2de80927b0d867240e2778db.png

图5   第一条增广路径(49个节点规模)

第一条增广路径(100个节点规模)如图8所示,对第一条增广路径的节点分裂和修改残余网络(100个节点规模)如图9所示,图8和图9分别是100个节点规模下寻找到的两条不相交路径,P1={2,21,22},P2={2,31,22}。

dfdbf249a38275636e6888d49ddc7b0a.png

图6   对第一条增广路径的节点分裂和修改残余网络1(49个节点规模)

ce235c22a5ffe3d9f1daa6b0e6af25b4.png

图7   对第一条增广路径的节点分裂和修改残余网络2(49个节点规模)

d9afbd9b7a3c52298d88e0c8b5731af8.png

图8   第一条增广路径(100个节点规模)

不同网络节点规模时的最大不相交路径数如图10所示,从图10中可以看出,随着网络节点数的增加,节点之间连通的概率更大,故可以找到的最大不相交路径数也在增加。

34b5c236bcfd1718e76ea1fa76ed95df.png

图9   对第一条增广路径的节点分裂和修改残余网络(100个节点规模)

50a2d17409c8c483ae1bc2881206e79f.png

图10   不同网络节点规模时的最大不相交路径数

不同K值时的最大路径长度如图11所示,即不同目标K值时,不相交路径的最大跳数。当K值较小时,最大跳数基本保持相等,但随着K值的增加,最大跳数也缓慢增加。说明在寻找不相交最大路径数时,算法能对最大跳数进行一定的限制,通过始终寻找从源节点到汇聚节点间的最短路径,可最大限度地节约网络通信能耗。

不同网络节点规模时的算法运行时间如图12所示,即当 25 个、49 个、100 个节点随机部署在网络中时,算法的运行时间。从图12 可知,网络节点规模对算法的运行时间有影响,并且呈线性增长,说明算法的运算复杂度随节点数的增加而增加。25个、49个、100个节点规模对应的算法运行时间分别为0.174 0 s、0.316 5 s和0.574 6 s。

fa71053776e55846d0acc05505c30b9a.png

图11   不同K值时的最大路径长度

3428e1c874917f48413cb3c620acb184.png

图12   不同网络节点规模时的算法运行时间

6 结束语

为了提高 WSN 的可靠性和顽健性,本文提出了一个解决方案,首先通过 Ford-Fulkerson[23]与广度优先搜索算法生成从源顶点到目标顶点的不相交最短路径,然后根据容错性要求对最短路径上的除源节点和目的节点以外的节点进行分裂,生成多路径,若某些节点分裂后能找到增广路径,则合并分裂的节点;若节点分裂后不能找到增广路径,则将分裂处的节点标记为中继节点,确保网络到汇聚节点的K条不相交路径,并具有长度约束。本文提出的K条不相交最短路径算法的仿真结果表明,能找到2条以上的不相交路径,同时,对算法的性能也进行了分析,节点规模更大的网络能找到的不相交路径数更多,但同时带来的计算复杂度也急剧增加,算法运行时间呈线性增长。算法暂时未考虑最少中继节点问题和算法复杂度问题,下一步的优化工作将对此继续研究,以解决算法的实用性,更好地实现WSN的顽健性和数据的交付。

作者简介 About authors

胡洁(1985-),女,湖南株洲人,湖南科技大学物理与电子科学学院硕士生,主要研究方向为无线传感器网络 。

詹杰(1973-),男,湖南常德人,博士,湖南科技大学物理与电子科学学院教授,主要研究方向为无线传感网络、嵌入式系统和近距离无线通信技术 。

詹杰(1973-),男,湖南常德人,博士,湖南科技大学物理与电子科学学院教授,主要研究方向为无线传感网络、嵌入式系统和近距离无线通信技术 。

END

声明:文本来源若标注错误或侵犯到您的权利,烦请发公众号消息告知,我们将立即删除!
投稿邮箱wlwxb@bjxintong.com.cn
3c651a9cd1505e849d1d4e07fbfdb0aa.png      『物联网学报』办刊方针和业务范围为:刊载物联网及相关交叉学科研究领域具有创新性的基础理论、关键技术、研究热点及基础与应用研究成果的学术论文,充分展示我国研究成果,反映我国的前沿研究水平,为我国正在迅速发展的物联网科技创新与产业服务提供学术支持,促进我国物联网技术与应用领域的发展。

f5f45f55c43a0e7b6fec47a97e315180.png

扫码关注物联网学报官方微信获取更多!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值