2. 大连大学 通信与网络重点实验室, 辽宁 大连 116622
2. Communication and Network Key Laboratory, Dalian University, Dalian, Liaoning 116622, China
开放科学(资源服务)标志码(OSID):
微纳卫星是指质量为1~100 kg,具有实际使用功能的卫星,其主要特点是体积小、重量轻、功耗低、隐蔽性好、机动灵活、可组网完成任务[1-2]。微纳卫星网络工作环境复杂,易遭受多种类的攻击且承载的业务量多,所以对路由的安全性和服务质量(Quality of Service,QoS)提出更高要求,而传统的卫星网络路由技术由于通常只考虑了跳数的问题[3-5],因此能同时保证数据传输的安全性和网络业务QoS的路由算法成为目前研究的热点。
文献[6-7]分别提出了基于信任机制的安全路由算法,但这两种算法在评估信任值时未考虑节点能量的影响。文献[8-9]提出的信任机制可以防御常见的攻击,但并不能均衡网络中的负载,在计算当前信任值时也没有考虑节点的历史行为。文献[10]提出一种多约束服务选择机制蚁群路由算法,该算法根据网络和用户约束条件的路径消耗指标评价路径的好坏,但初期的收敛速度过慢,容易陷入局部最优解。文献[11]提出的多目标蚁群路由算法减少了网络的平均能耗,但是牺牲了算法的全局搜索能力。文献[12-13]将量子计算与蚁群算法相结合,应用于求解QoS路由,以量子比特编码表示各条路径上的信息素,并通过量子旋转门实现对信息素的更新。
本文提出一种实现多目标优化的Q学习量子蚁群路由算法(Q-learning Quantum Ant Colony Routing Algorithm,QQARA)。该算法综合考虑路径平均信任值和路径费用两个优化目标,同时在路径费用函数中加入量子计算,并将蚁群算法中的信息素映射成Q学习中的Q值,以保证数据传输的安全性和网络业务服务质量。
1 相关机制及参数设计在微纳卫星网络中,将网络拓扑的基本模型抽象为无向图G={V,E},其中,V表示网络中所有微纳卫星节点的集合,
![]() |
Download:
|
图 1 微纳卫星网络结构 Fig. 1 Structure of micro-nano-satellite network |
为解决微纳卫星网络中节点的恶意攻击行为,识别异常节点,提高网络的安全性,通过节点的直接信任值、间接信任值和能量信任值构成的整体信任值,建立节点信任机制。
1.1.1 直接信任值直接信任值[14]是通过自身行为直接检测计算得到的,包括攻击行为信任值和转发行为信任值。
攻击行为信任值用来评估节点的恶意攻击行为。当检测出节点有恶意攻击行为时,减少该节点的信任值,使节点获得较低的信任程度,其计算公式如式(1)所示:
$ {T}_{C}={\mathrm{e}}^{-\psi ({t}_{c}-{t}_{c-1})}\cdot {T}_{C}^{L-1}+d{\left(t\right)}^{L} $ | (1) |
其中:
$ d{\left(t\right)}^{L}=\left\{\begin{array}{l}r{\left(t\right)}^{L}\text{,}r{\left(t\right)}^{L}\in \left(\mathrm{0, 1}\right)\\ n{\left(t\right)}^{L}\text{,}n{\left(t\right)}^{L}\in (-\mathrm{1, 0})\end{array}\right. $ | (2) |
其中:
转发行为信任值用来评估微纳卫星网络中的自私攻击行为。当节点成功转发的数据包数量增加时,该节点的转发行为信任值增加;当节点转发失败次数增加时,该节点的转发行为信任值逐渐降低,其计算公式如式(3)所示:
$ {T}_{\mathrm{R}}=\frac{{T}_{\mathrm{S}}+1}{{T}_{\mathrm{S}}+{T}_{\mathrm{F}}+2}, {T}_{\mathrm{R}}\in \left[\mathrm{0, 1}\right] $ | (3) |
其中:
对节点的攻击行为信任值和转发行为信任值加权求和得到直接信任值
$ {T}_{\mathrm{S}\mathrm{E}}={\zeta }_{1}{T}_{\mathrm{R}}+(1-{\zeta }_{1}){T}_{\mathrm{C}} $ | (4) |
其中:
设定一个恶意节点门限阈值
间接信任值[15]是根据第三方节点的信任值得到,其计算示意图如图 2所示。
![]() |
Download:
|
图 2 间接信任值计算示意图 Fig. 2 Schematic diagram of indirect trust value calculation |
假设节点i的邻居节点
$ \begin{array}{l}{T}_{\mathrm{R}\mathrm{S}}=\frac{\sum\limits_{{m}_{i}\in {Y}_{\mathrm{S}}, {m}_{i}\ne i}\left(\iota {T}_{\mathrm{S}\mathrm{E}}^{\left(i, {m}_{i}\right)}\times \left(1-\iota \right){T}_{\mathrm{S}\mathrm{E}}^{\left({m}_{i}, y\right)}\right)+{T}_{\mathrm{S}\mathrm{E}}}{n+1}, \\ \iota \in \left.\left(\mathrm{0.5, 1}\right.\right]\end{array} $ | (5) |
其中:
对节点的直接信任值和间接信任值加权求和得到综合信任值
$ {T}_{\mathrm{S}\mathrm{S}}={\zeta }_{2}{T}_{\mathrm{S}\mathrm{E}}+(1-{\zeta }_{2}){T}_{\mathrm{R}\mathrm{S}} $ | (6) |
其中:
由于微纳卫星的能量有限,如果不考虑节点剩余能量依旧使其频繁工作,会导致综合信任值较高的节点因耗能过快提前失效,退出网络,因此在建立信任机制时还需要考虑节点的剩余能量。
节点在一次数据转发的过程中所消耗的总能量
$ {E}_{\mathrm{c}\mathrm{o}\mathrm{s}\mathrm{t}}=2{E}_{\mathrm{e}\mathrm{l}\mathrm{e}\mathrm{c}}\cdot N+{E}_{\mathrm{a}\mathrm{m}\mathrm{p}}\cdot N{d}^{2} $ | (7) |
其中:
微纳卫星节点完成传输后剩余能量
$ {E}_{\mathrm{c}\mathrm{u}\mathrm{r}\mathrm{r}\mathrm{e}\mathrm{n}\mathrm{t}}={E}_{\mathrm{i}\mathrm{n}\mathrm{i}\mathrm{t}\mathrm{a}\mathrm{l}}-{E}_{\mathrm{c}\mathrm{o}\mathrm{s}\mathrm{t}} $ | (8) |
其中:
微纳卫星节点当前剩余能量百分比
$ {E}_{\mathrm{p}\mathrm{e}\mathrm{r}}=\frac{{E}_{\mathrm{c}\mathrm{u}\mathrm{r}\mathrm{r}\mathrm{e}\mathrm{n}\mathrm{t}}}{{E}_{\mathrm{e}\mathrm{n}\mathrm{t}\mathrm{i}\mathrm{r}\mathrm{e}}}\times 100\mathrm{\%}, {E}_{\mathrm{p}\mathrm{e}\mathrm{r}}\in \left[\mathrm{0, 1}\right] $ | (9) |
其中:
整体信任值
$ {T}_{\mathrm{T}}={T}_{\mathrm{S}\mathrm{S}}\times \left(1-{T}_{\mathrm{S}\mathrm{S}}\right)+{E}_{\mathrm{p}\mathrm{e}\mathrm{r}}\times {T}_{\mathrm{S}\mathrm{S}} $ | (10) |
![]() |
Download:
|
图 3 整体信任值计算过程 Fig. 3 Calculation process of overall trust value |
假设p为一条从源节点o到目的节点r的路径,
1)时延。路径p处理时延
$ \mathrm{d}\mathrm{e}\mathrm{l}\mathrm{a}\mathrm{y}\left(p\right)=\sum\limits_{{e}_{i, j}\in p}delay\left({e}_{i, j}\right)+\sum\limits_{{n}_{i}\in p}delay\left({s}_{i}\right) $ | (11) |
2)出错率。路径p的出错率
$ \mathrm{l}\mathrm{o}\mathrm{s}\mathrm{s}\left(p\right)=1-\prod _{{e}_{i, j}\in p}(1-\mathrm{l}\mathrm{o}\mathrm{s}\mathrm{s}\left({e}_{i, j}\right)) $ | (12) |
3)跳数。路径p的跳数
$ \mathrm{h}\mathrm{o}\mathrm{p}\mathrm{s}\left(p\right)=\mathrm{n}\mathrm{u}\mathrm{m}\mathrm{b}\mathrm{e}\mathrm{r}\mathrm{s}\left({n}_{i}\right), {n}_{i}\in p $ | (13) |
4)带宽。路径p的带宽
$ \mathrm{b}\mathrm{a}\mathrm{n}\mathrm{d}\mathrm{w}\mathrm{i}\mathrm{d}\mathrm{t}\mathrm{h}\left(p\right)=\underset{{e}_{i, j}\in p}{\mathrm{m}\mathrm{i}\mathrm{n}}\left\{\mathrm{b}\mathrm{a}\mathrm{n}\mathrm{d}\mathrm{w}\mathrm{i}\mathrm{d}\mathrm{t}\mathrm{h}\right(e\left)\right\} $ | (14) |
为避免网络中部分节点出现负载过高的问题,需要考虑节点的负载情况,定义节点i的负载为
$ {L}_{i}=\sum\limits_{x=1}^{m}q\left(x\right) $ | (15) |
$ {L}_{\mathrm{a}\mathrm{v}\mathrm{e}}=\frac{\sum\limits_{i=1}^{n}{L}_{i}}{n} $ | (16) |
其中:
由于微纳卫星具有一定的移动性,会出现链路中断的问题,因此在选择从源节点到目的节点的路径时,还需要考虑路径中链路的可持续时间,尽量选取链路持续时间长的路径,减少因数据传输过程中出现链路中断而造成数据丢失的现象。
在路径p中存在相邻的节点i和节点j,节点i的空间坐标为
$ d=\sqrt{({x}_{i}-{x}_{j}{)}^{2}+({y}_{i}-{y}_{j}{)}^{2}+({z}_{i}-{z}_{j}{)}^{2}} $ | (17) |
设置节点间的最大通信范围为R,当两节点之间的距离
$ \begin{array}{l} \varepsilon = \left\{ {{{[2({x_i} - {x_j})({v_{ix}} - {v_{jx}}) + 2({y_i} - {y_j})({v_{iy}} - {v_{jy}}) + 2({z_i} - {z_j})({v_{iz}} - {v_{jz}})]}^2} - } \right.\\ \;\;\;\;\;\;{\left. {4[{{({v_{ix}} - {v_{jx}})}^2} + {{({v_{iy}} - {v_{jy}})}^2} + {{({v_{iz}} - {v_{jz}})}^2}\left] {} \right[{d^2} - {R^2}]} \right\}^{\frac{1}{2}}} \end{array} $ | (18) |
$ t\left({e}_{i, j}\right)=\frac{-2({x}_{i}-{x}_{j})({v}_{ix}-{v}_{jx})-2({y}_{i}-{y}_{j})({v}_{iy}-{v}_{jy})-2({z}_{i}-{z}_{j})+\epsilon }{2\left[\right({v}_{ix}-{v}_{jx}{)}^{2}+({v}_{iy}-{v}_{jy}{)}^{2}+({v}_{iz}-{v}_{jz}{)}^{2}]} $ | (19) |
则依据该路径p中最先断裂的链路,本次路由过程中可使用的存活时间
$ {t}_{\mathrm{a}\mathrm{l}\mathrm{i}\mathrm{v}\mathrm{e}}=\underset{{e}_{i, j}\in p}{\mathrm{m}\mathrm{i}\mathrm{n}}\left\{t\right({e}_{i, j}\left)\right\} $ | (20) |
本文综合考虑路径平均信任值和路径费用两个优化目标,并将量子计算引入到蚁群算法的状态转移概率计算,同时将蚁群算法中的信息素映射成Q学习中的Q值,以提高路由的整体性能。
2.1 多目标函数的建立为能够同时保证数据传输的安全性和网络业务服务质量,把路径的平均信任值和路径的费用作为两个优化目标,共同构成最优路径的节点性能指标。
路径的平均信任值是反映数据传输安全性的情况,路径的平均信任值越大,数据传输安全性越高。以路径上节点的信任值计算出路径平均信任值作为第一个目标函数
$ {f}_{1}\left(p\right)=\frac{\sum\limits_{i=1}^{{h}_{\mathrm{h}\mathrm{o}\mathrm{p}\mathrm{s}}}{T}_{\mathrm{T}}^{(i, j)}}{{h}_{\mathrm{h}\mathrm{o}\mathrm{p}\mathrm{s}}} $ | (21) |
其中:
路径的费用函数是反映所建立的路径对于各项QoS参数的满足情况,费用值越小,所建立路径的QoS指标越好。在微纳卫星网络中,多QoS路由问题的设计目标就是找到一条或多条满足以下约束条件的路径,使得路径p的费用值
$ \left\{\begin{array}{l}\begin{array}{l}\mathrm{d}\mathrm{e}\mathrm{l}\mathrm{a}\mathrm{y}\left(p\right) < \mathrm{d}\mathrm{e}\mathrm{l}\mathrm{a}{\mathrm{y}}_{\mathrm{m}\mathrm{a}\mathrm{x}}\\ \mathrm{l}\mathrm{o}\mathrm{s}\mathrm{s}\left(p\right) < \mathrm{l}\mathrm{o}\mathrm{s}{\mathrm{s}}_{\mathrm{m}\mathrm{a}\mathrm{x}}\\ \mathrm{h}\mathrm{o}\mathrm{p}\mathrm{s}\left(p\right) < \mathrm{h}\mathrm{o}\mathrm{p}{\mathrm{s}}_{\mathrm{m}\mathrm{a}\mathrm{x}}\end{array}\\ \mathrm{b}\mathrm{a}\mathrm{n}\mathrm{d}\mathrm{w}\mathrm{i}\mathrm{d}\mathrm{t}\mathrm{h}\left(p\right) > \mathrm{b}\mathrm{a}\mathrm{n}\mathrm{d}\mathrm{w}\mathrm{i}\mathrm{d}\mathrm{t}{\mathrm{h}}_{\mathrm{m}\mathrm{i}\mathrm{n}}\end{array}\right. $ | (22) |
$ \left\{\begin{array}{l}\begin{array}{l}\mathrm{d}\mathrm{e}\mathrm{l}\mathrm{a}\mathrm{y}{\left(p\right)}^{\mathrm{*}}=\frac{\mathrm{d}\mathrm{e}\mathrm{l}\mathrm{a}{\mathrm{y}}_{\mathrm{m}\mathrm{a}\mathrm{x}}-\mathrm{d}\mathrm{e}\mathrm{l}\mathrm{a}\mathrm{y}\left(p\right)}{\mathrm{d}\mathrm{e}\mathrm{l}\mathrm{a}{\mathrm{y}}_{\mathrm{m}\mathrm{a}\mathrm{x}}}\\ \mathrm{l}\mathrm{o}\mathrm{s}\mathrm{s}{\left(p\right)}^{\mathrm{*}}=\frac{\mathrm{l}\mathrm{o}\mathrm{s}{\mathrm{s}}_{\mathrm{m}\mathrm{a}\mathrm{x}}-\mathrm{l}\mathrm{o}\mathrm{s}\mathrm{s}\left(p\right)}{\mathrm{l}\mathrm{o}\mathrm{s}{\mathrm{s}}_{\mathrm{m}\mathrm{a}\mathrm{x}}}\\ \mathrm{h}\mathrm{o}\mathrm{p}\mathrm{s}{\left(p\right)}^{\mathrm{*}}=\frac{\mathrm{h}\mathrm{o}\mathrm{p}{\mathrm{s}}_{\mathrm{m}\mathrm{a}\mathrm{x}}-\mathrm{h}\mathrm{o}\mathrm{p}\mathrm{s}\left(p\right)}{\mathrm{h}\mathrm{o}\mathrm{p}{\mathrm{s}}_{\mathrm{m}\mathrm{a}\mathrm{x}}}\end{array}\\ \mathrm{b}\mathrm{a}\mathrm{n}\mathrm{d}\mathrm{w}\mathrm{i}\mathrm{d}\mathrm{t}\mathrm{h}{\left(p\right)}^{\mathrm{*}}=\frac{\mathrm{b}\mathrm{a}\mathrm{n}\mathrm{d}\mathrm{w}\mathrm{i}\mathrm{d}\mathrm{t}{\mathrm{h}}_{\mathrm{m}\mathrm{a}\mathrm{x}}-\mathrm{b}\mathrm{a}\mathrm{n}\mathrm{d}\mathrm{w}\mathrm{i}\mathrm{d}\mathrm{t}\mathrm{h}\left(p\right)}{\mathrm{b}\mathrm{a}\mathrm{n}\mathrm{d}\mathrm{w}\mathrm{i}\mathrm{d}\mathrm{t}{\mathrm{h}}_{\mathrm{m}\mathrm{i}\mathrm{n}}}\end{array}\right. $ | (23) |
$ {f}_{2}\left(p\right)= \\ \frac{{\omega }_{1}\times \mathrm{d}\mathrm{e}\mathrm{l}\mathrm{a}\mathrm{y}{\left(p\right)}^{\mathrm{*}}+{\omega }_{2}\times \mathrm{l}\mathrm{o}\mathrm{s}\mathrm{s}{\left(p\right)}^{\mathrm{*}}+{\omega }_{3}\times \mathrm{h}\mathrm{o}\mathrm{p}\mathrm{s}{\left(p\right)}^{\mathrm{*}}}{{\omega }_{4}\times \mathrm{b}\mathrm{a}\mathrm{n}\mathrm{d}\mathrm{w}\mathrm{i}\mathrm{d}\mathrm{t}\mathrm{h}\left(p\right)} $ | (24) |
其中:
量子计算[16-17]基本原理为:量子态由若干基本状态组成,这些基本状态可以进行叠加形成量子叠加态,当量子叠加态的相对位置和概率幅度方式变化时,就会使基本状态的出现概率也产生相应的变化,从而使原本形成的叠加态也产生对应的形态改变。量子计算具备叠加、并行和干涉的特性[18]。
2.2.1 量子比特量子比特[19]是量子计算中存储信息的基本单元,使用
一个量子比特可以同时存储
$ {p}_{i}=\left[\left.\begin{array}{c}{\alpha }_{1}\\ {\beta }_{1}\end{array}\right|\left.\begin{array}{c}{\alpha }_{2}\\ {\beta }_{2}\end{array}\right|\left.\begin{array}{c}\cdots \\ \cdots \end{array}\right|\begin{array}{c}{\alpha }_{m}\\ {\beta }_{m}\end{array}\right] $ | (25) |
在量子计算中使用量子旋转门更新量子比特的概率幅,其更新方式如式(26)所示:
$ \left[\begin{array}{c}{\alpha }_{ij}^{t+1}\\ {\beta }_{ij}^{t+1}\end{array}\right]=\left[\begin{array}{c}\mathrm{c}\mathrm{o}\mathrm{s}{\theta }_{ij}\\ \mathrm{s}\mathrm{i}\mathrm{n}{\theta }_{ij}\end{array}\begin{array}{c}-\mathrm{s}\mathrm{i}\mathrm{n}{\theta }_{ij}\\ \mathrm{c}\mathrm{o}\mathrm{s}{\theta }_{ij}\end{array}\right]\left[\begin{array}{c}{\alpha }_{ij}^{t}\\ {\beta }_{ij}^{t}\end{array}\right] $ | (26) |
其中:
量子比特的旋转角度
$ {\theta }_{ij}=\mathrm{\Delta }{\theta }_{ij}\times s({\alpha }_{ij}, {\beta }_{ij}) $ | (27) |
其中:
![]() |
下载CSV 表 1 旋转角选择策略 Table 1 Rotation angle selection strategy |
在传统蚁群路由算法地基础上,本文算法将量子计算引入到状态转移概率计算中,以避免陷入局部最优解,而且把蚁群算法中的信息素映射成Q学习中的Q值,加快算法的收敛速度。
2.3.1 状态转移规则设共有m只蚂蚁随机的分布在不同的节点上,
$ {p}_{i, j}^{k}\left(t\right)=\left\{\begin{array}{l}\frac{\left[{\tau }_{ij}^{1}{\left(t\right)]}^{\lambda \delta }\right[{\tau }_{ij}^{2}{\left(t\right)]}^{(1-\lambda )\delta }\left[{\eta }_{ij}^{1}{\left(t\right)]}^{\lambda \vartheta }\right[{\eta }_{ij}^{2}{\left(t\right)]}^{(1-\lambda )\vartheta }[{\mu }_{ij}{\left(t\right)]}^{\xi }}{\sum\limits_{s\in \mathrm{a}\mathrm{l}\mathrm{l}\mathrm{o}\mathrm{w}\mathrm{e}{\mathrm{d}}_{k}}[{\tau }_{is}^{1}{\left(t\right)]}^{\lambda \delta }\left[{\tau }_{is}^{2}{\left(t\right)]}^{(1-\lambda )\delta }\right[{\eta }_{is}^{1}{\left(t\right)]}^{\lambda \vartheta }\left[{\eta }_{is}^{2}{\left(t\right)]}^{(1-\lambda )\vartheta }\right[{\mu }_{is}{\left(t\right)]}^{\eta }}, j\in \mathrm{a}\mathrm{l}\mathrm{l}\mathrm{o}\mathrm{w}\mathrm{e}{\mathrm{d}}_{k}\\ 0, j\notin \mathrm{a}\mathrm{l}\mathrm{l}\mathrm{o}\mathrm{w}\mathrm{e}{\mathrm{d}}_{k}\end{array}\right. $ | (28) |
其中:
$ {\eta }_{ij}^{1}\left(t\right)={T}_{\mathrm{T}}^{(i, j)} $ | (29) |
$ {\eta }_{ij}^{2}\left(t\right)=\frac{1}{{d}_{ij}\left(t\right)} $ | (30) |
其中:
$ {\mu }_{ij}\left(t\right)=\frac{1}{{\left|{\alpha }_{ij}\right|}^{2}} $ | (31) |
其中:
在全部的蚂蚁完成一次循环之后,蚂蚁路过某路径时信息素浓度会发生变化,路径的信息素浓度越高则越有可能成为最优路径,同时信息素浓度会按照一定的系数挥发。
1)局部信息素更新规则
当每只前向蚂蚁构建完一个可行路径后,对所构建可行路径上的各段链路进行各个目标的局部信息素更新,其计算如下:
$ {\tau }_{ij}^{n}(t+1)=(1-\rho ){\tau }_{ij}^{n}(t)+{\mathrm{\Delta }}_{n}{\tau }_{ij} $ | (32) |
$ {\mathrm{\Delta }}_{n}{\tau }_{ij}=\sum\limits_{k=1}^{m}{\mathrm{\Delta }}_{n}{\tau }_{ij}^{k} $ | (33) |
其中:n为第n个目标函数(n=1,2);
$ {\mathrm{\Delta }}_{1}{\tau }_{ij}^{k}={}^{1}\!\!\diagup\!\!{}_{{{f}_{1}}\left( p \right)}\; $ | (34) |
$ {\mathrm{\Delta }}_{2}{\tau }_{ij}^{k}=\left\{\begin{array}{l}\frac{\kappa \times {t}_{\mathrm{a}\mathrm{l}\mathrm{i}\mathrm{v}\mathrm{e}}}{{f}_{2}\left(p\right)}, {E}_{j-\mathrm{p}\mathrm{e}\mathrm{r}} > 0.5\bigcap {L}_{j} < {L}_{\mathrm{a}\mathrm{v}\mathrm{e}}\\ 0.5\times \frac{\kappa \times {t}_{\mathrm{a}\mathrm{l}\mathrm{i}\mathrm{v}\mathrm{e}}}{{f}_{2}\left(p\right)}, \mathrm{e}\mathrm{l}\mathrm{s}\mathrm{e}\\ -\frac{\kappa \times {t}_{\mathrm{a}\mathrm{l}\mathrm{i}\mathrm{v}\mathrm{e}}}{{f}_{2}\left(p\right)}, {E}_{j-\mathrm{p}\mathrm{e}\mathrm{r}} < 0.1\bigcup {L}_{j} > {L}_{\mathrm{a}\mathrm{v}\mathrm{e}}\end{array}\right. $ | (35) |
其中:
2)全局信息素更新规则
Q学习是一种不基于状态转化模型,使用时序差分求解强化学习问题的方法[21-22]。本文引入Q学习的思想,强化算法在动态环境中的学习能力,Q值更新规则如式(36)所示:
$ \begin{array}{l}{Q}_{t+1}(s, a)=(1-\chi ){Q}_{t}(s, a)+\\ \ \ \ \ \ \ \ \ \ \ \ \ \ \chi ({r}_{t+1}+\gamma \mathrm{m}\mathrm{a}\mathrm{x}Q({S}_{t+1}, a\left)\right)\end{array} $ | (36) |
其中:使用
将蚁群算法的信息素浓度映射为Q学习的Q值,则蚁群算法中信息素更新规则为:
$ {\tau }_{ij}^{n}(t+1)=(1-\rho ){\tau }_{ij}^{n}\left(t\right)+\rho ({\mathrm{\Delta }}_{n}{\tau }_{ij}(t)+\gamma \mathrm{m}\mathrm{a}\mathrm{x}({\tau }_{ij}^{n}\left(t\right)\left)\right) $ | (37) |
其中:
$ {\mathrm{\Delta }}_{n}{\tau }_{ij}^{k}=\left\{\begin{array}{l}\frac{Q\cdot {\left|{\alpha }_{ij}\right|}^{2}}{B{d}_{k}}\text{,}i, j\mathrm{在}\mathrm{最}\mathrm{优}\mathrm{路}\mathrm{径}\mathrm{上}\\ 0\text{,}\mathrm{其}\mathrm{他}\end{array}\right. $ | (38) |
其中:Q为释放的信息素浓度;
本文所提出的Q学习量子蚁群路由算法流程如图 4所示,具体步骤如下:
![]() |
Download:
|
图 4 Q学习量子蚁群路由算法流程 Fig. 4 Procedure of Q-learning quantum ant colony routing algorithm |
步骤1 初始化微纳卫星网络,设置源节点o和目的节点r,设定蚁群的蚂蚁数量m,算法的最大迭代次数
步骤2 设置和初始化各前向蚂蚁的禁忌表,各前向蚂蚁的禁忌表中用于存储当前已经访问过的节点ID,令前向蚂蚁标记k=k+1。
步骤3 各个前向蚂蚁可访问的节点范围内,根据状态转移概率的计算公式选择下一跳邻居节点j。
步骤4 判断选择的邻居节点j的直接信任值是否大于恶意节点门限阈值
步骤5 判断选择下一跳节点j后所形成的链路是否满足QoS需求,若不满足其中的某一项QoS指标则返回步骤3,否则转向步骤6。
步骤6 前向蚂蚁根据状态转移规则选择下一个移动位置后,通过量子旋转门完成自适应的更新。
步骤7 前向蚂蚁k根据不同的目标函数进行相应的局部信息素的更新,并把选择的邻居节点j放入到禁忌表中。
步骤8 循环执行步骤3~步骤7,直到所有的前向蚂蚁到达目的节点并转换为后向蚂蚁。
步骤9 后向蚂蚁进行全局的信息素更新,令迭代次数t=t+1。
步骤10 判断是否满足结束条件
本文用Matlab仿真验证所提出QQARA算法的性能。微纳卫星的初始拓扑采用铱星星座的分布方式,即共有66颗微纳卫星,6条轨道,并且每个轨道都均匀分布11颗微纳卫星,每颗卫星与其他4颗卫星直接相连接,其仿真参数如表 2所示。
![]() |
下载CSV 表 2 仿真参数 Table 2 Simulation parameters |
为验证QQARA算法能否满足网络各种不同业务QoS需求,在网络中分别设置对带宽要求敏感的大文件传输业务,对时延要求敏感的实时传输业务和对丢包率要求敏感的下载业务,各种不同业务的QoS参数约束条件如表 3所示。
![]() |
下载CSV 表 3 不同业务的QoS约束条件 Table 3 QoS constraints for different services |
本文实验将QQARA算法与常见的蚁群优化(Ant Colony Optimization,ACO)算法、改进的QoS(QoS aware Service Selection,QSS)算法[23]进行对比分析,分别从路径的费用值、包投递率、平均端到端时延、节点的平均能耗4个性能指标验证QQARA算法的有效性。
1)路径的费用值
图 5所示为不同算法随着迭代次数增加时的路径费用变化趋势。随着迭代次数的不断增加,3种算法的路径费用值
![]() |
Download:
|
图 5 迭代次数与路径费用的关系 Fig. 5 Relationship between iteration times and path cost |
2)包投递率
图 6所示为在不同的节点移动速度下3种算法的包投递率变化情况。随着节点移动速度的增大,3种算法的包投递率均出现了不同程度的下降趋势。由于QQARA算法加入了量子计算,能够很好地跳出局部最优解,具有更好的路径寻优能力,且在信息素浓度更新的过程中考虑了节点的状态以及链路的持续时间,即使在节点具有一定移动速度的情况下仍能保持一定程度的包投递率,因此,所寻找的最优路径更加稳定。
![]() |
Download:
|
图 6 节点移动速度与包投递率的关系 Fig. 6 Relationship between node movement speed and packet delivery rate |
3)平均端到端时延
图 7所示为节点移动速度与平均端到端时延的关系。由图 7可知,随着节点移动速度的逐渐增加,3种算法的平均端到端时延也呈现出了不同程度的上升趋势。QSS算法和QQARA算法在选择下一跳节点时考虑到了节点的状态,减少了因节点失效而导致时延增加的问题。由于QQARA算法加入了对链路持续时间的考虑,减少了因链路中断和路由修复带来的延迟,因此随着节点移动速度的不断增加,QQARA算法的平均端到端时延明显优于QSS算法和ACO算法。
![]() |
Download:
|
图 7 节点移动速度与平均端到端时延的关系 Fig. 7 Relationship between node moving speed and average end-to-end delay |
4)节点平均能耗
图 8所示为节点的移动速度与节点平均能耗的关系。随着节点移动速度的增加,3种算法的节点平均能耗均出现上升的趋势。由于ACO算法和QSS算法在选取数据传输路径时没有考虑链路的持续时间,在节点移动而导致链路断开的情况下会产生大量的数据重传,增大了节点的能量消耗,因此该算法的节点平均能耗随着节点移动速度上升而大幅增加。由于QQARA算法加入了对链路连接持续时间的考虑,能够有效减少因链路中断而造成数据重传产生的能耗。同时,在选择路径时考虑到了节点的剩余能量问题,起到了能量均衡的作用。
![]() |
Download:
|
图 8 节点移动速度与节点平均能耗的关系 Fig. 8 Relationship between node moving speed and node average energy consumption |
本文提出一种实现多目标优化的Q学习量子蚁群路由算法。该算法考虑路径平均信任值和路径费用,保证数据传输的安全性和网络业务服务质量,通过加入量子计算避免陷入局部最优解,将信息素映射成Q值,加快算法的收敛速度。仿真结果表明,该路由算法有效地改善了包投递率、平均端到端时延和节点平均能耗等性能指标。下一步将在优化目标中增加影响微纳卫星网络传输因素,提高路由算法对不同场景的适用性。
[1] |
满璇. 中国微纳卫星产业发展态势分析[J]. 卫星应用, 2019, 3(2): 34-38. MAN X. Analysis on the development situation of China's micro-nano satellite industry[J]. Satellite Application, 2019, 3(2): 34-38. (in Chinese) |
[2] |
史毅龙, 姜秀杰, 熊蔚明, 等. 近极轨微纳卫星星座高速数传模型路由算法[J]. 国防科技大学学报, 2019, 41(1): 169-175. SHI Y L, JIANG X J, XIONG W M, et al. Routing algorithm for high speed data transmission model of near polar orbit micro-nano satellite constellation[J]. Journal of National University of Defense Technology, 2019, 41(1): 169-175. (in Chinese) |
[3] |
孙远辉, 韩潮. 路由算法在LEO通信星座构型优化中的应用[J]. 北京航空航天大学学报, 2012, 38(11): 1435-1439. SUN Y H, HAN C. Application of routing algorithm in configuration optimization of LEO communication constellation[J]. Journal of Beijing University of Aeronautics and Astronautics, 2012, 38(11): 1435-1439. (in Chinese) |
[4] |
BAPU B R T, GOWD L C S. Link quality based opportunistic; Routing algorithm for QoS: aware wireless sensor networks security[J]. Wireless Personal Communications, 2017, 97(1): 1563-1578. DOI:10.1007/s11277-017-4586-4 |
[5] |
朱军, 饶元, 傅雷扬, 等. 基于移动代理的卫星网路由性能研究[J]. 计算机工程与应用, 2012, 48(3): 69-72. ZHU J, RAO Y, FU L Y, et al. Research on performance of satellite network based on mobile agent[J]. Computer Engineering and Applications, 2012, 48(3): 69-72. (in Chinese) |
[6] |
胡杰. Ad Hoc网络中基于Q学习的可信路由协议研究[D]. 西安: 西安电子科技大学, 2019. HU J. Research on trusted routing protocol based on Q learning in Ad Hoc networks[J]. Xi'an: Xidian University, 2019. (in Chinese) |
[7] |
迟凯. Ad Hoc网络中基于信息论的可信模型研究[J]. 电子科技, 2018, 31(9): 21-24, 28. CHI K. Research on trustworthiness model based on information theory in Ad Hoc networks[J]. Electronic Science and Technology, 2018, 31(9): 21-24, 28. (in Chinese) |
[8] |
CIRNE P, ZUQUETE A, SUSAN S. TROPHY: trustworthy VANET routing with group authentication keys[J]. Ad Hoc Networks, 2018, 24(71): 45-67. |
[9] |
MERLIN R T, RAVI R. Novel trust based energy aware routing mechanism for mitigation of black hole attacks in MAENT[J]. IEEE Wireless Personal Communications, 2019, 104(4): 32-39. |
[10] |
SARDAR A R, SINGH M, SSHOO R R, et al. An efficient ant colony based routing algorithm for better quality of services in MANET[J]. Computer Society, 2014, 68(6): 233-240. |
[11] |
SAEED S, RUBAIEE A, MEHMET B, et al. An energy-aware multi-objective ant colony algorithm to minimize total completion time and energy cost on a single-machine preemptive scheduling[J]. Computers & Industrial Engineering, 2019, 127(1): 240-252. |
[12] |
王宏霞, 李亚龙. 求解QoS最佳路由选择问题的量子蚁群算法[J]. 计算机仿真, 2014, 31(3): 295-298. WANG H X, LI Y L. Quantum ant colony algorithm for optimal QoS routing problem[J]. Computer Simulation, 2014, 31(3): 295-298. (in Chinese) |
[13] |
曹建国, 陶亮. 改进型量子蚁群算法求解QoS单播路由[J]. 计算机工程与应用, 2010, 46(18): 116-118. CAO J G, TAO L. An improved quantum ant colony algorithm for QoS unicast routing[J]. Computer Engineering and Applications, 2010, 46(18): 116-118. (in Chinese) |
[14] |
潘蕾娜. 无线传感器网络中基于信任机制的安全路由研究[D]. 重庆: 重庆邮电大学, 2019. PAN L N. Research on secure routing based on trust mechanism in wireless sensor networks[J]. Chongqing: Chongqing University of Posts and Telecommunications, 2019. (in Chinese) |
[15] |
李本霞, 夏辉, 张三顺. 一种基于信任的组播路由协议[J]. 信息网络安全, 2019, 19(1): 59-67. LI B X, XIA H, ZHANG S S. A trust based multicast routing protocol[J]. Netinfo Security, 2019, 19(1): 59-67. (in Chinese) |
[16] |
FEYNMAN R P. Quantum mechanical computers[J]. Foundations of Physics, 1986, 16(6): 507-531. (in Chinese) DOI:10.1007/BF01886518 |
[17] |
FEYNMAN R P. Simulating physics with computers[J]. Internation Journal of Theoretical Physics, 1982, 21(6/7): 467-488. |
[18] |
CHEN J J. Review on quantum communication and quantum computation[J]. Journal of Physics, 2021, 18(2): 1-9. |
[19] |
LI Y L, WEI W, JING S, et al. A quantum MMAS based algorithm for multicast routing problem[J]. Journal of Physics Series, 2021, 19(1): 111-126. |
[20] |
WANG L, NIU Q, FEI M. A novel quantum ant colony optimization algorithm[J]. Bio-Inspired Computational Intelligence and Applications, 2007, 4688(5): 277-286. |
[21] |
HE X L, JIANG H, SONG Y, et al. Routing selection with reinforcement learning for energy harvesting multi-hop CRN[J]. IEEE Access, 2019, 7: 54435-54448. DOI:10.1109/ACCESS.2019.2912996 |
[22] |
ARUNITA K, LOBIYAL D K. Q-learning based routing protocol to enhance network lifetime in WSNs[J]. International Journal of Computer Networks & Communications, 2021, 13(2): 67-80. |
[23] |
KUMAR N, LQBAL R, CHILAMKURTI N, et al. An ant based multi constraints QoS aware service selection algorithm in wireless mesh networks[J]. Simulation Modelling Practice and Theory, 2011, 19(9): 1933-1945. DOI:10.1016/j.simpat.2011.05.007 |