一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于植物群落行为的无线传感器网络目标定位算法

2022-06-08 13:10:57 来源:中国专利 TAG:


1.本发明属于计算机网络和人工智能领域,具体涉及一种基于植物群落行为的无线传感器网络目标定位算法。


背景技术:

2.无线传感器网络的节点之间以无线方式进行通信,采用自组织方式进行数据远程传输。无线传感器网络目标定位算法用于将源节点的数据包逐跳传输到目的节点,包括两个主要任务,即规划源节点和目的节点之间的最优单跳或多跳路径,并在该优化路径的网络节点上依次转发数据。任一无线传感器网络节点均具备恢复链路连接、位置定位、拓扑发现和路由决策能力,既可以感知环境、采集数据,也可以转发、中继数据。地理位置路由往往需要获取传感器节点的位置信息,在供应链、物流、农业、食品工业和医疗等领域的无线传感网络中也经常需要获取节点的精确定位。
3.无线传感网络节点定位算法一般分两大类,即基于测距的定位算法(range-based)和免测距定位算法(range-free)。
4.基于测距的定位算法需要测量未知节点与信号发射节点之间的无线信号空间和时间信息,借助几何关系来推算节点位置。测量定位算法主要包括两个步骤,一方面对未知节点进行距离/角度测量,另一方面是整合测量结果并计算节点位置。常用的测量信息包括:信号到达角度(angleofarrival,aoa)、信号到达时间(timeofarrival,toa)、接收信号强度rss(receivedsignalstrength)、信号到达时差(timedifferenceofarrival,tdoa)。基于测距的定位算法需要使用专门的检测装置来测量上述变量,并经多次反复测量来保证定位精度,部署成本相对较高。
5.免测距的定位算法只需获取锚节点和网络连接的信息,无需使用昂贵的检测装置和专门硬件支持,部署成本低,但定位精度有限。免测距定位算法通常包括三大类,即基于锚节点的近似算法、基于连接的算法和事件驱动的算法。指纹定位算法是最常用的免测距定位算法,通常在定位区域预先部署多个位置固定的锚节点和参考节点,锚节点保持额定功率不断发射无线信号,各参考节点不断测量锚节点的信号rss。单个参考节点位置和其测量的rss组成位置指纹,简称指纹。未知节点也测量各个锚节点的rss,并与位置指纹进行比较,从而计算出传感器节点位置。指纹定位算法会在定位空间建立一个指纹数据库,在定位空间各点的位置坐标和不同锚节点的rss信息之间建立联系。指纹定位时只需根据指纹数据库的指纹和位置关系信息,通过未知节点接收到的rss信息计算对应位置信息。指纹定位算法适合在复杂多变的传播环境中使用,包括多径和nlos(non-lineofsight)环境,定位性能好,近些年得到了广泛研究和应用。
6.传统的无线传感器网络目标定位算法,具有以下缺点:
7.1、计算资源要求高。通常的无线传感器网络定位算法包括两个主要步骤,第一步是锚节点和参考节点定位,建立所有参考节点的定位数据,构建模式特征;第二步是在线的未知节点定位,通过匹配计算选择概率最大的参考节点作为最终定位。两步计算均需要对
所有锚节点和参考节点进行定位计算和匹配计算,往往消耗较多的计算资源。而无线传感器网络节点由于计算能力和存储容量的限制,难以承担大量和复杂的目标定位计算,全网目标定位数据也难以保存。
8.2、算法效率低。无线传感器网络目标定位算法在离线测量、在线测量过程中所受到的影响因素比较多,包括节点能源限制、发射能量、局部拓扑信息、动态变化、可扩展性、复杂度、路由更新策略。设计不好的话,很容易影响算法的效率。
9.3、能量消耗大。复杂的目标定位算法往往需要消耗更多的能量,而无线传感器网络的能量受限,传感器节点多由电池提供能量,通常没有外部能源补充。因此,无线传感器网络目标定位算法需要考虑能量效率。
10.4、拓扑复杂。无线传感器网络拓扑会随着节点的动态加入、退出、失效而变化。无线传感器网络往往节点数量多,且网络节点通信范围有限,网络节点通常只保留局部拓扑信息。常规的目标定位算法并不适用于动态变化的无线传感器网络,特别是大规模的无线传感器网络。


技术实现要素:

11.针对现有技术中存在的上述问题,本发明提出了一种基于植物群落行为的无线传感器网络目标定位算法,设计合理,解决了现有技术的不足,不维护复杂的目标定位数据,使用概率式启发算法和分布式计算,在提高算法效率的同时,降低了能量消耗和计算资源要求。
12.一种基于植物群落行为的无线传感器网络目标定位算法,它包括以下步骤:
13.步骤1,由植物群落对无线传感器网络目标定位数据进行初始化;采集无线传感器网络的锚节点、参考节点的定位数据作为植物群落算法的输入数据,用户根据目标定位计算任务要求初始化植物群落参数,并选择目标定位计算函数对植物群落算法的目标定位数据进行评估;
14.步骤2,由植物群落在无线传感器网络中进行播种操作并计算锚节点和参考节点的目标定位数据;植物群落随机产生一组植物群落个体连接锚节点、参考节点和未知节点,每个植物群落个体使用一系列二进制位串表示锚节点、参考节点和未知节点的连接状态;
15.步骤3,由植物群落在无线传感器网络中进行生长操作并对未知节点进行目标定位;植物群落个体分别随机搜索新的传感器节点,并重新连接锚节点、参考节点和未知节点,再修改植物群落个体的一部分二进制位重新编码;
16.步骤4,由植物群落在无线传感器网络中进行开花操作并随机选择锚节点和参考节点进行目标定位;分别按锚节点为源节点方向,以及锚节点为目的节点方向,分别计算两个方向上植物植株个体的目标定位计算函数,取两个目标定位计算函数结果的平均值作为未知节点的目标定位数据;
17.步骤5,由植物群落在无线传感器网络中进行结果操作并计算目标定位数据;植物植株个体互相交换植物群落个体的一部分二进制位,并重新编码连接未知节点到锚节点和参考节点的路由,再重新计算植物植株个体的目标定位计算函数;
18.步骤6,由植物群落输出无线传感器网络目标定位数据并结束算法;植物群落算法通过步骤2至步骤6的迭代计算,选择符合要求的锚节点或参考节点位置作为无线传感器网
络未知节点的目标定位数据。
19.在步骤1中,包括以下子步骤:
20.子步骤1-1,初始化无线传感器网络定位数据和未知节点目标定位数据;定位数据包括无线传感器网络的节点数量,节点类型,接收信号强度rss,节点的能量,节点发射功率,节点发射距离;采集无线传感器网络的锚节点、参考节点的定位数据,清空未知节点的目标定位数据;
21.子步骤1-2,初始化植物群落参数,包括植物群落中植株种群的大小,植物植株个体的数值类型和数值大小,植物植株的路由目标定位数据,植物群落的生长变异概率,开花概率,结果概率;
22.植物群落种群大小,即植物群落中植物植株个体的数量;所述植株个体的数值类型,包括数值的整型,浮点型,布尔型,有符号数或无符号数,数据结构类型;所述植株个体的数值大小,即数值的表示范围,正数或负数;所述植物植株的目标定位数据,用于对无线传感器网络的目标进行定位计算,其函数计算输入包括无线传感器网络的传播距离,工作能耗,接收信号强度rss,目标定位误差;所述植物群落的生长变异概率,指植物植株在生长操作过程中数值有一定概率发生突变,即目标定位数据发生变化;所述植物群落的开花概率,指植物植株在开花操作过程中数值有一定概率被选择进行开花操作,即目标定位数据有可能延续到下一轮迭代计算;所述植物群落的结果概率,指植物植株在结果过程中数值有一定概率互相学习进行结果操作,即不同的目标定位数据互相学习;所述锚节点,也称为信标节点,为无线传感器网络中用于作为位置基准的若干固定节点,地理位置确定;所述参考节点,为无线传感器网络中用于位置参考的若干传感器节点,地理位置不一定确定,但可以实时测量得到其位置;所述未知节点,为无线传感器网络中需要进行目标定位的节点;
23.子步骤1-3,清空数据集合,包括清空植物植株个体的目标定位数据,植物植株播种集合,植物群落开花集合,植物群落结果邻居对集合;
24.植物植株播种集合,表示进行播种操作的植物植株个体集合;所述植物群落开花集合,表示进行开花操作的植物植株个体集合;所述植物群落结果邻居对集合,表示进行结果操作的多个植物植株个体配对的集合;
25.子步骤1-4,初始化植物群落算法起始条件和终止条件,包括计算开始时间,计算结束时间或迭代计算次数限制,结束误差判断阈值;
26.在步骤2中,包括以下子步骤:
27.子步骤2-1,随机生成植物群落中植株个体的初始值;按植物群落种群大小,随机生成一个植物植株播种集合,播种集合元素的个数即为植物群落种群大小,集合中每个元素即为植物植株个体;植物群落中植株个体的数值表示锚节点和参考节点的目标定位数据,以及锚节点和参考节点相对未知节点的目标定位数据;
28.子步骤2-2,按照锚节点到参考节点,以及锚节点到未知节点的方向,计算植物群落中植物植株个体的目标定位数据;
29.子步骤2-3,不断循环子步骤2-1,2-2,直至植物群落中所有植物植株个体的目标定位数据计算完成;
30.子步骤2-4,按与子步骤2-2相反方向,即按照参考节点到锚节点,以及未知节点到锚节点的方向,重新计算植物群落中植物植株个体的目标定位数据;
31.子步骤2-5,不断循环子步骤2-4,直至植物群落中所有植物植株的相反方向上目标定位数据计算完成,即按照参考节点到锚节点,以及未知节点到锚节点的方向上的目标定位数据计算完成;
32.子步骤2-6,对每一对相反方向的目标定位数据求平均值;即锚节点到参考节点方向的目标定位数据,参考节点到锚节点方向的目标定位数据,两者求平均值,作为锚节点与参考节点之间的目标定位数据;类似的,锚节点到未知节点方向的目标定位数,未知节点到锚节点方向的目标定位数据,两者求平均值,作为锚节点与未知节点之间的目标定位数据;
33.子步骤2-7,比较锚节点与参考节点之间的目标定位数据,锚节点与未知节点之间的目标定位数据,未知节点将目标定位计算函数最优的参考节点定位数据作为其目标定位数据;
34.在步骤3中,包括以下子步骤:
35.子步骤3-1,单个植物植株按植物群落生长变异概率在无线传感器网络中随机搜索一个锚节点或参考节点作为变异节点,替换步骤2中的植物植株个体中的一个锚节点或参考节点;
36.子步骤3-2,单个植物植株个体搜索变异节点能够连通该未知节点的新路由,并将该变异节点和新路由上的所有网络节点添加到该植物植株个体的路由节点集合中;
37.子步骤3-3,不断循环子步骤3-1和子步骤3-2,直至植物群落中所有植株个体完成一次随机搜索,每个植物植株个体均添加新路由和对应的变异节点到各自的植物植株个体的路由节点集合中;
38.在步骤4中,包括以下步骤:
39.子步骤4-1,按照开花概率从子步骤2-7中选择若干播种操作的植物植株个体添加进植物群落开花集合;
40.子步骤4-2,按照开花概率从子步骤3-3中选择若干生长的植物植株个体添加进植物群落开花集合;
41.子步骤4-3,检查植物群落开花集合的大小,是否与植物群落种群大小一致;如果植物群落开花集合的大小小于植物群落种群大小,则返回子步骤4-1和4-2,继续添加植物植株个体,直至植物群落开花集合的大小与植物群落种群大小一致,进入步骤5;如果植物群落开花集合的大小大于植物群落种群大小,则随机删除一个开花集合元素,直至植物群落开花集合的大小与植物群落种群大小一致,进入步骤5;开花集合中的每一个植物植株均可以进入步骤5,进行植物群落结果计算;反之,未选择到开花集合的植物植株被放弃,不进行步骤5,不进行植物群落结果计算;
42.在步骤5中,包括以下步骤:
43.子步骤5-1,植物群落开花集合中的单个植物植株个体随机选择一个邻居植物植株个体,按照植物群落结果概率学习邻居植物植株个体的一部分路由,这两个植物植株个体组成邻居对,以成对方式添加进植物群落结果邻居对集合中;
44.子步骤5-2,不断循环子步骤5-1,直至植物群落开花集合中的所有植物植株个体均被选入植物群落结果邻居对集合中,即植物群落开花集合中每一个植物植株个体均出现在植物群落结果邻居对集合的邻居对中;
45.子步骤5-3,植物群落结果邻居对集合中每一对植物植株个体按照植物群落结果
概率互相交换一部分路由信息;优选地,植物群落开花集合中的单个植物植株个体允许多次被邻居植物植株个体选中,允许同时出现在多个邻居对中;
46.子步骤5-4,植物群落结果邻居对集合中每个邻居对中的植物植株个体,根据互相交换的一部分路由信息调整路由网络节点,重新构建新路由,并将新路由中的网络节点添加进单个植物植株个体中;
47.子步骤5-5,按照锚节点到参考节点,以及锚节点到未知节点的方向,计算植物群落中单个植物植株个体的目标定位数据;
48.子步骤5-6,不断循环子步骤5-5,直至植物群落中所有植物植株个体的目标定位数据计算完成;
49.子步骤5-7,按与子步骤5-5相反方向,即按照参考节点到锚节点,以及未知节点到锚节点的方向,重新计算植物群落中植物植株个体的目标定位数据;
50.子步骤5-8,不断循环子步骤5-7,直至植物群落中所有植物植株的相反方向上目标定位数据计算完成,即按照参考节点到锚节点,以及未知节点到锚节点的方向上的目标定位数据计算完成;
51.子步骤5-9,对每一对相反方向的目标定位数据求平均值;即锚节点到参考节点方向的目标定位数据,参考节点到锚节点方向的目标定位数据,两者求平均值,作为锚节点与参考节点之间的目标定位数据;类似的,锚节点到未知节点方向的目标定位数,未知节点到锚节点方向的目标定位数据,两者求平均值,作为锚节点与未知节点之间的目标定位数据;
52.子步骤5-9,依次不断循环子步骤5-8,直至植物群落结果邻居对集合中的全部植物植株个体的目标定位数据计算完成;
53.在步骤6中,包括以下步骤:
54.子步骤6-1,判断迭代计算次数是否符合预定的迭代计算次数限制,如果符合,则结束计算,从子步骤5-9计算出的结果操作中植物植株个体中选择最优的植物植株个体作为未知节点的目标定位数据,并输出对应植物植株个体的数值和对应的锚节点或参考节点位置,作为无线传感器网络目标定位结果,本算法结束;反之,如果不符合预定的迭代计算次数限制,则进行子步骤6-2;
55.子步骤6-2,比较子步骤2-7所得出的播种操作步骤中植物植株个体的目标定位数据,与子步骤5-9计算出的结果操作中植物植株个体的目标定位数据,两者进行数值大小的比较,是否符合结束误差判断阈值;如果子步骤2-7所得出的目标定位数据,与子步骤5-9中所得出的目标定位数据,两者的差值不高于结束误差判断阈值,则不再进行下一步操作,结束计算,从子步骤5-9计算出的结果操作中植物植株个体中选择最优的植物植株个体作为未知节点的目标定位数据,并输出对应植物植株个体的数值和对应的锚节点或参考节点位置,作为无线传感器网络的目标定位结果,本算法结束;如果子步骤2-7所得出的目标定位数据,与子步骤5-9中所得出的目标定位数据,两者的差值高于结束误差判断阈值,则进入子步骤6-3;
56.子步骤6-3,按植物群落种群数量的一半来选择子步骤5-9中植物植株个体,添加进子步骤2-1中植物植株播种集合;进一步地,按植物群落种群数量的一半来选择子步骤2-7中植物植株个体,也添加进子步骤2-1中植物植株播种集合;两部分植物植株个体重新组成新的植物群落种群,植物群落种群大小不变,重新进行播种操作,并转到子步骤2-2,重新
开始下一次计算,并记录迭代计算次数。
57.与现有技术相比,本发明具有如下技术效果:
58.1、计算资源要求低。本算法中无线传感器网络节点不需要很高的计算能力和存储容量的限制,不需要承担复杂的目标定位计算,也不需要保存全网目标定位数据。本目标定位算法在锚节点和参考节点的定位测量,以及未知节点的目标定位测量过程中,不需要依赖全局目标定位数据的建立、维护、更新、查找的操作,而是通过植物群落中多个植物植株个体的概率搜索,可部署在不同的传感器网络节点上进行分布式计算。
59.2、算法效率高。本算法没有使用复杂的循环嵌套,而是通过植物群落的播种、生长操作、开花操作、结果操作,依次完成计算任务,大大降低了算法的时间复杂性和空间复杂性。本算法在锚节点、参考节点、未知节点的目标定位测量过程中允许用户根据使用场景自行设计目标定位计算函数,综合考虑所需的因素和指标,包括节点能源限制、发射能量、局部拓扑信息、动态变化、可扩展性、复杂度、路由更新策略,从而进一步提高算法的效率和不同场景下的适用性。
60.3、能量消耗低。本算法不需要维护复杂的路由表和全局的目标定位数据,不需要复杂的路由表和目标定位数据库的建立、维护、更新、查找的操作,而是使用概率式的启发搜索方法,通过植物群落的植物植株个体的概率搜索,分布式计算实现目标定位。本算法可在无线传感器节点上进行分布式计算,不需要所有节点均参加发射数据和参与目标定位,而且按概率选择的节点参与目标定位计算,总体运算量低,能量发射要求低,大大提高了能量效率。
61.4、拓展性好。本算法可在分布式无线传感器节点上完成计算任务,邻居节点共同完成更复杂的目标定位计算任务,允许无线传感器网络拓扑随着节点的动态加入、退出、失效而变化,也允许锚节点和参考节点动态变化。无线传感器网络的节点数量越多,整体计算能力就越强大,而网络节点只需保留局部拓扑信息,更适合大规模的无线传感器网络目标定位。
附图说明
62.下面结合附图和实施例对本发明作进一步说明:
63.图1为本发明的工作方法流程图。
具体实施方式
64.如图1所示,一种基于植物群落行为的无线传感器网络目标定位算法,通过模拟植物群落的播种、生长、开花、结果的行为来实现无线传感器网络的目标定位。
65.所述植物群落,用于模拟无线传感器网络目标定位问题的解空间;
66.所述植物植株个体,用于模拟无线传感器网络目标定位问题的某一个可行解;
67.所述植物群落种群大小,即植物群落中植物植株个体的数量,用于模拟无线传感器网络目标定位问题的可行解的数量;
68.所述植物植株的目标定位计算函数,用于模拟对无线传感器网络的目标定位计算和评估,用户可以根据使用需要和不同的应用场景选择不同的目标定位计算函数,包括无线传感器网络的传播距离,信号到达角度(angleofarrival,aoa)、信号到达时间
(timeofarrival,toa)、接收信号强度rss(receivedsignalstrength)、信号到达时差(timedifferenceofarrival,tdoa);所述植物植株的目标定位计算函数,其计算结果即为目标定位数据;
69.所述植物群落,包括播种操作,生长操作,开花操作,和结果操作;通过四个操作的不断循环和不断迭代,寻找无线传感器网络目标定位问题的最优解。
70.所述植物群落的播种操作,用于模拟自然界植物群落的种子播种过程,播种既具有随机性,同时也局限于某一植物植株附近;播种操作用于产生每一步计算所需的初始可行解数值;
71.所述植物群落的生长操作,用于模拟自然界植物群落中多个植物植株个体生长过程,植物植株的种子播种虽然是随机的,但只有在有水源附近的种子才可以生长,在植物植株长期的生长过程中,有可能受环境的影响而发生变异,成为新的植物植株个体;生长操作用于产生可行解的变异解,用于单个可行解变化并扩大搜索范围,模拟植物群落的变异功能;所述植物群落的生长变异概率,模拟植物植株在生长操作过程中数值有一定概率发生突变,即可行解以一定的生长变异概率发生小范围变化;较大的生长变异概率便于扩大搜索空间,但也容易降低收敛速度;较小的变异概率容易过早收敛于局部最优解,但也容易提高收敛速度;
72.所述植物群落的开花操作,用于模拟自然界植物群落中多个植物植株个体的开花过程,植物植株个体并非所有的分枝都可以开花,只有生长旺盛且营养丰富的分枝才可以开花;开花操作用于产生可行解的较优的解,用于保留较优解的数值;所述植物群落的开花概率,指植物植株在开花操作过程中数值有一定概率被选择进行开花操作,从而进行结果操作,即较优的解以一定开花概率被保留下来,模拟植物群落的个体自我学习功能;较小的开花概率保留更少的较优解,便于扩大搜索空间,但也容易降低收敛速度;较大的开花概率容易保留更多的较优解,易过早收敛于局部最优解,但也容易提高收敛速度;
73.所述植物群落的结果操作,用于模拟自然界植物群落中多个植物植株通过花粉交换遗传物质,进行结果操作的过程;结果用于不同的可行解交换数据,产生新的可行解;所述植物群落的结果概率,指不同植物植株个体在结果过程中其数值有一定概率互相学习进行结果操作,模拟植物群落的社会学习功能;较小的结果概率使较优解保留的部分更少,便于扩大搜索空间,但也容易降低收敛速度;较大的结果概率使较优解保留的部分更多,易过早收敛于局部最优解,但也容易提高收敛速度;
74.所述无线传感器网络,包括若干基站节点和大量传感器节点组成,每个传感器网络节点都有唯一的id标识;基站节点的结构、功能、能量与传感器节点不同,能量假设为无限制且位置固定;每个传感器节点的结构、功能、能量可能相同,也可能不同,位置可以固定,也可以移动,且位置可测得;所述无线传感器网络路由,指由源节点到目的节点所走过的路径集合,包括从源节点到目的节点所经过的所有节点,含基站节点和传感器节点。
75.一种基于植物群落行为的无线传感器网络目标定位算法,它包括以下步骤:
76.所述的一种基于植物群落行为的无线传感器网络目标定位算法,所述步骤1,由植物群落对无线传感器网络目标定位数据进行初始化;采集无线传感器网络的锚节点、参考节点的定位数据作为植物群落算法的输入数据,用户根据目标定位计算任务要求初始化植物群落参数,并选择目标定位计算函数对植物群落算法的目标定位数据进行评估;包括以
下子步骤:
77.子步骤1-1,初始化无线传感器网络定位数据和未知节点目标定位数据;定位数据包括无线传感器网络的节点数量,节点类型,接收信号强度rss,节点的能量,节点发射功率,节点发射距离;采集无线传感器网络的锚节点、参考节点的定位数据,清空未知节点的目标定位数据;
78.假设无线传感器网络覆盖区域的面积为s,节点的总数目为m,基站作为锚节点的产生比例为n,假设基站的坐标和节点的初始能量已知,若要生成大小相等不重叠的簇,则锚节点的能量覆盖面积为s/n,在每一次计算中,锚节点生成后就不再变动。
79.优选地,在某矩形区域随机分布100个节点模拟无线传感器网络节点;基站作为锚节点数目远小于100个,位置固定;其余节点为参考节点,位置允许变动。
80.子步骤1-2,初始化植物群落参数,包括植物群落中植株种群的大小,植物植株个体的数值类型和数值大小,植物植株的路由目标定位数据,植物群落的生长变异概率,开花概率,结果概率;
81.所述植物群落种群大小,即植物群落中植物植株个体的数量;所述植株个体的数值类型,包括数值的整型,浮点型,布尔型,有符号数或无符号数,数据结构类型;所述植株个体的数值大小,即数值的表示范围,正数或负数;所述植物植株的目标定位数据,用于对无线传感器网络的目标进行定位计算,其函数计算输入包括无线传感器网络的传播距离,工作能耗,接收信号强度rss,目标定位误差;所述植物群落的生长变异概率,指植物植株在生长操作过程中数值有一定概率发生突变,即目标定位数据发生变化;所述植物群落的开花概率,指植物植株在开花操作过程中数值有一定概率被选择进行开花操作,即目标定位数据有可能延续到下一轮迭代计算;所述植物群落的结果概率,指植物植株在结果过程中数值有一定概率互相学习进行结果操作,即不同的目标定位数据互相学习;所述锚节点,也称为信标节点,为无线传感器网络中用于作为位置基准的若干固定节点,地理位置确定;所述参考节点,为无线传感器网络中用于位置参考的若干传感器节点,地理位置不一定确定,但可以实时测量得到其位置;所述未知节点,为无线传感器网络中需要进行目标定位的节点;
82.优选地,植物群落种群大小为population_size,为大于0的正整数;
83.优选地,设置植物群落的概率参数,包括生长变异概率probability1,开花概率probability2,结果概率probability3,且有0《生长变异概率probability1《结果概率probability3《开花概率probability2《1;
84.进一步地,无线传感器网络在工作过程中可能会出现能量消耗不均衡,植物群落在选择锚节点时需要考虑锚节点的能量覆盖范围。优选地,植物群落使用初始化能量与当前节点i的剩余能量的比值来判断能量覆盖范围其中e
re
(i)为节点i的接收所需能量;eo为节点i的发射所需能量。e
re
(i)越小,eci就越大,无线传感器网络节点i当选锚节点的概率就越高,当两个或多个节点当选锚节点的概率相同时,植物群落按无线传感器工作任务优先级选择高优先级的一个做为锚节点;
85.子步骤1-3,清空数据集合,包括清空植物植株个体的目标定位数据,植物植株播种集合,植物群落开花集合,植物群落结果邻居对集合;
86.所述植物植株播种集合,表示进行播种操作的植物植株个体集合;所述植物群落开花集合,表示进行开花操作的植物植株个体集合;所述植物群落结果邻居对集合,表示进行结果操作的多个植物植株个体配对的集合;
87.优选地,植株个体的路由节点集合采用十进制编码方式,每一个集合元素表示经过的传感器节点;例如,当植物植株个体θ1经过的传感器节点数目为9时,有植物植株个体编码为θ1=[3 10 6 9 2 5 8 7 1],表示植物植株θ1的路由节点集合从源节点3开始,经过10,6,9

最后到目的节点1,即完成从源节点到目的节点的路由遍历;
[0088]
植物植株播种集合a={},植物群落开花集合b={},植物群落结果邻居对集合c={},具有最高排序优先级的植物植株d={};
[0089]
优选地,通过式子θ
ij
=l
j,min
r
i,j
(h
j,min-l
j,min
)对植株的路由集合进行初始化,其中,植物植株个体i与j互为邻居,θ
i,j
是植物植株个体的路由集合;l
j,min
为二进制编码的无线传感器网络路由的可行解下界;h
j,min
为二进制编码的无线传感器网络路由的可行解上界;r
i,j
是一个随机数,取值范围是[0,1]。
[0090]
子步骤1-4,初始化植物群落算法起始条件和终止条件,包括计算开始时间,计算结束时间或迭代计算次数限制,结束误差判断阈值;
[0091]
优选地,设置最大迭代计算次数t
max
=200,迭代起始时间t=0,最大迭代结束时间不大于10min或迭代计算次数不大于200次;结束误差判断阈值可用户根据计算任务和计算要求设定,如按相对值计算,通常不小于0.01%;如按绝对值计算,通常不小于0.01%*目标定位数据最大值。
[0092]
所述的一种基于植物群落行为的无线传感器网络目标定位算法,所述步骤2,由植物群落在无线传感器网络中进行播种操作并计算锚节点和参考节点的目标定位数据;植物群落随机产生一组植物群落个体连接锚节点、参考节点和未知节点,每个植物群落个体使用一系列二进制位串表示锚节点、参考节点和未知节点的连接状态;包括以下子步骤:
[0093]
子步骤2-1,随机生成植物群落中植株个体的初始值;按植物群落种群大小,随机生成一个植物植株播种集合,播种集合元素的个数即为植物群落种群大小,集合中每个元素即为植物植株个体;植物群落中植株个体的数值表示锚节点和参考节点的目标定位数据,以及锚节点和参考节点相对未知节点的目标定位数据;
[0094]
优选地,在播种阶段,需要在无线传感器网络中布设一定数量锚节点和参考节点,并记录所有参考节点的位置坐标。通常锚节点和参考节点按网格状部署,确保路由的能量效率最优;优选地,锚节点部署为物理节点,位置固定而且确定;参考节点可以部署为物理节点,也可以部署为虚拟节点;
[0095]
植物群落第一次计算置迭代计算次数iteration=1;植物群落每完成一次计算,迭代计算次数加1;若iteration≤t
max
,转下一步骤,否则结束计算;
[0096]
优选地,播种集合为a={θi|i=1,2,3,

,population_size}
[0097]
设第一个植物植株个体p1的路由θ1,初始化对应的θ1路由长度和目标定位计算函数f(θ1);依此类推,其余植物植株个体的路由θi,初始化对应的θi路由长度和目标定位计算函数f(θi),其中,i=1,2,3,

,population_size;
[0098]
对于植物种群大小population_size,依次更新植物群落中所有植物植株个体的路由θ
σ
={θ1,θ2,


population_size
};
[0099]
更新植物群落中所有植物植株个体的目标定位计算函数f(θi),其中,i=1,2,3,

,population_size;
[0100]
子步骤2-2,按照锚节点到参考节点,以及锚节点到未知节点的方向,计算植物群落中植物植株个体的目标定位数据;
[0101]
进一步地,在所有参考节点处按指定的方式测量和采集各个锚节点的rss值,作为原始目标定位数据,即参考定位数据;
[0102]
进一步地,在每一次迭代计算中,rss数据可视为服从正态概率分布,可以使用联合概率分布来描述;优选地,假设锚节点和参考节点测量rss数据彼此独立,各节点间无相互作用,可使用rss的边缘分布的乘积建立联合分布;进一步地,假设未知节点测量的rss数据也服从正态概率分布,并与从每个参考节点处得到rss数据的概率保持一致,可以选择概率值最大的参考节点作为未知节点的目标定位;
[0103]
子步骤2-3,不断循环子步骤2-1,2-2,直至植物群落中所有植物植株个体的目标定位数据计算完成;
[0104]
子步骤2-4,按与子步骤2-2相反方向,即按照参考节点到锚节点,以及未知节点到锚节点的方向,重新计算植物群落中植物植株个体的目标定位数据;
[0105]
子步骤2-5,不断循环子步骤2-4,直至植物群落中所有植物植株的相反方向上目标定位数据计算完成,即按照参考节点到锚节点,以及未知节点到锚节点的方向上的目标定位数据计算完成;
[0106]
子步骤2-6,对每一对相反方向的目标定位数据求平均值;即锚节点到参考节点方向的目标定位数据,参考节点到锚节点方向的目标定位数据,两者求平均值,作为锚节点与参考节点之间的目标定位数据;类似的,锚节点到未知节点方向的目标定位数,未知节点到锚节点方向的目标定位数据,两者求平均值,作为锚节点与未知节点之间的目标定位数据;
[0107]
进一步地,可以使用概率论和数理统计算法改进本算法的目标定位精度;优选地,同时结合贝叶斯理论,朴素贝叶斯,隐藏贝叶斯,贝叶斯网络,最大似然估计,聚类算法,和统计学算法,在未知节点的后验概率基础上计算未知节点的目标定位;
[0108]
优选地,假设rss
ij
表示第j个参考节点处采集到的第i个锚节点的rss值数据,rss
ik
表示未知节点k处采集到的第i个锚节点的rss值数据,n为锚节点的数目,利用贝叶斯准则可以计算出未知节点的目标定位,基于贝叶斯概率的目标定位计算函数计算公式如下:
[0109][0110]
进一步地,由于无线传感器网络可能存在信号干扰,锚节点、参考节点和未知节点的rss的测量值存在误差,需要对两个方向的目标定位数据求平均值,以减少定位误差;进一步地,还可以采用滤波和傅里叶变换方法对目标定位数据进行预处理,进一步提高目标定位精度;优选地,根据测量的rss数据和实际锚节点、参考节点的坐标对比,进一步校对测量误差,修正目标定位数据。
[0111]
子步骤2-7,比较锚节点与参考节点之间的目标定位数据,锚节点与未知节点之间的目标定位数据,未知节点将目标定位计算函数最优的参考节点定位数据作为其目标定位数据;
[0112]
优选地,未知节点将贝叶斯概率最大的参考节点定位数据作为其目标定位数据;则目标定位数据的最优解为:
[0113]
optimal’=max{p(rss
ij
|rss
ik
)},其中,i=1,2,3,

,population_size;
[0114]
所述的一种基于植物群落行为的无线传感器网络目标定位算法,步骤3,由植物群落在无线传感器网络中进行生长操作并对未知节点进行目标定位;植物群落个体分别随机搜索新的传感器节点,并重新连接锚节点、参考节点和未知节点,再修改植物群落个体的一部分二进制位重新编码;包括以下子步骤:
[0115]
子步骤3-1,单个植物植株按植物群落生长变异概率在无线传感器网络中随机搜索一个锚节点或参考节点作为变异节点,替换步骤2中的植物植株个体中的一个锚节点或参考节点;
[0116]
优选地,节点k被选入植物植株i的路由集合,即k∈θi,且0《probability1《1;
[0117]
子步骤3-2,单个植物植株个体搜索变异节点能够连通该未知节点的新路由,并将该变异节点和新路由上的所有网络节点添加到该植物植株个体的路由节点集合中;
[0118]
子步骤3-3,不断循环子步骤3-1和子步骤3-2,直至植物群落中所有植株个体完成一次随机搜索,每个植物植株个体均添加新路由和对应的变异节点到各自的植物植株个体的路由节点集合中;
[0119]
优选地,计算植物群落中所有植物植株个体的目标定位计算函数f(θi),其中,i=1,2,3,

,population_size;
[0120]
所述的一种基于植物群落行为的无线传感器网络目标定位算法,所述步骤4,由植物群落在无线传感器网络中进行开花操作并随机选择锚节点和参考节点进行目标定位;分别按锚节点为源节点方向,以及锚节点为目的节点方向,分别计算两个方向上植物植株个体的目标定位计算函数,取两个目标定位计算函数结果的平均值作为未知节点的目标定位数据;包括以下步骤:
[0121]
子步骤4-1,按照开花概率从子步骤2-7中选择若干播种操作的植物植株个体添加进植物群落开花集合;
[0122]
子步骤4-2,按照开花概率从子步骤3-3中选择若干生长的植物植株个体添加进植物群落开花集合;
[0123]
优选地,开花集合为b={θi|i=1,2,3,

,population_size},且0《probability2《1;
[0124]
子步骤4-3,检查植物群落开花集合的大小,是否与植物群落种群大小一致;如果植物群落开花集合的大小小于植物群落种群大小,则返回子步骤4-1和4-2,继续添加植物植株个体,直至植物群落开花集合的大小与植物群落种群大小一致,进入步骤5;如果植物群落开花集合的大小大于植物群落种群大小,则随机删除一个开花集合元素,直至植物群落开花集合的大小与植物群落种群大小一致,进入步骤5;开花集合中的每一个植物植株均可以进入步骤5,进行植物群落结果计算;反之,未选择到开花集合的植物植株被放弃,不进行步骤5,不进行植物群落结果计算;
[0125]
所述的一种基于植物群落行为的无线传感器网络目标定位算法,所述步骤5,由植物群落在无线传感器网络中进行结果操作并计算目标定位数据;植物植株个体互相交换植物群落个体的一部分二进制位,并重新编码连接未知节点到锚节点和参考节点的路由,再
重新计算植物植株个体的目标定位计算函数;包括以下步骤:
[0126]
子步骤5-1,植物群落开花集合中的单个植物植株个体随机选择一个邻居植物植株个体,按照植物群落结果概率学习邻居植物植株个体的一部分路由,这两个植物植株个体组成邻居对,以成对方式添加进植物群落结果邻居对集合中;
[0127]
优选地,对于结果集合为c和邻居对{θi,θj},有{θi,θj}∈c;且0《probability3《1;
[0128]
子步骤5-2,不断循环子步骤5-1,直至植物群落开花集合中的所有植物植株个体均被选入植物群落结果邻居对集合中,即植物群落开花集合中每一个植物植株个体均出现在植物群落结果邻居对集合的邻居对中;
[0129]
子步骤5-3,植物群落结果邻居对集合中每一对植物植株个体按照植物群落结果概率互相交换一部分路由信息;优选地,植物群落开花集合中的单个植物植株个体允许多次被邻居植物植株个体选中,允许同时出现在多个邻居对中;
[0130]
优选地,结果集合为c={{θi,θj}|i,j=1,2,3,

,population_size},且0《probability3《1;
[0131]
子步骤5-4,植物群落结果邻居对集合中每个邻居对中的植物植株个体,根据互相交换的一部分路由信息调整路由网络节点,重新构建新路由,并将新路由中的网络节点添加进单个植物植株个体中;
[0132]
子步骤5-5,按照锚节点到参考节点,以及锚节点到未知节点的方向,计算植物群落中单个植物植株个体的目标定位数据;
[0133]
子步骤5-6,不断循环子步骤5-5,直至植物群落中所有植物植株个体的目标定位数据计算完成;
[0134]
优选地,计算植物群落中所有植物植株个体的目标定位计算函数f(θi),其中,i=1,2,3,

,population_size;
[0135]
子步骤5-7,按与子步骤5-5相反方向,即按照参考节点到锚节点,以及未知节点到锚节点的方向,重新计算植物群落中植物植株个体的目标定位数据;
[0136]
子步骤5-8,不断循环子步骤5-7,直至植物群落中所有植物植株的相反方向上目标定位数据计算完成,即按照参考节点到锚节点,以及未知节点到锚节点的方向上的目标定位数据计算完成;
[0137]
子步骤5-9,对每一对相反方向的目标定位数据求平均值;即锚节点到参考节点方向的目标定位数据,参考节点到锚节点方向的目标定位数据,两者求平均值,作为锚节点与参考节点之间的目标定位数据;类似的,锚节点到未知节点方向的目标定位数,未知节点到锚节点方向的目标定位数据,两者求平均值,作为锚节点与未知节点之间的目标定位数据;
[0138]
子步骤5-9,依次不断循环子步骤5-8,直至植物群落结果邻居对集合中的全部植物植株个体的目标定位数据计算完成;
[0139]
优选地,假设rss
ij
表示第j个参考节点处采集到的第i个锚节点的rss值数据,rss
ik
表示未知节点k处采集到的第i个锚节点的rss值数据,n为锚节点的数目,其中,i=1,2,3,

,population_size;利用贝叶斯准则可以计算出未知节点的目标定位,基于贝叶斯概率的目标定位计算函数计算公式如下:
[0140]
[0141]
根据目标定位计算函数计算公式计算所有锚节点和参考节点的贝叶斯概率,并选择贝叶斯概率最大的植物植株个体作为最优的植物植株个体,最优的植物植株个体对应的锚节点或参考节点作为未知节点的目标定位位置。则目标定位数据的最优解为:
[0142]
optimal=max{p(rss
ij
|rss
ik
)},其中,i=1,2,3,

,population_size;
[0143]
经过步骤3,步骤4,步骤5后,未知节点已经在自己位置测量了多个锚节点的rss值,并与参考节点的rss作了对比,通过对比实现了目标定位;定位算法将此rss值与参考节点的rss值进行匹配,找出一个或多个匹配度最高的参考节点;进一步地,将这些参考节点位置坐标取贝叶斯估计值作为未知节点所对应的位置,即未知节点的目标定位。
[0144]
所述的一种基于植物群落行为的无线传感器网络目标定位算法,所述步骤6,由植物群落输出无线传感器网络目标定位数据并结束算法;植物群落算法通过步骤2至步骤6的迭代计算,选择符合要求的锚节点或参考节点位置作为无线传感器网络未知节点的目标定位数据;包括以下步骤:
[0145]
子步骤6-1,判断迭代计算次数是否符合预定的迭代计算次数限制,如果符合,则结束计算,从子步骤5-9计算出的结果操作中植物植株个体中选择最优的植物植株个体作为未知节点的目标定位数据;优选地,根据目标定位计算函数计算公式计算所有锚节点和参考节点的贝叶斯概率,并选择贝叶斯概率最大的植物植株个体作为最优的植物植株个体,最优的植物植株个体对应的锚节点或参考节点作为未知节点的目标定位位置;并输出对应植物植株个体的数值和对应的锚节点或参考节点位置,作为无线传感器网络目标定位结果,本算法结束;反之,如果不符合预定的迭代计算次数限制,则进行子步骤6-2;
[0146]
子步骤6-2,比较子步骤2-7所得出的播种操作步骤中植物植株个体的目标定位数据optimal’,与子步骤5-9计算出的结果操作中植物植株个体的目标定位数据optimal,两者进行数值大小的比较,是否符合结束误差判断阈值;如果子步骤2-7所得出的目标定位数据optimal’,与子步骤5-9中所得出的目标定位数据optimal,两者的差值不高于结束误差判断阈值,则不再进行下一步操作,结束计算,从子步骤5-9计算出的结果操作中植物植株个体中选择最优的植物植株个体作为未知节点的目标定位数据,并输出对应植物植株个体的数值和对应的锚节点或参考节点位置,作为无线传感器网络的目标定位结果,本算法结束;如果子步骤2-7所得出的目标定位数据optimal’,与子步骤5-9中所得出的目标定位数据optimal,两者的差值高于结束误差判断阈值,则进入子步骤6-3;
[0147]
子步骤6-3,按植物群落种群数量的一半来选择子步骤5-9中植物植株个体,添加进子步骤2-1中植物植株播种集合;进一步地,按植物群落种群数量的一半来选择子步骤2-7中植物植株个体,也添加进子步骤2-1中植物植株播种集合;两部分植物植株个体重新组成新的植物群落种群,植物群落种群大小不变,重新进行播种操作,并转到子步骤2-2,重新开始下一次计算,并记录迭代计算次数。
[0148]
优选地,下一次计算的播种集合为a={θi∈d|i=1,2,3,

,population_size},iteration=iteration 1。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献