基于K均值算法的双层结构无线传感器网络节点部署方法与流程

文档序号:20040665发布日期:2020-02-28 11:52阅读:164来源:国知局
基于K均值算法的双层结构无线传感器网络节点部署方法与流程

本发明属于无线传感器技术领域,具体涉及一种基于k均值算法的双层结构无线传感器网络节点部署方法。



背景技术:

双层结构无线传感器网络由大量传感器节点通过多跳通信方式以自组织的形式构成网络拓扑,从而实现对目标区域环境等信息数据进行实时监测。双层结构无线传感器网络具有结构扩展性好、管理集中、功耗成本低,可有效地提高网络覆盖率和可靠性;其主要由下层传感器节点与上层骨干节点(即路由节点或中继节点或汇聚节点和基站)组成。数据信息流只能在传感器节点和路由节点或路由节点之间或路由节点或基站之间传输,而不能在传感器节点之间传输。为了保证网络的有效性,节点的连通以及对目标的覆盖显得尤为重要,也是近年来无线传感器网络领域的主要研究课题。目标覆盖也叫点覆盖,需要区域中的目标位置至少在一个传感器节点的感知覆盖范围内。无线传感器网络对被监测区域中位置确定的目标点进行数据采集和监测的同时,需要满足覆盖与连通要求。目前已经有较多针对覆盖的研究,如采用改进的粒子群、等边六角形划分、分布式分簇、构造最小斯坦纳树等覆盖算法;针对网络连通的中继节点部署问题研究算法有voronoi划分、delaunay三角剖分、最短路径、steiner树等近似算法。针对双层结构无线传感器网络面向目标连通覆盖的节点部署的研究缺乏将上述覆盖与连通问题进行统一,应用性强的算法,因此面向目标连通覆盖的节点部署方法,具有较强的工程实践价值。



技术实现要素:

针对目前缺少面向双层结构无线传感器网络目标连通覆盖的节点部署的核心算法现状,本发明的目的在于提供一种基于k均值算法的双层结构无线传感器网络节点部署方法,该方法能够有效地降低节点部署成本,并保证网络所需的连通性与目标点覆盖要求。

为了实现上述目的,本发明采用的技术方案为:

基于k均值算法的双层结构无线传感器网络节点部署方法,包括以下步骤:

步骤1:在目标区域内已知m个目标位置,即集合l={l1,l2,…,lm};传感器节点感知半径rs与通信半径rc,中继节点的通信半径传感器节点位置集合s和基站位置集合即集合s={φ}和将基站位置加入中继节点初始位置集合γ,即γ={b1};

步骤2:根据目标位置集合l和三点定圆——计算几何随机增量法,计算集合l的最小包围圆半径rcircle与圆心坐标c1,如果rcircle≤rs,将c1加入集合s,即s={s1},其中s1=c1,转步骤4;否则转步骤3;

步骤3:计算覆盖目标位置集合l所需部署的传感器节点数n与位置集合s={s1,s2,…,sn},其中n=n;

步骤4:如果元素个数|s|=1,计算欧几里德距离|s1-b1|,并在s1,b1两点间部署个中继节点;否则步骤5;

步骤5:计算覆盖通信传感器节点集合s所需部署的中继节点数o与位置集合γs={γs1,γs2,…,γso},o=o;

步骤6:对中继节点位置坐标集合γo+1}={γs1,γs2,…,γso,b1},构造完全图g(v,e),其中v为顶点集合,e为边集合;根据集合e生成邻接矩阵,使用最小生成树算法,获取最小生成树集合mst={(vi,vj,|vi-vj|)},vi≠vj,vi,vj∈v,vi,vj对应的位置坐标分别为γi,γj;

步骤7:计算连通最小生成树集合mst所需部署的中继节点数p与位置集合γγ={γγ1,γγ2,…,γγp}。

所述步骤3具体包括下列步骤:

步骤3.1:根据目标位置集合l,使用k均值聚类算法进行k=2聚类,初始中心选取集合l中位置相距最远的两个目标;

步骤3.2:对于集合l中每一个元素li,计算其应该属于的类;

步骤3.3:对于每一个类,重新计算该类的中心;

步骤3.4:迭代步骤3.2、3.3;直至新的聚类中心与原中心相等;

步骤3.5:对于每一个类,使用计算几何三点定圆算法计算该类的最小包围圆的圆心位置ci与半径rcircle;

步骤3.6:若该类的最小圆满足rcircle≤rs,则将ci加入传感器节点位置集合s={s1,s2,…,sn},其中s1=c1,s2=c2,…,sn=cn;否则以类中的所有元素更新集合l,并迭代步骤3.1~3.6。

所述的步骤7具体为:

步骤7.1:删除mst中|vi-vj|≤r的元素(vi,vj,|vi-vj|),更新mst;

步骤7.2:若mst不为空,搜索|vi-vj|>2r,在vi,vj两点间等间隔部署个中继节点,同时删除mst中|vi-vj|>2r的元素(vi,vj,|vi-vj|),更新mst并提取所有元素中的顶点,并删除相同的点,组成新集合v;

步骤7.3:对集合v使用k均值聚类算法进行k=2聚类,初始中心选取集合v中相距最远的两个元素的中点;

步骤7.4:对于集合v中每一个元素,计算其应该属于的类别;

步骤7.5:计算新类的中心并迭代步骤7.4,直至新的聚类中心与原中心相等;

步骤7.6:对于每一个类中所有点,计算该类的最小包围圆的圆心ci与半径rcircle;

步骤7.7:若该类的最小圆满足则将ci加入传感器节点位置集合γγ={γγ1,γγ2,…,γγp},其中γγ1=c1,γγ2=c2,…,γγp=cp;否则以类中的所有元素更新集合v,并迭代步骤7.3~7.7;

步骤7.8:删除最终节点部署位置与待连通节点位置相同的部署节点;

步骤7.9:对所有节点重新构造最小生成树,对不连通节点对等间隔插入中继节点以已知通信距离进行连通。

本发明用于双层结构无线传感器网络面向目标覆盖与网络连通规划。在基站、待检测或覆盖点位置已知的条件下,首先采用基于k均值算法部署传感器节点感知待覆盖点,保证每个覆盖点可被其最近的传感器节点感知;然后再次基于k均值算法部署中继节点覆盖已部署的传感器节点,保证每个传感器节点可与其最近的中继节点进行通信;最后基于中继节点的最小生成树与k均值算法再次部署中继节点,保证最小生成树中任意顶点间可以通信,达到网络的连通目的。该算法具有时间复杂度低,参数自适应特点,满足双层结构无线传感器网络的目标覆盖与连通性要求。

附图说明

图1为本发明的基于k均值算法的双层结构无线传感器网络节点部署方法流程图。

图2为本发明的目标覆盖点位置初始坐标图。

图3为本发明的覆盖目标点的传感器节点部署示意图,其中:图3(a)是处理逻辑流程图,图3(b)是最终传感器节点部署图。

图4为本发明的覆盖传感器节点的中继节点部署示意图。

图5为本发明的连通最小生成树的中继节点部署示意图。

具体实施方式

以下结合附图和实施例对本发明作详细说明。

参照图1,基于k均值算法的双层结构无线传感器网络节点部署方法,包括以下步骤:

步骤1:在目标区域内已知m个目标位置,即集合l={l1,l2,…,l14},如图2所示,由图◆表示;传感器节点感知半径rs与通信半径rc,中继节点的通信半径和传感器节点位置集合s和基站位置集合(即图2中□b),即集合s={φ}和将基站位置加入中继节点初始位置集合γ,即γ={b1};

步骤2:根据目标位置集合l和三点定圆——随机增量法,计算集合l的最小包围圆半径rcircle与圆心坐标c1;如果rcircle≤rs,将c1加入集合s,即s={s1},其中s1=c1,转步骤4;否则转步骤3;

步骤3:计算覆盖目标位置集合l所需部署的传感器节点数n与位置集合s={s1,s2,…,sn};

部署覆盖目标点的传感器节点如示意图3所示:

步骤3.1:根据目标位置集合l,使用k均值聚类算法进行k=2聚类,初始中心选取集合l中位置相距最远的两个目标;

步骤3.2:对于集合l中每一个元素li,计算其应该属于的类;

步骤3.3:对于每一个类,重新计算该类的中心;

步骤3.4:迭代步骤3.2、3.3;直至新的聚类中心与原中心相等;

步骤3.5:对于每一个类,使用计算几何三点定圆算法计算该类的最小包围圆的圆心位置ci与半径rcircle;

步骤3.6:若该类的最小圆满足rcircle≤rs,则将ci加入传感器节点位置集合s;否则以类中的所有元素更新集合l,并迭代步骤3.1~3.6。

其处理逻辑流程——二叉树流程,如图3(a)所示,其中data表示集合l,对data进行k=2均值聚类,得聚类数据k1与k2;计算k1与k2的最小包围圆的半径,进行判断是否再次聚类;若其半径大于感知半径,对其进行再次的k=2均值聚类,得聚类数据k11、k12与k21、k22;计算k11、k12与k21、k22的最小包围圆的半径,进行判断;直至得聚类数据的最小圆半径不大于感知半径,得图中的数据k11、k121、k122、k21、k221与k222;

如图3(b)所示,最终传感器节点集合为s={s1,s2,…,s13},其中s1=c1,s2=c2,…,s13=c13;传感器节点由表示,其中虚线圆表示感知区域,实线圆表示待部署位置;通过对比如图2与3(b)发现目标点l9与l11被传感器节点s1覆盖,其余目标点需各自部署一个传感器节点进行感知。

步骤4:如果元素个数|s|=1,计算欧几里德距离|s1-b1|,并在s1,b1两点间部署个中继节点;否则步骤5;

步骤5:计算覆盖通信传感器节点集合s所需部署的中继节点数o与位置集合γs={γs1,γs2,…,γso},计算过程与步骤3相同;其结果如图4所示,为中继节点,虚线圆表示传感器节点通信范围,星号表示连通传感器节点的中继节点待部署位置;

步骤6:对中继节点位置坐标集合γo+1}={γs1,γs2,…,γso,b1},构造完全图g(v,e),其中v为顶点集合,e为边集合;根据集合e生成邻接矩阵,使用最小生成树算法,获取最小生成树集合mst={(vi,vj,|vi-vj|)},vi≠vj,vi,vj∈v,vi,vj对应的位置坐标分别为γi,γj;

步骤7:计算连通最小生成树集合mst所需部署的中继节点数p与位置集合γγ={γγ1,γγ2,…,γγp}。

连通最小生成树的中继节点部署,如示意图5所示:

步骤7.1:删除mst中|vi-vj|≤r的元素(vi,vj,|vi-vj|),更新mst;

步骤7.2:若mst不为空,搜索|vi-vj|>2r,在vi,vj两点间部署个中继节点,同时删除mst中|vi-vj|>2r的元素(vi,vj,|vi-vj|),更新mst,结合图4与图5,可得图4更新后的mst={(v1,v6,|v1-v6|)、(v3,v4,|v3-v4|)、(v4,v5,|v4-v5|)、(v3,v10,|v3-v10|)、(v6,v8,|v6-v8|)、(v7,v8,|v7-v8|)、(v6,v10,|v6-v10|)、(v9,v10,|v9-v10|)},提取所有元素中的顶点,并删除相同的点,组成新集合v={v1,v3,v4,v5,v6,v7,v8,v9,v10};

步骤7.3:对集合v使用k均值聚类算法进行k=2聚类,初始中心选取集合v中相距最远的两个元素的中点;

步骤7.4:对于集合v中每一个元素,计算其应该属于的类别;

步骤7.5:计算新类的中心并迭代步骤7.4迭代步骤7.4,直至新的聚类中心与原中心相等;

步骤7.6:对于每一个类中所有点,计算该类的最小包围圆的圆心ci与半径rcircle;

步骤7.7:若该类的最小圆满足则将ci加入传感器节点位置集合γγ={γγ1,γγ2,…,γγp},其中γγ1=c1,γγ2=c2,…,γγp=cp;否则以类中的所有元素更新集合v,并迭代步骤7.3~7.7;

步骤7.8:删除最终节点部署位置与待连通节点位置相同的部署节点;

步骤7.9:对所有节点重新构造最小生成树,对不连通节点对等间隔插入中继节点以已知通信距离进行连通。

如图5所示,最终传感器节点集合为γγ={γγ1,γγ2,…,γγ9},其中γγ1=c1,γγ2=c2,…,γγ9=c9;中继节点由绿色表示,其中虚线圆表示中继节点通信区域,虚线圆表示待部署位置;通过对比如图4与5发现连通图4中的中继节点,需再部署9个中继节点。

本发明在基站部署位置、传感器节点部署位置、传感器节点与中继节点通信距离已知的条件下,采用k均值聚类算法方法与分层处理方式部署中继节点以达到包围传感器节点与网络连通的目的。因此,通过该部署方法,能够在理论上对无线传感器网络在工程应用前进行仿真模拟。该方法具有所需参数少、计算速度快,且可适应双层结构的无线传感器网络的中继节点部署。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1