本发明涉及一种水下无线传感器网络安全路由控制方法,更具体的说,尤其涉及一种基于量子遗传算法的水下无线传感器网络安全路由控制方法。
背景技术:
海洋资源的开发和海洋权益的保护日益受到重视,水下无线传感器网络(underwaterwirelesssensornetworks,uwsns)就是基于水下环境中的应用提出的。uwsns具有低成本、自组织、分布式等特点,能够在海洋环境监测、资源开发、灾害预警和海洋军事活动等应用提供技术支持,因此uwsns被广泛应用于海洋技术领域。作为无线传感器网络的分支,uwsns在体系架构、网络分层、支撑技术等技术领域与陆地无线传感器网络大致相同。但由于水下工作环境的特殊性,uwsns面临诸多限制和制约,主要表现在以下几方面:
(1)水下通信传输介质受限。电磁波和光信号作为传输介质在水中衰减严重,不适用于远距离传输,因此,通常采用水声信号作为传输介质,但存在传输速率低、端到端传输延迟大的问题。(2)受水声信道制约。由于水声信道端到端传输延迟大,存在严重的多径效应,易导致节点间通信的碰撞。且水下环境未知、多变,环境噪声、船舶和生物产生的噪声均会影响信号的传输可靠性。(3)受硬件条件制约。水下传感器节点无法进行充电和电源更换,因此,能耗问题是uwsns的首要问题。(4)网络拓扑存在未知性和变化性。水下传感器节点的位置由于洋流等因素会发生变化,节点电源用尽失效及新节点的加入均会导致网络拓扑的变化。特别是对于含有水下航行器的应用场景,拓扑结构更加多变。
为了解决以上问题,均衡网络中节点的能耗,从而延长网络的生存期,低功耗自适应集簇分层型协议(lowenergyadaptiveclusteringhierarchy,leach)及基于leach的协议被广泛应用于uwsns。现有的基于leach协议在每一轮簇首选举中,根据节点的剩余能量分类,使得不同类型的节点以不同的概率当选为本轮簇首节点,从而保护能量相对较低的节点。但是需要确定每一轮当中当前节点的所属区域,增加了节点的计算量,加重了节点的运算负担,从而导致了额外能耗。同时leach算法未考虑节点与簇首位置关系,对于水下传感器网络而言,发送能耗随收发双方距离的增加而显著增长,无法实现全局能耗最优。然而,簇首的选择决定了uwsns的性能,是一种多目标全局优化问题。leach协议存在的缺陷导致其不适用于能量极度受限的uwsns。
技术实现要素:
本发明为了克服上述技术问题的缺点,提供了一种基于量子遗传算法的水下无线传感器网络安全路由控制方法。
本发明的基于量子遗传算法的水下无线传感器网络安全路由控制方法,其特征在于,通过以下步骤来实现:
a).建立水下分簇网络模型,设n个水下节点均匀分布于l×l二维水下环境,节点ni∈n,节点集
其中,n为初始节点个数,nd为失效节点及能量低于阈值能量节点的总数;
b).成员节点、簇首节点能量模型、能量参数及信任模型的建立,利用节点的发送能耗与接收能耗之和建立成员节点的能量模型,利用接收汇聚能量与通信能量之和建立簇首节点的能量模型,建立包括剩余能量、能量门限、初始能量和平均剩余能量的能量参数,利用节点正常转发、包的完整性及能量因素的信任值建立信任模型;
c).计算最优簇首数量,最优簇首数量j通过公式(2)进行求取:
上式中,l为部署区域长度,单位m;d(i)r→b为节点到水下汇聚节点的距离,εfs为单位放大功率,εamp为多径衰落模型的单位放大功率;
d).采用量子遗传算法确定最优簇首,包括如下步骤:
d-1).染色体编码,选用量子位对染色体进行编码,成员节点、簇首节点、汇聚节点、失效节点与恶意节点由染色体编码进行区分;
d-2).选取初始种群,将剩余能量、节点与汇聚节点间距离和信任值三者的加权值s(i)作为选取依据,选取加权值s(i)高于阈值的节点为初始种群中的个体;
d-3).种群测量,对初始种群中的每个个体进行测量得出观测态;
d-4).适应度评价,采用剩余能量、节点与汇聚节点间距离以及信任值作为评估参数,构造适应度函数f(i);
d-5).种群更新,首先采用量子旋转门对量子比特进行更新,然后依次进行量子交叉和量子变异操作;
d-6).选择最优簇首,重复执行步骤d-3)至d-5)的进化过程,直至得到最优期望结果;
e).自组成簇、建立路由和数据通信,量子遗传算法完成簇首的选择后,最优个体被选做簇首,其余节点根据预设规则自组加入簇,进行数据通信。
本发明的基于量子遗传算法的水下无线传感器网络安全路由控制方法,步骤b)具体通过以下方法来实现:
b-1).成员节点能量模型的建立,为满足到达接收节点的信号功率为p0,则距离接收节点为d的发送节点的发送能量es需要满足:
上式中a(d)为水声信号功率衰减系数,采用球形扩散模型,a(f)为水下环境吸收系数:
上式中为f载波频率,单位为khz;
节点的发送能耗为:
et=l×(ee+es)(5)
节点的接收能耗为:
er=l×ee(6)
其中,l为数据包的长度,单位bit,ee为驱使电路发送或接收每bit信号所需的能量,单位nj/bit;es为发送端所需能量,该能量需要满足接收端解调器的要求,则完成一次长度为l的数据包传输所需能量为:
et=et+er=l×(2ee+es)(7)
b-2).簇首节点能量模型的建立,簇首负责对簇内数据进行汇聚和处理,并发送给水下汇聚节点,因此,簇首能量模型包括汇聚能量模型和通信能量模型:
对于包含p个节点的簇而言,由p-1个成员节点和1个簇首构成,设数据包长度为l,则每个通信周期中,接收和汇聚能量为:
ea(ch)=(p-1)×l×ea+(p-1)er=(p-1)×l×(ea+ee)(8)
上式中,ea为簇首融合单位bit数据所消耗的能量;
簇首通信能量模型为:
et(ch)=et(ch)=l×(ee+es)(9)
则簇首节点的总能量为:
e(ch)=ea(ch)+et(ch)(10)
b-3).能量参数的建立,e(i)re为节点i的剩余能量,eth为预设的能量门限,ein为初始能量,e(ave)re为网络的平均剩余能量:
b-4).信任模型的建立,信任值用于评估节点的行为,利用节点的正常转发、包的完整性、能量因素进行评估,可得到信任值:
t(i)=δ1×tf+δ2×tc+δ3×te+γ(12)
其中,δ1、δ2、δ3为加权系数,用于平衡各因素间的权重,tf为对节点的正常转发的信任值,tc为对包的完整性的信任值,te为能量因素的信任值,γ为常数,用于补偿水声通信中存在的丢包和通信误差;
则平均信任值为:
本发明的基于量子遗传算法的水下无线传感器网络安全路由控制方法,步骤d)所述的采用量子遗传算法确定最优簇首,具体通过以下步骤来实现:
d-1).染色体编码,选用量子位对染色体进行编码,量子位可以为0态也可以为1态,或者是0和1的任意叠加态,用|x>表示量子态,x取0或1,二维hibert空间的单位向量|ψ>表示一个量子位的叠加态,则一个量子比特的状态可表示为:
|ψ>=α|0>+β|1>(14)
其中,α和β表示相应状态的概率幅,且满足归一化条件|α|2+|β|2=1,|α|2表示量子比特的测量值在|0>态的概率,|β|2表示量子比特的测量值在|1>态的概率,当|α|2=1时,量子比特为0态,|β|2=1时,量子比特为1态,|α|2和||β|2都不为1的情况下量子比特为叠加态;
对于网络中节点进行染色体编码:
其中,
则种群可表示为:
d-2).选取初始种群,初始种群由若干随机选择出的初始解构成,被称为第一代,初始解的选取决定了最优解的计算结果,将剩余能量、节点与水下汇聚节点间距离和信任值三者的加权值作为选取依据:
其中,ω1、ω2与ω3为加权系数,用于调整能量、距离与信任值在种群选取中的权重;
加权值s(i)高于阈值sth的节点被选作初始种群,其中阈值可根据簇首选取执行轮数自适应调整;
根据加权值s(i)及阈值选择的初始种群为:
a0={a1,a2,...,am}(19)
其中,a1,a2,...,am表示加权值的节点;
d-3).种群测量,对种群q(t)中的每个个体进行测量得出观测态:
d-4).适应度评价,适应度参数的选取决定了当前群体遗传到下一代群体中的概率,采用能量、距离和信任值作为评估参数,构造适应度函数:
其中,
d-5).种群更新;
量子比特更新:种群的更新是选取较优个体遗传到下一代,应当保存适量适应度较高的个体又要避免收敛速度过慢,采用量子旋转门对量子比特进行更新:
量子比特[α,β)t也可以表示为三角函数形式[cosφ,sinφ]t,量子旋转门可以表示为:
其中θ表示旋转角度;
利用量子旋转门操作可以得到新的量子比特:
采用自适应动态调整策略,自动修正旋转角θ,根据算法运行的代数和设置的最高遗传代数动态调整量子旋转门的旋转角度θ的大小,控制算法收敛速度;当量子更新个体的适应度值低于平均适应度值,表示该个体不是优良个体,对其旋转角要采用较大的值,反之,要根据适应度值取相应的旋转角:
式中k常为常数,t为目前的遗传代数,max为算法设置的最大遗传代数;
交叉:量子交叉算子采取了量子的相干性做出交叉方法,即采用量子全干扰交叉,首先所有的个体进行随机排列,对全部个体第i做基因循环移动i-1次,直到新的种群具有相同的规模;量子全干扰交叉是在所有个体里完成的,因此能够最大可能的使用染色体信息;
变异:为使结果收敛,并且提高局部搜索力,在量子遗传算法中,采用量子非门来实现变异操作:
在种群中根据预设的概率挑选一些个体,在这些个体中产生一个或多个变异位,通过公式(23)对选中的量子变异位进行概率福操作,得到变异的量子比特:
d-6).选择最优簇首,遗传代数t加1,重复执行d-3)-d-5)的进化过程,如果得到最优期望结果,输出当前的最优个体,即为下一任簇头的候选节点。
本发明的基于量子遗传算法的水下无线传感器网络安全路由控制方法,步骤e)所述的自组成簇、建立路由和数据通信具体通过以下步骤来实现:
e-1).汇聚节点发布簇首信息:遗传算法的运算和执行由水下汇聚节点完成后,水下汇聚节点发送全局广播,包括新任簇首id、簇首数量、簇节点容量、簇首被分配的通信时隙信息;
e-2).传感节点选择簇首并自组成簇:节点接收到广播后,判断自己是否成为簇首,若节点未被选为簇首,则等待接收新任簇首的广播,若节点被选为簇首,则广播自身id、位置坐标和剩余能量信息,邻近节点根据与簇首间的距离及簇首的剩余能量,选取最优的簇加入,发送应答消息;簇首接收到应答消息后,根据簇节点容量、与节点距离决定哪些节点允许加入该簇,发送确认消息给对应节点,分配簇内通信时隙;各节点加入相应簇后,完成树型网络拓扑;
e-3).汇聚节点准备通信:网络组网完成后,汇聚节点发送广播,通知网络中节点准备通信,根据分配的时隙进行数据通信;
若簇首节点剩余能量低于门限能量,则启动新一轮簇首选择,返回步骤a),根据步骤d)重新计算新任最优簇首;若节点能量耗尽或全部失效,则网络通信结束。
本发明的有益效果是:本发明的水下无线传感器网络安全路由控制方法,首先建立水下分簇网络模型,以及建立成员节点、簇首节点能量模型、能量参数及信任模型,然后计算最优簇首数量,采用采用量子遗传算法确定最优簇首,在确定最优簇首的过程中,以及进行染色体编码、选取初始种群、种群测量、适应度评价、种群更新,直至得到期望的最优簇首,最后依据选取的簇首进行自组成簇、建立路由和数据通信;在簇首选择阶段使用量子遗传算法,能够解决多目标优化问题,能够有效平均全局节点平均能耗,延长网络整体寿命,并且具备自适应性,采用信任值评估节点恶意行为,保证网络的安全性,具有广泛的应用价值。
附图说明
图1为本发明的基于量子遗传算法的水下无线传感器网络安全路由控制方法的流程图;
图2为本发明中采用量子遗传算法确定最优簇首的流程图;
图3为本发明中水下节点自组成簇的流程图;
图4为本发明中量子旋转门示意图。
具体实施方式
下面结合附图与实施例对本发明作进一步说明。
如图1所示,给出了本发明的基于量子遗传算法的水下无线传感器网络安全路由控制方法的流程图,其具体通过以下步骤来实现:
a).建立水下分簇网络模型,设n个水下节点均匀分布于l×l二维水下环境,节点ni∈n,节点集
其中,n为初始节点个数,nd为失效节点及能量低于阈值能量节点的总数;
b).成员节点、簇首节点能量模型、能量参数及信任模型的建立,利用节点的发送能耗与接收能耗之和建立成员节点的能量模型,利用接收汇聚能量与通信能量之和建立簇首节点的能量模型,建立包括剩余能量、能量门限、初始能量和平均剩余能量的能量参数,利用节点正常转发、包的完整性及能量因素的信任值建立信任模型;
该步骤具体通过以下方法来实现:
b-1).成员节点能量模型的建立,为满足到达接收节点的信号功率为p0,则距离接收节点为d的发送节点的发送能量es需要满足:
上式中a(d)为水声信号功率衰减系数,采用球形扩散模型,a(f)为水下环境吸收系数:
上式中为f载波频率,单位为khz;
节点的发送能耗为:
et=l×(ee+es)(5)
节点的接收能耗为:
er=l×ee(6)
其中,l为数据包的长度,单位bit,ee为驱使电路发送或接收每bit信号所需的能量,单位nj/bit;es为发送端所需能量,该能量需要满足接收端解调器的要求,则完成一次长度为l的数据包传输所需能量为:
et=et+er=l×(2ee+es)(7)
b-2).簇首节点能量模型的建立,簇首负责对簇内数据进行汇聚和处理,并发送给水下汇聚节点,因此,簇首能量模型包括汇聚能量模型和通信能量模型:
对于包含p个节点的簇而言,由p-1个成员节点和1个簇首构成,设数据包长度为l,则每个通信周期中,接收和汇聚能量为:
ea(ch)=(p-1)×l×ea+(p-1)er=(p-1)×l×(ea+ee)(8)
上式中,ea为簇首融合单位bit数据所消耗的能量;
簇首通信能量模型为:
et(ch)=et(ch)=l×(ee+es)(9)
则簇首节点的总能量为:
e(ch)=ea(ch)+et(ch)(10)
b-3).能量参数的建立,e(i)re为节点i的剩余能量,eth为预设的能量门限,ein为初始能量,e(ave)re为网络的平均剩余能量:
b-4).信任模型的建立,信任值用于评估节点的行为,利用节点的正常转发、包的完整性、能量因素进行评估,可得到信任值:
t(i)=δ1×tf+δ2×tc+δ3×te+γ(12)
其中,δ1、δ2、δ3为加权系数,用于平衡各因素间的权重,tf为对节点的正常转发的信任值,tc为对包的完整性的信任值,te为能量因素的信任值,γ为常数,用于补偿水声通信中存在的丢包和通信误差;
则平均信任值为:
c).计算最优簇首数量,最优簇首数量j通过公式(2)进行求取:
上式中,l为部署区域长度,单位m;d(i)r→b为节点到水下汇聚节点的距离,εfs为单位放大功率,εamp为多径衰落模型的单位放大功率;
d).采用量子遗传算法确定最优簇首,包括如下步骤:
d-1).染色体编码,选用量子位对染色体进行编码,成员节点、簇首节点、汇聚节点、失效节点与恶意节点由染色体编码进行区分;
选用量子位对染色体进行编码,量子位可以为0态也可以为1态,或者是0和1的任意叠加态,用|x〉表示量子态,x取0或1,二维hibert空间的单位向量|ψ>表示一个量子位的叠加态,则一个量子比特的状态可表示为:
|ψ>=α|0>+β1>(14)
其中,α和β表示相应状态的概率幅,且满足归一化条件|α|2+|β|2=1,|α|2表示量子比特的测量值在|0>态的概率,|β|2表示量子比特的测量值在|1>态的概率,当|α|2=1时,量子比特为0态,|β|2=1时,量子比特为1态,|α|2和||β|2都不为1的情况下量子比特为叠加态;
对于网络中节点进行染色体编码:
其中,
则种群可表示为:
d-2).选取初始种群,将剩余能量、节点与汇聚节点间距离和信任值三者的加权值s(i)作为选取依据,选取加权值s(i)高于阈值的节点为初始种群中的个体;
初始种群由若干随机选择出的初始解构成,被称为第一代,初始解的选取决定了最优解的计算结果,将剩余能量、节点与水下汇聚节点间距离和信任值三者的加权值作为选取依据:
其中,ω1、ω2与ω3为加权系数,用于调整能量、距离与信任值在种群选取中的权重;
加权值s(i)高于阈值sth的节点被选作初始种群,其中阈值可根据簇首选取执行轮数自适应调整;
根据加权值s(i)及阈值选择的初始种群为:
a0={a1,a2,...,am}(19)
其中,a1,a2,...,am表示加权值的节点;
d-3).种群测量,对初始种群q(t)中的每个个体进行测量得出观测态;
d-4).适应度评价,采用剩余能量、节点与汇聚节点间距离以及信任值作为评估参数,构造适应度函数f(i);
适应度参数的选取决定了当前群体遗传到下一代群体中的概率,采用能量、距离和信任值作为评估参数,构造适应度函数:
其中,
d-5).种群更新,首先采用量子旋转门对量子比特进行更新,然后依次进行量子交叉和量子变异操作;
量子比特更新:种群的更新是选取较优个体遗传到下一代,应当保存适量适应度较高的个体又要避免收敛速度过慢,采用量子旋转门对量子比特进行更新:
量子比特[α,β]t也可以表示为三角函数形式[cosφ,sinφ]t,量子旋转门可以表示为:
其中θ表示旋转角度;
利用量子旋转门操作可以得到新的量子比特:
采用自适应动态调整策略,自动修正旋转角θ,根据算法运行的代数和设置的最高遗传代数动态调整量子旋转门的旋转角度θ的大小,控制算法收敛速度;当量子更新个体的适应度值低于平均适应度值,表示该个体不是优良个体,对其旋转角要采用较大的值,反之,要根据适应度值取相应的旋转角:
式中k常为常数,t为目前的遗传代数,max为算法设置的最大遗传代数;
交叉:量子交叉算子采取了量子的相干性做出交叉方法,即采用量子全干扰交叉,首先所有的个体进行随机排列,对全部个体第i做基因循环移动i-1次,直到新的种群具有相同的规模;量子全干扰交叉是在所有个体里完成的,因此能够最大可能的使用染色体信息;
变异:为使结果收敛,并且提高局部搜索力,在量子遗传算法中,采用量子非门来实现变异操作:
在种群中根据预设的概率挑选一些个体,在这些个体中产生一个或多个变异位,通过公式(23)对选中的量子变异位进行概率福操作,得到变异的量子比特:
d-6).选择最优簇首,遗传代数t加1,重复执行d-3)-d-5)的进化过程,如果得到最优期望结果,输出当前的最优个体,即为下一任簇头的候选节点。
e).自组成簇、建立路由和数据通信,量子遗传算法完成簇首的选择后,最优个体被选做簇首,其余节点根据预设规则自组加入簇,进行数据通信。
具体通过以下步骤来实现:
e-1).汇聚节点发布簇首信息:遗传算法的运算和执行由水下汇聚节点完成后,水下汇聚节点发送全局广播,包括新任簇首id、簇首数量、簇节点容量、簇首被分配的通信时隙信息;
e-2).传感节点选择簇首并自组成簇:节点接收到广播后,判断自己是否成为簇首,若节点未被选为簇首,则等待接收新任簇首的广播,若节点被选为簇首,则广播自身id、位置坐标和剩余能量信息,邻近节点根据与簇首间的距离及簇首的剩余能量,选取最优的簇加入,发送应答消息;簇首接收到应答消息后,根据簇节点容量、与节点距离决定哪些节点允许加入该簇,发送确认消息给对应节点,分配簇内通信时隙;各节点加入相应簇后,完成树型网络拓扑;
e-3).汇聚节点准备通信:网络组网完成后,汇聚节点发送广播,通知网络中节点准备通信,根据分配的时隙进行数据通信;
若簇首节点剩余能量低于门限能量,则启动新一轮簇首选择,返回步骤a),根据步骤d)重新计算新任最优簇首;若节点能量耗尽或全部失效,则网络通信结束。
本发明具有简单、易实现、对节点性能要求低等特性,适用于二维水下传感器网络,在簇首选择阶段使用量子遗传算法,能够解决多目标优化问题,能够有效平均全局节点平均能耗,延长网络整体寿命,并且具备自适应性和安全性,具有广泛的应用价值。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。