一种基于学习自动机的算法以解决视觉传感器网络中的不平衡 k‐覆盖问题
摘要
定向传感器网络中最重要问题之一是 k‐覆盖问题,该问题旨在确定最少数量的定向传感器的方向,使得每个目标至少被监控 k次。该问题已在两种不同环境中被研究:一种是过度配置环境,即传感器数量足以覆盖所有目标;另一种是配置不足环境,即传感器数量不足以完成覆盖任务(称为不平衡 k‐覆盖问题)。鉴于解决不平衡 k‐覆盖问题的重要性,本文提出了一种基于学习自动机(LA)的算法,能够以均衡的方式选择最少数目的传感器,从而为所有目标提供 k‐覆盖。为了评估所提出的算法性能的效率,进行了多个实验,并将所得结果与两种基于贪心的算法进行了比较。实验结果证实了所提出的算法在解决该问题方面的有效性。
关键词 :视觉传感器网络,均衡覆盖, k‐覆盖,学习自动机
1. 引言
1.1. 视觉传感器网络中的覆盖
在视频传感器网络中,一个最重要的问题就是覆盖,指的是从某个区域收集数据环境。覆盖的复杂性取决于所使用传感器的类型,即它们是定向传感器还是全向传感器。
展示了定向传感器和全向传感器的工作方式。前者假设传感器具有盘状感知范围;也就是说,如果目标位于传感器的感知范围内,则该目标被覆盖。后者假设传感器具有扇区状感知范围,这意味着它们的感知角度有限;因此,只有当目标不仅位于其感知范围内,同时还处于其感知角度内时,才能被覆盖 [2]。
图2解释了“覆盖”这一术语。在该图中,展示了两个传感器(S1和S2)以及五个目标( T1‐T5)。图中的每个传感器都有三个方向,每个方向可以监控位于该传感器作用范围内且处于其激活方向路径上的目标(即黄色标注的方向)。请注意,每个传感器一次只能激活一个方向。相应地,在图2中,T1和T5未被任何传感器覆盖。传感器S2仅覆盖T3,而S1当前未覆盖任何传感器。由于T2和T4不在网络中任何传感器的激活方向路径上,因此它们将不会被覆盖。
通常,覆盖问题分为三个不同的类别:区域覆盖、目标覆盖和栅栏覆盖[3]。目标覆盖旨在确定一组传感器以监控研究区域内的某些特定点。而区域覆盖的目标是对部分或整个区域进行覆盖,不针对任何特定的点;栅栏覆盖则可视为以最小化未被检测到的穿越屏障概率为目标的覆盖。一般来说,覆盖可分为三种不同类型:简单覆盖、 k‐覆盖和 Q‐覆盖。在简单覆盖中,在普通覆盖情况下,每个目标仅由一个视觉传感器监控。问题在于,如果负责覆盖的传感器工作不正常、耗尽能量,或视线被障碍物阻挡,相应的目标可能会突然失去覆盖。这些缺陷促使研究人员将注意力转向 k‐覆盖,因为 k‐覆盖可以引入容错性。换句话说,在 k‐覆盖中,每个目标至少由 k个视觉传感器进行监控(k表示一个预定义的整数常量)。需要注意的是, k的值越大,监控操作[4, 5]的准确性越高。在 Q‐ 覆盖中,为满足不同目标的覆盖需求,会指派不同数量的视觉传感器节点。
1.2. k覆盖中的平衡指数
k覆盖问题的目标是使用k个传感器覆盖每个目标。当网络中没有足够的传感器时,例如在供应不足的网络中,这一目标无法实现。为了提供更好的解决方案,在此类网络中需要一种新的度量指标;此处采用[1]中提出的平衡指数(BI)。所得到的平衡指数由公式(1)给出。
$$
BI= \frac{(\sum_{t=1}^{m} \psi_t)^2}{m \ast \sum_{t=1}^{m} \psi_t^2} \ast \frac{\sum_{t=1}^{m} \psi_t}{km}
$$
$\psi_t$表示覆盖目标Ti的传感器数量,m表示网络中存在的目标总数。例如,如下图所示,考虑了一个3覆盖问题(k=3)。为了简化图3,仅展示了传感器的激活方向如图所示。针对图3(a)和(b)中所示的两种不同条件获得了平衡指数。
$$
BI= \frac{(3+ 1)^2}{2 \ast (3^2+ 1^2)} \ast \frac{(3+ 1)}{3 \ast 2}= 0.53
$$
$$
BI= \frac{(2+ 2)^2}{2 \ast (2^2+ 2^2)} \ast \frac{(2+ 2)}{3 \ast 2}= 0.67
$$
因此,该指标适用于识别最优覆盖。较高的平衡指数(BI)意味着更好的覆盖。
本文研究了目标 k‐覆盖问题,其中传感器数量不足以监控所有目标,这种短缺通常被称为资源不足的车辆传感器网络。该整体问题已被证明具有NP完全性,被表述为覆盖不平衡问题[1]。此问题的重要性主要源于四个原因:第一,方向性传感器具有有限感知角度,导致其无法感知完整的圆形区域;第二,传感器容易受到环境破坏,感知数据可能受到噪声影响,因此要求每个感知区域至少由 k个传感器覆盖;第三,资源不足的网络无法提供完整的 k‐覆盖,因而需要具备更高容错能力的解决方案;第四,针对该问题所提出方案的效率取决于用于监控操作的激活摄像头数量。需要注意的是,激活的摄像头越少,能量消耗就越低。因此,有必要在保证容错性覆盖每个目标的前提下,最小化摄像头使用。
文献中包含了多种解决覆盖不平衡问题的方案;然而,尽管最新的启发式方法在解决 NP完全性问题方面已证明具有较强能力,但这些方法尚未被充分考虑。本文提出了一种基于学习自动机的算法,旨在资源不足的网络中使用最少数量的传感器来平衡覆盖。该算法利用学习自动机解决一类问题:部分目标被监控了 k次,而其他目标则未被覆盖或仅被部分覆盖。本文进行了多项实验,以测试所提出的算法的性能。通过将所提出的算法与文献[1]中引入的两种基于贪心的算法所得结果进行比较,验证了该算法的效率。实验结果证实了所提出的算法的能力基于学习自动机的算法及其在解决手头问题方面相较于基于贪心的算法的优越性。
1.3. 贡献
本研究的主要贡献如下:
1. 提出了一种使用学习自动机解决不平衡k覆盖的新算法。
2. 设计了一些剪枝规则以提高提出算法的效率。
3. 在本项目中,由于问题的一些限制,采用了多个学习自动机来有效解决k‐覆盖问题。
4. 进行了若干实验以评估提出算法的性能,并将其结果与最近提出的基于贪心的算法进行了比较。
本文的其余部分组织如下。在第1节中,介绍了关于目标覆盖问题的已有研究。在第1节中,讨论了目标 k‐覆盖问题。在第1节中,介绍了 LA理论。在第1节中,提出了一种基于学习自动机的算法来解决当前问题。在第1节中,通过若干实验对提出的算法的性能进行了评估。最后,在第1节中,对全文进行了总结。
2. 相关工作
设计传感器网络的主要目的是监控并从特定地理区域收集数据。在这些区域中,目标覆盖是一项重要任务,因为传感器节点通常是随机分布的。一般来说,“目标覆盖”是指使用最少数量的传感器来监控某个区域内的预定义目标。下文将讨论一些在无线传感器网络( WSNs)和定向传感器网络(DSNs)中针对目标覆盖问题开展的突出研究。
文献中有很多研究致力于无线传感器网络中的目标覆盖问题。在[6],中,目标覆盖首次被建模为一个不相交问题,并提出了一些解决方案。作者们将同一问题扩展为一个相交问题,并提供了一些解决方法[7]。在[8,9],中,为了应对无线传感器网络中的目标覆盖问题,使用学习自动机来识别能够有效覆盖感兴趣区域的活跃传感器。根据他们的最终结果,基于学习自动机的算法在解决目标覆盖问题方面比其他类型的算法更为成功。
文献中包含了大量关于k‐覆盖问题的研究,这些研究中仅考虑了全向传感器 [10–13]。Li‐Hsing Yen 等人 [10]采用半径为r的圆形范围来研究n个传感器的问题,并为预期被k覆盖的区域建立了一个明确的数学表达式。在另一项研究中,Hafeeda 和 Bagheri [11]提出了一种新方法,将k‐覆盖问题详细阐述并建模为理想击中集问题,该问题是NP难问题 [12]。他们在研究中提出的k‐覆盖算法[11]受到[13]中近似算法的启发。他们的论文讨论了集中式随机k覆盖和分布式随机k覆盖算法。在[14],中,研究了三维空间中无线传感器网络的连通性和覆盖性。研究表明,当一个勒洛四面体具有k个具备球形感知范围的传感器时,该勒洛四面体内的所有目标都将实现k覆盖。上述研究中假设位置信息已知。而在[15]中提出的算法能够在无需预先提供位置信息的情况下成功确认k覆盖。在[13],中,针对k‐覆盖问题提出了一种解决方案,其中大多数节点在任意时刻均处于休眠状态。通过应用多种节点分布方式,包括网格模式、随机均匀分布和泊松分布,还对网络生命周期进行了研究。
上述研究中提出的算法在无线传感器网络中能够高效运行;然而,由于定向传感器的感知角度受限,这些算法无法在定向传感器网络中正常工作。因此,有必要设计新的算法来专门解决定向传感器网络中的目标覆盖问题。文献中已有许多研究尝试解决定向传感器网络中的目标覆盖问题(更多详细信息请参见[16])。在[2],中,使用定向传感器将覆盖问题表述为用最少数量的传感器实现最大覆盖。他们提出了该问题的集中式和分布式贪心解法。在[17],中,证明了多定向覆盖集问题的NP完全性,并提出了一些启发式算法,以形成适当的非互斥覆盖集,使得每个覆盖集都能监控网络中的所有目标。在[18],中,为解决目标覆盖问题提出了两种算法,一种基于贪心方法,另一种基于遗传算法。
在[19–21],中,提出了若干基于LA的算法以解决DSNs中的目标覆盖问题。所有这些算法都包含两个共同阶段:工作方向选择和覆盖集形成。在第一阶段,应用一种算法来选择最合适的工作方向;在第二阶段,引入了多种算法以形成由最少数量的活动传感器方向组成的覆盖集。此外,在[22],中,LA被应用于解决连通目标覆盖问题。LA用于两个目的:一是选择适当的传感器方向以实现对研究区域的覆盖,二是为收集的数据传输寻找路径。
从该区域中。在其他一些研究中(参见[23, 24]),使用学习自动机来解决基于优先级的目标覆盖问题,以便确定合适的传感器方向,从而满足目标的覆盖质量要求。在[25],中,提出了两种基于贪心的算法,用于解决由具有多个功率等级(即,可调感知范围)的传感器组成的网络中的目标覆盖问题。他们的结果证实了调整传感器的感知范围对延长网络生命周期具有积极影响。上述研究主要集中在解决简单覆盖问题上,其中单个传感器被指定覆盖一个目标。然而,在实际情况中,一个目标可能需要被多个传感器覆盖。需要注意的是,覆盖范围更大的网络具有更高的可靠性,因为它对传感器错误测量和传感器故障表现出更强的抵抗能力,而这些情况可能在算法运行过程中发生。特别是在无法识别和更换故障传感器的网络中,可靠性至关重要。因此,需要新的算法来提供更高的可靠性和容错性,以更有效地解决目标覆盖问题。
之前提到的所有研究都集中在解决仅具有单一功率等级的传感器网络中的简单目标覆盖问题。最近,Mohamadi 等人提出了两种基于贪心的算法[26, 27],用于解决包含多功率等级传感器(即具有可调感知范围)的网络中的目标覆盖问题。在[26],中证实,通过调整传感器的感知范围显著延长了网络生命周期。在[27],中提出了一种基于遗传算法的方法,以解决含有具有可调感知范围传感器的网络中的目标覆盖问题。上述最新研究仍然围绕简单覆盖问题展开,其中每个目标仅分配一个传感器进行监控。剩余的挑战在于,在实际条件下,区域中的每个目标可能需要由多个传感器共同覆盖。请记住,覆盖范围更广的网络通常提供更高的可靠性,因为它们对传感器故障和监控操作中可能出现的传感器错误测量具有更强的抵抗能力。可靠性因素尤为重要,特别是在无法识别和更换故障传感器的应用场景中。因此,为了更有效地解决目标覆盖问题,需要提出新的算法,能够不仅提供了可靠性和容错性,还通过采用调度传感器方向和调整传感器的感知范围这两种技术,最大限度地延长了网络寿命。
| 表1 符号 | |
|---|---|
| 符号 | 说明 含义 |
| N | 传感器数量 |
| M | 目标数量 |
| w | 每个传感器的方向数, w ≥ 1 |
| dij | 第 i个传感器的第j个方向 |
| k | 所需的覆盖级别 |
| si | 对于所有 i= 1,2,…, N 的传感器 |
| tm | 一个目标,对于所有 m= 1,2,…, M |
| li | 传感器 si 的生命周期 |
| S | 传感器集合,S= s1, s2,…, sn |
| T | 目标集合, T= t1, t2,…, tm |
3. 目标 k‐覆盖问题
本文所使用的符号列于表1中。
本文研究了 k‐覆盖问题,其中传感器数量不足以对所有目标提供 k‐覆盖,这种情况被称为不平衡 k‐覆盖问题,其NP‐完全性已在[28]中得到证明。假设多个目标位于二维欧几里得区域内的已知位置。这些目标需要由多个传感器方向进行监控(传感器方向的数量取决于 k的值)。若干定向传感器也被部署在目标附近以实现覆盖。每个定向传感器具有多个不重叠的扇区,且每个时间单位仅激活一个扇区。在本文其余部分中,一个传感器与其一个云台组合称为一对。与[1],类似,本研究仅限于仅支持云台转动的摄像头,即假设摄像头仅能在水平方向移动,其视场角(FoV)仅由其云台决定。摄像头的云台由两个参数定义:摄像头的最大覆盖范围和摄像头的最大感知/覆盖角度。每个定向传感器可以监控其工作方向和感知范围内所有的目标。
问题:如何选择一个合适的扇区子集,以便在仅使用每个传感器的一个扇区参与覆盖集构建过程的约束下,用最少数量的传感器视角实现最大的平衡指数(定义见公式(1))。
关键目标:被最少数量的扇区覆盖的目标被称为关键目标。关键目标对平衡指数有显著影响。如果将最合适的扇区用于监控关键目标,则可提供最大的平衡指数。也就是说,如果用于监控关键目标的扇区被应用于其他目标的覆盖,则平衡指数会降低。
关键自动机:分配给关键目标的自动机称为关键自动机。
4. 学习自动机理论
学习自动机是一种能够适应给定环境并根据情况做出合适决策的单元。它通过学习从一组可用动作[17]中选择最优动作,从而提高自身性能。为此,学习自动机必须与随机环境进行交互。
最优动作是基于动作的概率分布以统计方式选择的。通过此过程选择的每个动作都会对环境产生影响,该影响将反馈给学习自动机。根据从环境接收到的反馈,更新动作概率向量。该理论的主要目标是从一组可用动作中选择最合适的动作。
学习自动机与环境之间的交互如图4所示。总体而言,学习自动机分为两类:可变结构学习自动机和不可变结构学习自动机。本研究使用了可变结构的学习自动机,下文将对此进行说明。
具有可变结构的学习自动机由四元组 E=(α, β, c, T)表示,其中 α={α1, α2,…, α r} 表示环境提供的输入(动作集),β={β1 , β 2 ,…, β r} rep‐表示输入集, c={c1, c2,…, cr} 表示动作的概率集。此外,每个动作的学习算法(自动机的强化机制)如下所示 [29]。
$$
P(t+ 1)= T[α(t), β(t), p(t)]
$$
根据所提供的方案,学习自动机基于动作概率集随机选择动作 α。所选动作会影响环境。接下来,如果学习自动机从环境中获得期望响应,则根据公式(3)奖励该动作的概率;否则对其进行惩罚(见公式(4))。
$$
p_j(k+ 1)=
\begin{cases}
p_j(k)+ a[1 −p_j(k)] & j= i \
(1 − a)p_j(k) & \forall j≠ i
\end{cases}
$$
$$
p_j(k+ 1)=
\begin{cases}
(1 − b)p_j(k) & j= i \
\frac{b}{r−1}+(1 − b)p_j(k) & \forall j≠ i
\end{cases}
$$
在公式(3)中, a表示决定动作概率增加次数的奖励率,公式(4)中的 b表示决定动作概率减少次数的惩罚率, r表示动作的数量。如果 a= b,则线性递推公式(3)和公式(4)被称为线性奖励‐惩罚(LR−P)自动机。本文采用一种线性奖励‐惩罚学习自动机,其中奖励参数与惩罚参数取相同的值。
LA理论适用于在环境信息不完整的情况下进行学习;此外,它在复杂、动态或随机且存在多种不确定性的环境中也能有效工作。文献中包含了不同类型的自动机,这些自动机能够解决包括计算机网络在内的各个领域中的广泛问题。
5. 提出的算法
在本节中,提出了一种基于学习自动机的算法来解决资源不足网络中的 k‐覆盖问题。该算法的目标是通过管理关键目标,从非活动传感器中选择并激活<传感器、扇区>对,以实现均衡覆盖。这种均衡覆盖通常指在传感器不足的监控操作中,资源不足的网络内所有目标上的最大覆盖。接下来,将详细解释提出的算法。
总体而言,提出的算法包含两个阶段:初始化和选择适当的配对。在初始化阶段,确定算法的基本参数(即学习自动机网络、动作集和动作概率向量)。在第二阶段,学习自动机尝试选择最少数量的适当配对,以实现对所有目标的平衡覆盖。以下将详细阐述这两个阶段。
5.1. 初始化
初始化阶段涉及三个操作:构建学习自动机网络、形成学习自动机动作集,以及调整学习自动机的动作概率向量。为了创建一个学习自动机网络,首先为每个目标分配多个学习自动机。应用程序所需的覆盖水平决定了此步骤中涉及的自动机最大数量。例如,如果应用程序要求 k覆盖,则自动机的数量固定为 k。这是因为每个自动机的输出是选择一个二元组。所选的二元组可能仅监控与该自动机对应的目标,也可能监控其他一些目标。如果发生前一种情况,算法必须激活对应于该目标(被视为下一级目标)的其他自动机。所创建的学习自动机网络可以用二元组 〈A, α〉来建模,其中 A= {Ai,j| ∀ti ∈ T, 1 ≤ j ≤ k}表示网络中存在的目标所对应的学习自动机集合,α={αi,j| ∀Ai,j ∈ A}表示学习自动机动作集的集合,其中αi,j={α 1 i,j, α 2 i,j,…, α ri i,j }定义了学习自动机Ai, j (对于每个αi, j ∈ α)可选择的动作集合,而ri表示动作集αi, j的基数,其大小取决于覆盖对应学习自动机目标的二元组数量。采用具有可变数量动作的学习自动机,并使用剪枝规则来剪枝其动作集。此类动作集和剪枝规则主要避免选择冗余配对以及从同一个传感器选择多个二元组。在每个时间单位,学习自动机处于主动或被动模式,尽管在初始阶段,所有学习自动机均为被动模式。
在学习自动机网络形成后,需要定义学习自动机的动作集。为此,每个学习自动机通过为覆盖相应目标的每个扇区分配一个动作来形成其动作集。这意味着通过选择一个动作,自动机实际上选择了传感器的一个扇区,从而使该动作对应的目标以及位于传感器感知范围内的其他目标均能实现完全覆盖。设 αi={αj i |(di,j)监视目标ti}。动作 αj i对应于学习自动机Ai选择扇区(di,j)作为激活扇区的操作。在完成动作集的构建后,接下来需要调整动作概率向量。令p={pi,j|∀αi,j ∈ α}表示动作概率向量,pi,j={p r i,j| ∀αr i,j ∈ αi,j}表示学习自动机Ai,j的动作概率向量,其中p r i,j对应于动作 αr i,j的选择概率。如果算法能够以一种使具有较高覆盖能力的扇区被选中概率更高的方式配置自动机 Ai的动作概率向量,则可以提高收敛速度。为此,算法尝试按如下方式配置自动机Ai的动作概率向量:
$$
p_j^i(k)= \frac{CP(di,j)}{\sum CP(di,j)}
$$
其中 CP(di, j)表示扇区(di, j)的覆盖能力,而∑ CP(di, j)表示监控目标 ti的所有扇区的总覆盖能力。根据公式(5),能够覆盖更多目标的扇区将获得更高的分数,反之亦然。
为了进一步说明,让我们考虑
所示的示例网络,该网络包含四个视觉传感器和三个目标。从图中可以看出,目标 t1由三个扇区({d1,2 , d2,1 , d3,3})监控,目标t2由两个扇区({d1,1 , d4,2})监控,目标 t3由两个扇区({d2,1 , d3,3})监控。假设期望的覆盖级别为2。因此,最多有2个自动机分配给每个目标。如前所述,每个学习自动机的动作集是通过为覆盖该学习自动机所对应目标的每个扇区分配一个动作而形成的。例如,分配给目标t1的学习自动机A1,1具有三个动作,这是因为目标 t1被三个扇区({d1,2, d2,1, d3,3})覆盖。注意,对应于某一目标的自动机的动作集与其他对应于同一目标的自动机的动作集相似。例如,分配给目标t1的学习自动机A1,2具有三个动作(见
)。各扇区的覆盖能力如下: CP(d1,2)= 1,CP(d2,1)= 2,以及 CP(d3,3)= 2。此处,总的覆盖能力 ∑ CP(di,j)等于5。因此,自动机A1,1的初始动作概率向量定义为p1,1(1)={p (d1,2 1),1= 0.2, p (d2,1 1),1= 0.4, p (d3,3 1),1=0.4}。
如前所述,提出的算法被赋予了具有可变动作集的学习自动机。这是因为在运行时间内,动作集可能会发生变化。这种变化可能发生在两种情况下:第一,当某个传感器耗尽其能量时;第二,当学习自动机的动作集将被剪枝,以从可用的动作集中找到更优的动作时。例如,如果扇区(di, j)在阶段 q+ 1被禁用,则通过删除对应于该扇区的动作来更新学习自动机Ai的动作集。此后,被删除动作(α j i )的选择概率固定为零,而其他动作(α j′ i )的选择概率则按如下方式更新:
$$
p_{j’}^i (q+ 1)= p_{j’}^i (q)\cdot\left[1+ \frac{p_j^i (q)}{1 −p_j^i (q)}\right] \quad j≠ j’
$$
考虑图5所示的示例网络。假设自动机A1,1要在阶段 q修剪其一个动作。还假设自动机A1,1在阶段 q的概率向量为p1,1(q)={p (d1,2 1),1= 0.2, p (d2,1 1),1= 0.4, p (d3,3 1),1=0.4}。根据公式(6),在剪枝扇区(d1,2)之后,自动机A1,1在阶段 q+ 1的概率向量定义为p1,1(k)={p (d1,2 1),1=0, p (d2,1 1),1= 0.5, p (d3,3 1),1= 0.5}。至此,三个主要操作已完成。下一节将解释覆盖集的形成方式。
5.2. 选择合适的配对
在此阶段,学习自动机(LA)以一种选择平底锅子集的方式,旨在资源不足的网络中使用最少的激活平底锅为所有目标提供均衡覆盖,从而创建最优的覆盖集。为了获得这样的覆盖集,算法运行多个阶段,每个阶段都由学习自动机协同构造出一个覆盖集。随后,由视频传感器网络(VSN)充当的随机环境计算所生成覆盖集的最优性。环境的任务是计算覆盖集中各平底锅提供的总平衡指数(BI),并根据该结果产生对最优性的反馈,据此对所选择的动作进行奖励或惩罚。这一过程包括覆盖集的形成以及动作概率向量的更新,迭代执行直至生成使用最少数量激活平底锅且覆盖最均衡的覆盖集。提出的算法的伪代码如算法1所示。以下将详细阐述该算法的 q阶段。在覆盖集形成过程开始时,算法首先识别最关键的目标,并激活其对应的学习自动机,即关键自动机。接着,关键自动机利用剪枝规则对其动作集进行剪枝。然后,它从其动作集中选择一个对应于能够覆盖该目标的平底锅的动作。之后,该平底锅被
算法1 基于学习自动机的算法
01.输入:定向传感器网络 Net=(S, T),k
02.Output:具有最高平衡指数的一组扇区 03.假设: 04. 分配一个/多个(取决于 k)自动机到每个目标 05. 设αi,j表示自动机Ai,j的动作集
06.开始
07. 设Tq表示在阶段 q的动态阈值 08. 设 q 表示初始设置为零的阶段编号
09.重复
10. Tcur ← T
11. Ccur ← ∅
12. Dcur ← ∅
13. while(停止条件未满足)do
14.找到一个关键目标并激活其自动机(调用它)
Ai,j)
15.自动机 Ai,j剪枝其动作集并选择一个其动作(例如 (di,j))
16.将与所选动作对应的 (di,j) 添加到 Ccur
17.更新未覆盖目标的列表(即 Tcur) 18.添加 Ai,j以及与目标相关的学习自动机由(di,j)为 Dcur提供 k‐覆盖
19.结束循环
20.根据公式1计算平衡指数(即BI)
21.如果 BI> T q 那么
22.奖励被激活自动机所选择的动作
23. T q ← BI
24. else
25.惩罚被激活自动机所选择的动作
26.结束如果
27. q ← q+ 1
28. 直到 (停止条件 =成立)
29.结束算法
对应于所选动作的扇区被添加到覆盖集中(即 Ccur);然后,将那些已实现均衡覆盖的目标从Tcur中移除。下一步,与已实现均衡覆盖的目标相对应的被动自动机以及当前激活的自动机(即Ai,1)被加入支配自动机列表(即Dcur)。这有助于避免在后续阶段再次激活这些自动机或选择冗余面板。换句话说,在选择一个覆盖多个目标的扇区后,必须将与这些被覆盖目标相对应的自动机添加到 Dcur中。通过这种方式,该算法仅能选择其动作可覆盖新目标(即尚未实现均衡覆盖的目标)的自动机。
上述整个过程将持续进行,直到所有目标都获得均衡覆盖。需要注意的是,由于资源不足环境本身缺乏足够的传感器来进行监控操作,我们必须考虑关键目标的问题。在该系统的每个阶段,
该算法确定最关键的目标,并以最终实现均衡覆盖的方式激活相应的自动机。激活这些关键目标的最终目的是让传感器仅激活覆盖关键目标的一个扇区,同时避免激活与非关键目标对应的扇区。这使得更多扇区可用于覆盖关键目标,从而在整个配置不足的环境中提供更加均衡的覆盖。
剪枝规则:该规则用于通过两种方式剪除被激活的学习自动机的动作集:避免将同一传感器的多个扇区添加到每个覆盖集中,以及防止选择冗余的扇区。剪枝规则会禁用对应于三种情况的动作:之前已选择的扇区、覆盖了具有均衡覆盖的目标的扇区,以及当前已有扇区被放入已构建覆盖集中的传感器的其他扇区。剪枝规则的结果是减少了动作数量并提高了收敛速度。这种条件导致算法运行时间减少。
上述过程的输出是一个由一组扇区组成的覆盖集。下一步是计算所构建覆盖集的最优性。为此,我们使用一个称为平衡指数 [1] 的因子;通常情况下,平衡指数的值越高,表示覆盖率越好。接着,将平衡指数的值与一个动态阈值(即 Tq)进行比较。根据比较结果,对所选自动机的动作进行奖励或惩罚。如果平衡指数高于 Tq,则对激活的自动机所选择的动作进行奖励;否则对其进行惩罚。一旦初始化过程开始,Tq 被设为零;原因在于我们的目标是最大化平衡指数。在每一阶段,如果找到一个其平衡指数等于或大于动态阈值的覆盖集,则将该覆盖集中收集的扇区集保留为迄今为止找到的最优解;此外,将 Tq 的值设置为该覆盖集的平衡指数值。当激活的学习自动机的动作概率向量更新后,第 q次迭代结束,并重新启用每个激活的学习自动机中被禁用的动作。随着算法的运行,自动机学习如何选择一组扇区,以通过激活最少数量的传感器视角,最终生成具有最大均衡覆盖的覆盖集。提出的算法在两种情况下结束:要么所有选定扇区的概率变为大于某个确定的阈值,或生成的覆盖集数量超过某一特定阈值。该算法的最终输出是一个覆盖集,能够使用最少数量的激活的摄像机方向提供最均衡的覆盖。
中展示了一个示例网络,用于说明提出的算法中执行的覆盖集形成过程。提出的算法的每一轮包含多个阶段。以下将解释该算法的一个可能的执行场景。
为了开始覆盖集形成过程,首先,算法识别出最关键的目标,然后激活与此目标对应的学习自动机。在此示例网络中,假设选择了目标 t1。因此,与此目标对应的第一个学习自动机(即 A1,1)被激活。随后,自动机 A1,1 通过上述剪枝规则对其动作集进行剪枝,并选择其中一个动作。假设该学习自动机选择了对应于扇区 (d3,3) 的动作。接下来,所选的扇区 (d3,3) 被加入到 Ccur 中。然后,通过移除其 k‐覆盖已被满足的目标来更新集合 Tcur。由于目前尚未为任何目标提供 k‐覆盖,因此列表 Tcur 中没有目标被删除。接着,将已激活的自动机(即 A1,1)以及那些其 k‐覆盖已被 (d3,3) 满足的目标所对应的被动自动机加入到 Dcur 中。至此,覆盖集、未覆盖目标列表和支配自动机集合分别被更新为 Ccur={(d3,3)}、 Tcur={t1, t2, t3} 和 Dcur={A1,1}。
如果集合 Tcur为空集(即所有目标的k‐覆盖均已满足),则当前迭代终止。否则,激活下一个关键目标对应的学习自动机。该自动机随后将其动作集进行剪枝。假设需要激活的下一个自动机是A1,2。假设(d2,1)被选为第二个扇区。可以看出,选择扇区(d2,1)后,目标t1获得了 k‐覆盖(即 k=2);而目标t2缺乏 k‐覆盖。激活关键自动机并选择动作的过程持续进行,直到所有现存目标均获得k‐覆盖,或没有剩余的自动机需要被激活。假设所构造的覆盖集为 C cur ={(d2,1),(d3,3),(d4,2)}。然后计算该覆盖集C cur所提供的平衡指数。接着,将该平衡指数的值与动态阈值T q 进行比较。
在算法的第一轮迭代中, Tq被设置为零。因此,所构建的覆盖集对应的平衡指数值(即 0.772)大于Tq。结果,阈值被设为0.772。如果覆盖集的平衡指数值大于动态阈值,则所有激活的学习自动机将使用强化机制 LR−I对其选择的动作给予奖励,并重新启用之前被禁用的动作。该条件增强了在后续迭代中选择覆盖集中存在的扇区的可能性。覆盖集的构造过程将重复进行,直到满足停止准则为止。在每一轮迭代中,当成功构造出平衡指数值大于Tq的覆盖集时,对应的扇区将获得奖励;否则将受到惩罚。最后,该算法选择具有最大平衡指数值的覆盖集作为当前轮次的输出。
$$
BI= \frac{(2+ 2+ 1)^2}{3 \ast (2^2+ 2^2+ 1^2)} \ast \frac{(2+ 2+ 1)}{2 \ast 3}= 0.772
$$
5.3. 时间复杂度
为了测量提出算法的时间复杂度,我们考虑以下参数。其中, |S| 表示网络中的传感器数量,而 |T| 表示目标数量。在算法的每一轮中,选择一个能够覆盖目标的传感器方向子集;然后为所选子集分配激活时间,并更新传感器的能量。如果剩余的传感器仍能为所有目标提供 k‐ 覆盖,则开始算法的新一轮。因此,该算法的复杂性如下。
$$
((|S| −|T| ∗ K)(|Tcur| ∗ |Dcur| ∗ |Ccur| + |Ccur|))
$$
6. 仿真结果
本节评估了该算法在资源不足环境中解决非均衡 k‐覆盖问题的效率。为此,将提出的算法所得结果与文献中最近引入的基于贪心的算法[1]进行了比较。比较的准则是两种算法的平衡指数(BI);较高的BI表明更均衡的覆盖。类似于之前的算法,为了配置网络,创建了一个区域(大小为500(m) ∗ 500({v5)),其中包含一些目标以及一定数量的方向性传感器。每个目标需要由 k个传感器监控。最初,每个定向传感器具有三个方向。仿真参数如表2所示,
展示了仿真环境的快照。每个仿真场景运行30次,并计算每个场景的平均BI。
| 表2 仿真参数 | |
|---|---|
| 参数 | 值 |
| 监测区域 | 500 米 × 500米 |
| 定向传感器数量 | 10–120 |
| 目标数量 | 10–120 |
| 感知半径 | 30–110 |
| 通信半径 | 2 ×感知半径 (r) |
| 视场角 (FoV) | 120 (度) |
| 部署 | 随机 |
Experiment 1.在本实验中,研究了目标数量对平衡指数的影响。为此,将目标数量以增量步长10从10增加到120,同时保持感知范围和传感器数量不变。显然,随着目标数量的增加,网络状态从过度配置转变为配置不足。原因是在这种条件下,需要更多的传感器来为所有目标提供k覆盖。根据
所示的结果,当目标数量增加时,平衡指数的值开始小于理想覆盖下的值(BI=1)。
Experiment 2.在本实验中,研究了传感器数量对平衡指数的影响。为此,逐渐增加了传感器数量通常从10到120以增量步长10递增,而感知范围和目标数量保持不变。增加传感器数量会使网络状态从配置不足转变为过度配置。这是因为当传感器数量增加时,将有足够的传感器为所有目标提供 k‐覆盖。
在本实验中,研究了感知范围对平衡指数的影响。为此,将感知范围以增量步长10从30增加到110。这一增加导致网络状态从配置不足转变为过度配置。原因是随着该参数的增加,有更多的传感器可用,从而能够为更多目标提供 k‐ 覆盖。
在本实验中,研究了目标数量对构建覆盖集大小的影响。为此,目标数量在10到100之间以增量步长10进行变化。如所示,目标数量的增加导致覆盖集大小呈线性增长。这主要是因为为了为目标提供 k‐覆盖,需要更多的传感器方向。这会消耗网络更多的能量,从而导致网络寿命缩短。实验结果表明,在所有条件下,提出的算法在构造具有最少活动传感器方向的覆盖集方面,均优于基于贪心的算法。
最终结果证实了所提出算法在解决该问题方面的有效性,且其表现优于其他方法。
在执行其定义的任务方面优于基于贪心的算法。
7. 结论与未来工作
由于低成本视频传输传感器的日益普及,解决与之相关的问题具有重要意义。该领域的关键问题之一是不平衡覆盖,即网络中没有足够的传感器为所有目标提供 k‐覆盖的情况。为了解决这一问题,提出了一种结合剪枝规则的学习自动机算法,能够选择一组数量最少的传感器,从而为所有目标提供均衡的k‐覆盖。此外,还尝试识别和管理关键目标,以实现更高平衡性的 k‐覆盖。本研究还进行了一系列实验,以评估所提出的算法的效率。实验结果与两种基于贪心的算法进行了比较。最终结果证实,所提出的算法成功解决了不平衡 k‐覆盖问题,并且相较于基于贪心的算法,能够实现更高的平衡指数。未来计划采用分布式算法来解决不平衡k‐覆盖问题,同时也可以在无线传感器网络和定向传感器网络中利用学习自动机解决Q‐覆盖问题。此外,当前工作仅限于仅平移摄像头;然而,有必要为全景‐倾斜‐变焦(PTZ)摄像头开发可能的平衡k‐覆盖模型。
48

被折叠的 条评论
为什么被折叠?



