定向传感器目标覆盖优化

定向传感器网络中的目标覆盖最大化

摘要

无线传感器网络(WSNs)在生物医学观测、环境监测和战场监视等多个领域具有广泛应用。为了降低成本并提高可靠性,近年来目标覆盖问题在无线传感器网络中变得尤为重要。本文研究一种特殊类型的无线传感器网络——定向传感器网络中的目标覆盖问题,其中传感器具有有限的监测距离和覆盖角度。给定一组目标和一组传感器,我们研究如何为传感器分配合适的方向,以最大化被覆盖目标的数量。我们证明了寻找最优解是NP-难的,并研究了具有可证明性能保证的集中式和分布式近似算法。此外,我们从组合数学的角度对问题本身进行了分析。最后,我们还进行了仿真实验,以评估所提算法的实际性能。

关键词 :WSN;无线传感器网络;方向覆盖;目标覆盖最大化;分布式算法;近似算法。

1 引言

覆盖和目标覆盖是无线传感器网络(WSNs)中的两个主要问题。通常,覆盖问题主要是指如何通过一组传感器监测给定区域,而目标覆盖问题则是指如何通过一组传感器监测一组目标,例如Liu等人(2006)和Zhou等人(2009)。由于电池技术的进步有限,由电池供电的传感器无法长时间无人值守工作。因此,为了延长传感器的寿命,我们需要在不使用时将其切换到休眠模式,例如 Raghunathan等人(2002)和Yang与Cardei(2010)。

这正是目标覆盖在无线传感器网络中成为一个关键问题的原因。对于只需要监测少数目标的应用场景,我们可以为每个目标手动部署传感器,从而直接获得覆盖方案。然而,在大规模应用中,如环境监测和战场监视,存在大量需要监测的目标(或位置),传感器通常通过飞机或车辆进行部署,这将导致其位置随机化。因此,一个传感器可能监测多个目标,而一个目标也可能被两个或更多传感器监测。

在过去二十年中,寻找合适传感器集合以监测所有目标的问题已成为文献中广泛研究的热点目标覆盖问题,例如 Akyildiz等人(2002年,2007年)、Meguerdichian等人(2001年)、Slijepcevic和Potkonjak(2001年)、 Gupta等人(2006年)、Cardei和Wu(2006年)、Liu 等人(2006)、Wang等人(2008年)、Cai等人(2009)、 Xiao等人(2010)、Li等人(2011年)、Ding等人( 2012年)以及Lu等人(2015)。

在上述研究中,假设传感器具有全向监控范围(即传感器可以观测360度)。因此,可以在二维空间中将传感器建模为圆盘,其半径等于传感器的最大有效监测距离。基于圆盘模型,当且仅当一个目标位于某传感器的圆盘内时,该目标才被该传感器覆盖,并且每个传感器所覆盖的目标集合是固定的。除了全向监控外,还存在具有定向监控范围的传感器(即定向传感器,指一次只能观测有限角度的传感器),例如多媒体传感器、视频传感器、超声波传感器和红外传感器,这些传感器在现实世界中也有广泛应用,如Szewczyk等人(2004)、 Djugash等人(2006)和Lu等人(2014)。显然,由定向传感器覆盖的目标集合不仅取决于其位置,还取决于其监测方向。在大多数情况下,我们可以为定向传感器配备旋转载体,使其监测方向能够动态调整,例如冯等人(2005)、拉希米等人(2005)和阿基尔迪兹等人(2007)。

在全向传感器网络中的目标覆盖问题中,如果每个目标都位于某些传感器的圆盘内,则存在一种覆盖所有目标的覆盖方案。在定向传感器网络中的目标覆盖问题中,即使每个目标都位于某些传感器的圆盘内,也可能无法覆盖所有目标。例如图1所示,有四个由圆盘表示的传感器 s1, s2, s3, s4和六个由小点表示的目标 t1, t2, t3, t4, t5, t6。当传感器具有全向监控范围时,我们仅需使用两个传感器即可覆盖所有目标。例如,目标 t1, t2, t3, t4可由传感器 s2覆盖,而 t5, t6可由 s3覆盖。当传感器具有定向监控范围(例如,每个传感器一次只能观测 45度)时,则每个传感器最多只能覆盖一个目标。因此,我们可以调整这四个传感器的监测方向,最多覆盖四个目标。在此例中, t1, t2, t3, t5分别由 s1, s2, s3, s4以方向 d1, d2, d3, d4覆盖,而 t4, t6未被任何传感器覆盖。当存在大量目标时,为传感器分配合适的方向将显著增加被覆盖目标的数量。因此,开发高效的算法来调整定向传感器网络中传感器的方向具有重要的实际价值。

本文研究了最大定向目标覆盖(MDTC)问题,旨在通过调整传感器的监测方向,使被覆盖目标的数量最大化。我们的贡献如下:

  • 我们将MDTC数学地表述为一个整数规划问题,并基于众所周知的假设 P ≠ NP,否定了MDTC存在多项式时间最优解的可能性。
  • 我们将整数规划问题松弛为一个线性规划问题,其解可在多项式时间内获得,且其最优目标值是MDTC的上界。
  • 此外,我们设计了一种舍入算法,将线性规划问题的解转换为MDTC的一个可行解(即整数解),并证明该整数解相对于线性解具有可证明的性能下界。
  • 我们研究了MDTC可行解的结构,并证明了(D,I)在独立性意义上是一个拟阵,其中 D是所有传感器的监测方向的集合, I是MDTC所有可行解的族(MDTC的任何可行解)。
  • 此外,我们证明了覆盖函数 f: 2^D → N是单调的和次模的,其中 2^D 表示 D的幂集,且f(·)定义为被‘·’覆盖的目标数量。因此,(D,I)中的最大基是MDTC的一个近似解,可通过经典贪心算法在多项式时间内获得。
  • 我们开发了一种分布式算法,当网络连通且每个传感器能够独立调整其方向时,该算法可用于求解 MDTC。此外,我们证明了该分布式算法能够以可证明的性能保证找到全局最大解。
  • 我们通过大量仿真评估了所提算法的实际性能。实验结果表明,所提算法的实际性能与我们的理论发现一致。

本文的其余部分组织如下:在第2节中,我们简要介绍了文献中与无线传感器网络目标覆盖相关的研究成果。在第3节中,我们给出了MDTC的问题描述、相关符号表示、整数规划模型以及MDTC的 NP-难证明。在第4节中,我们将MDTC松弛为一个线性规划问题,并提出一个舍入算法以求得MDTC的近似解。在第5节中,我们对MDTC可行解的结构进行了理论分析,并基于该理论分析提出了一种贪心算法。在第6节中,我们提出了针对MDTC的分布式全局最大算法,并讨论了其性能下界。在第7节中,我们展示了所提算法的实验结果。在第8节中,我们对全文进行总结。

2 相关工作

在文献中,针对无线传感器网络中的覆盖和目标覆盖问题已有大量研究。其中大多数研究集中在全向传感器网络,即传感器的监测范围是一个圆盘,圆盘内的所有内容都被该传感器覆盖。为了降低成本,许多研究致力于最小传感器部署(MSD)问题,其目标是部署最少数量的传感器以覆盖重要区域(或一组目标)。例如,Charkrabarty 等人(2002年)提出了一种基于线性规划的算法,用于部署传感器以覆盖给定区域。此外,Kar 和 Banerjee(2003年)提出了一种多项式时间近似算法,用于部署传感器以覆盖一组目标,该算法可为最小传感器部署(MSD)提供常数比近似解。

为了提高性能比,Nieberg 等人(2008年)为最小传感器部署(MSD)开发了一种多项式时间近似方案(PTAS),该方案可生成一个在任意常数 ϵ> 0下与最优解相差因子 1 − ϵ以内的解。

对于大规模应用,通常通过飞机或车辆部署传感器,这将导致随机部署。针对此类应用,文献中的大多数研究工作集中在传感器选择问题上,其目标是选择一个适当的传感器子集,使其激活后能够为重要区域(或一组目标)提供完全或充分的覆盖。例如,Slijepcevic 和 Potkonjak(2001年)提出了一种启发式算法,用于寻找互斥的传感器集合,以独立地覆盖给定区域。

Cardei 和 Wu(2006年)将 Slijepcevic 和 Potkonjak(2001年)提出的概念扩展到目标覆盖,并开发了一种基于线性规划的算法,用于寻找非不相交的传感器集合来覆盖一组目标。Gupta 等人(2006年)在考虑无线传感器网络中的连通性问题的基础上研究了目标覆盖,并提出一种基于贪心的对数比近似算法,用于找到覆盖一组目标的最小连通传感器集合。除了全覆盖之外,也有一些研究关注对给定区域的部分覆盖或对目标子集的覆盖。例如,Zhang 等人(2009年)研究了部分覆盖的性能,结果表明,当采用部分覆盖(覆盖率超过95%)而非全覆盖时,网络寿命可以显著延长。

Li 等人(2011年)提出了一种方法,可通过调整传感器的监测半径将完全覆盖转换为部分覆盖。欲了解更多关于全向传感器网络中覆盖和目标覆盖的重要研究成果,可参考 Meguerdichian 等人(2001年)、Akyildiz 等人(2002年,2007年)、Wang 等人(2008年)以及 Ding 等人(2012年)。

除了全向传感器网络外,也有一些研究针对定向传感器网络的目标覆盖问题展开。例如,马和刘(2005)研究了如何计算定向传感器网络的完全覆盖概率。Ai 和 Abouzeid (2006) 研究了选择传感器并调整其方向以覆盖目标集合的问题。之后,Fusco 和 Gupta (2009) 进一步研究了定向传感器网络中的 k-覆盖问题(即每个目标需要被覆盖 k次),并为此开发了一种基于贪婪策略的近似算法。此外,Horster 和 Lienhart (2006) 提出了一种算法来解决摄像头传感器网络中的覆盖问题,这类网络是特殊的定向传感器网络。为了减少冗余覆盖,Tao 等人 (2007) 开发了一种用于调整定向传感器网络中传感器方向的算法,目标是最小化不同传感器之间监测范围的重叠。最近, Cai 等人 (2009) 和 Kim 等人 (2013) 进一步研究了定向传感器网络中的数据传输问题。他们开发了算法以寻找非不相交的传感器集合,使得每个传感器集合能够独立地执行目标覆盖和数据传输任务。

3 问题建模

在不失一般性的前提下,本文做出了以下假设。

  • 所有传感器和目标均位于二维空间中。
  • 目标由二维坐标表征,每个传感器由二维坐标、最大监测距离和覆盖角度表征。
  • 所有传感器都配备了旋转载体,我们可以调整传感器的监测方向以监测任意方向。
  • 传感器的监测范围是取决于其监测方向的一个扇形区域。当且仅当一个目标位于该传感器的扇形区域内时,该目标才被该传感器覆盖。

由于传感器的监测方向可以任意调整,一个传感器可能监测无限多个方向。然而,当目标和传感器的位置固定时,每个传感器只能具有一组有限的、目标不同的监测方向,其中两个方向是目标不同的,当且仅当其中一个监测方向所覆盖的目标集合不是另一个监测方向所覆盖目标集合的子集。设 N为目标数量,我们有以下结论。

Claim1 : 在定向传感器网络中,任何传感器最多可以有一组 N个目标不同的监测方向。

证明 :我们通过矛盾法来证明。假设存在N+ 1个目标不同的监测方向:d i,1 ,…, d i, j ,…, d i,N+1 ,对应于传感器 s i 。设 x(·)和 y(·)分别为‘·’的坐标, pi, j 为当 s i 的监测方向为 d i, j 时其覆盖扇区左边界上的任意一点。令 t d i, j 表示该覆盖扇形区域中的一个目标具有最小 θ(si,pi,j, ti,j) 的扇形区域,其中 θ(si,pi,j, ti,j) 是通过坐标点 (x(si) y({v12)) 和 (x(pi,j) y(pi,j)) 的两条直线之间的夹角,以及通过坐标点 (x(si) y({v20)) 和 (x(ti,j) y(ti,j)) 的两条直线之间的夹角。由于存在 N+1 个监测方向和 N 个目标,因此存在两个监测方向 di,j 和 di,k 满足 tdi,j= tdi,k。令 T(di,j) 和 T(di,k) 分别表示当监测方向为 di,j 和 di,k 时被 si 覆盖的目标集合,则要么 T(di,j) 是 T(di,k) 的子集,要么 T(di,k) 是 T(di,j) 的子集,这导致了矛盾。

根据声明1,我们可以将传感器 si抽象为最多 N个目标不同的监测方向的集合。为了使问题描述和算法设计更加清晰,我们在全文中采用表1中的符号表示。

表1 本文中的符号表示

符号 含义
M 传感器数量
N 目标数量
si 第 i个传感器
tj 第 j个目标
di,j 第 j个监测方向
第 i个传感器的
T(di,j) 由 si覆盖的目标集合 当其监测方向为 di,j时
S 传感器集合(即, S={s1,…, tM})
T 目标集合(即, T={t1,…, tN})
D(si) 传感器的目标不同的监测方向集合
传感器 si的目标不同的监测方向
D(tj) 传感器的目标不同的监测方向集合
覆盖目标 t j 的目标不同的监测方向
D 目标差异监测的集合
所有传感器的方向(即, D=∪ M i= 1 D(si))

MDTC的目标是覆盖最大数量的目标。其正式定义如下。

定义3.1 :给定一个定向传感器集合 S={s1,…, si,…, sM}和一个有限二维空间中的目标点集合 T={t1,…, t j ,…, tN},MDTC问题是指为每个传感器 si ∈ S在 D(si)中选择一个监测方向,使得所有传感器覆盖的目标总数最大化。

为了更好地研究MDTC,我们将其表述为如下的整数规划问题:

$$
\max IP(x, y)= \left( \sum_{k=1,…,N} y_k \right)
$$

$$
\text{s.t.} \left( \sum_{d_{i,j} \in D(s_i)} x_{i,j} \right)= 1, \quad 1 \le i \le M
$$

$$
\left( \sum_{d_{i,j} \in D(t_k)} x_{i,j} \right) \ge y_k , \quad 1 \le k \le N
$$

$$
x, y \in {0, 1}, \tag{1}
$$

其中的布尔变量

$$
x_{i,j}=
\begin{cases}
1, & d_{i,j} \text{ is selected for sensor } s_i; \
0, & \text{otherwise}.
\end{cases}
\tag{2}
$$

和变量

$$
y_k=
\begin{cases}
1, & t_k \text{ is covered by a sensor}; \
0, & \text{otherwise}.
\end{cases}
\tag{3}
$$

显然,上述整数规划的任何最优解都对应于MDTC的一个最优解。然而,一般的整数规划问题不存在多项式时间算法。在本节的最后部分,我们简要证明MDTC是 NP-难的。

定理2 : 在MDTC中找到多项式时间最优解是NP-难的。

证明 :为了证明定理2,我们从3SAT问题进行归约。3SAT问题的输入是一个3CNF(合取范式) F,我们需要判断 F是否存在可满足赋值。假设 f1,…, fN是 3CNF F的子句,而 x1,…, xM是变量,我们如下构造一个特殊的MDTC实例:

  • 为每个子句 fi(1 ≤ i ≤ N) 创建一个目标 ti
  • 设 F(xi)为包含 xi的子句集合, F(x¯i)为包含 x¯i的子句集合,并设 T(xi)和T(x¯i)分别为对应的 目标集合,对每个变量 xi(1 ≤ i ≤ m)在某一位置创建一个传感器 si,使得 si能够覆盖 T(xi)或 T(x¯i)。

上述归约可以在多项式时间内完成,且存在覆盖所有目标 s1,…, sN的解,当且仅当3CNF F是一个“是”实例。因此,MDTC是NP-难的。

4 线性规划近似算法

在本节中,我们提出了一种用于MDTC的集中式多项式时间(e −1 e)‐因子近似算法。为了使该问题易于处理,我们将整数规划问题松弛为一个线性规划问题,如下所示:

$$
\max LP(x, y)= \left( \sum_{k=1,…,N} y_k \right)
$$

$$
\text{s.t.} \left( \sum_{d_{i,j} \in D(s_i)} x_{i,j} \right)= 1, \quad 1 \le i \le M
$$

$$
\left( \sum_{d_{i,j} \in D(t_k)} x_{i,j} \right) \ge y_k , \quad 1 \le k \le N
$$

$$
0 \le x, y \le 1, \tag{4}
$$

其中 $\sum_{k=1}^{N} y_k =\sum_{k=1}^{N} \min\left(\left(\sum_{d_{i,j} \in D(t_k)} x_{i,j}\right), 1\right)$,因为 $\left(\sum_{d_{i,j} \in D(t_k)} x_{i,j}\right) \ge y_k$ 且 $0 \le y_k \le 1$。

根据声明1,给定一个MDTC问题,我们可以在多项式时间内找到所有传感器的目标不同方向集合,且 D 中的总方向数为O(MN)。因此,我们可以在多项式时间内获得该线性规划问题的最优解。接下来,我们可以应用阿吉耶夫和斯维里登科(2004年)提出的Pipage 舍入方法,将线性解转换为整数解。在舍入过程中,我们需要使用以下非线性规划。

$$
\max NLP(x)= \sum_{k=1,…,N} y_k
$$

$$
\text{s.t.} \left( \sum_{d_{i,j} \in D(s_i)} x_{i,j} \right)= 1, \quad 1 \le i \le M
$$

$$
y_k= \left(1 - \prod_{d_{i,j} \in D(t_k)} (1 - x_{i,j}) \right), \quad 1 \le k \le N
$$

$$
0 \le x, y \le 1. \tag{5}
$$

假设 x∗是线性规划问题的最优解,Pipage舍入方法在算法1中给出,其中 x(z)被定义为

$$
x_i \leftarrow
\begin{cases}
x_{i,j}, & j \ne u, v; \
x_{i,j}+ z, & j= u; \
x_{i,j} - z, & j= v.
\end{cases}
\tag{6}
$$

通过 Pipage 舍入获得整数解 x 后,我们可以根据 x 调整传感器的监测方向。伪代码见算法2。

算法1 Pipage 舍入

输入 :一个MDTC实例 P。
输出 :一个整数解 x到 P。

  1. 查找一个最优解 (x ∗, y ∗) to the 线性规划 LP(x, y) via 典型线性编程算法;
  2. 令 x← x ∗;
  3. 对 i= 1 到 M 执行
  4. 当 x i具有非整数分量时执行
  5. 随机选取两个非整数分量 x i,u和 x i,v;
  6. 如果 NLP(x(xi,v)) > NLP(x(−xi,u)) 成立,则
  7. x← x(xi,v);
  8. else
  9. x← x(−xi,u);
  10. 结束 if;
  11. 结束 while
  12. 结束 for
  13. 返回 x;

接下来,我们分析算法1和算法2的性能比和准确性。在算法1中,$(\sum_{d_{i,j} \in D(s_i)} x_{i,j}) = 1$在舍入过程中保持不变。当 x中的所有分量都为整数时,该过程终止,这意味着在算法2中每个传感器将被分配恰好一个监测方向。因此,算法2输出可行的

MDTC的解。显然,线性规划问题和非线性规划问题的最优目标值都不小于所有传感器能够覆盖的最大数量的目标。此外,对于任意(x, y),NLP(x, y)与 LP(x, y)之间具有以下关系。

算法 2 近似算法 (AP) 用于 MDTC

输入 :一个MDTC实例 P。
输出 : P中所有传感器的方向。

  1. 构建目标差异监控方向集 对于所有定向传感器;
  2. 应用Pipage舍入方法以获得整数解 x
  3. 对于每个传感器 si执行
  4. 查找 xi,j= 1;
  5. 令 di ← di,j;
  6. 结束循环
  7. 返回 d1, · · · , di, · · ·, dM;
    MDTC的解。显然,线性规划问题和非线性规划问题的最优目标值都不小于所有传感器能够覆盖的最大数量的目标。此外,对于任意(x, y),NLP(x, y)与 LP(x, y)之间具有以下关系。

引理3 : NLP(x, y) ≥(1 − 1/e) · LP(x, y).

证明 :对于 LP(X)目标函数中的任意一项min (1,(∑di,j ∈D(tk) xi,j)),以及 NLP(X)目标函数中对应的项(1 −Πdi,j ∈D(tk)(1 − xi,j)),令 q= |D(tk)|,根据算术‐几何平均不等式,我们有

$$
1 -\left(\prod_{d_{i,j} \in D(t_k)}(1 - x_{i,j})\right) \ge 1 - \left(\frac{\sum_{d_{i,j} \in D(t_k)}(1 - x_{i,j})}{q} \right)^q = 1 -\left(1 - \frac{\sum_{d_{i,j} \in D(t_k)} x_{i,j}}{q}\right)^q
$$

$$
\ge 1 -\left(1 - \frac{1}{q}\right)^q \cdot \left( \sum_{d_{i,j} \in D(t_k)} x_{i,j} \right) \ge \left(1 - \frac{1}{e}\right) \cdot \left( \sum_{d_{i,j} \in D(t_k)} x_{i,j} \right),
$$

其中第三个不等式成立是因为函数 $f(z) = 1 - (1 - z/q)^q$ 在 $z \in [0, 1]$ 上是凹函数,其中 $z=\sum_{d_{i,j} \in D(t_k)} x_{i,j}$。由于对于任意 $t_k$,均有 $(1 -\Pi_{d_{i,j} \in D(t_k)}(1 - x_{i,j})) \ge (1 - 1/e) \cdot (\sum_{d_{i,j} \in D(t_k)} x_{i,j})$,显然有 NLP(x, y) ≥(1 − 1/e) · LP(x, y)。

定理 4 :算法 2 是用于 MDTC 的多项式时间 (1 − 1/e)-因子近似算法。

证明 :显然,算法 2 在多项式时间内运行。在 PipageRounding 过程中,初始时我们有

$$
NLP(x^ , y^ ) \ge (1 - 1/e) \cdot LP(x^ , y^ ) \ge (1 - 1/e) \cdot OPT,
$$

其中 OPT 表示 MDTC 的最优值。在此过程中,NLP(x(z), y) 的值不减少,因为它是关于 z 的二次多项式,且主系数大于零。因此,在 Pipage 舍入后,我们得到了一个多项式时间的 (1 − 1/e)‐因子近似解用于 MDTC。

5 贪婪近似算法

子模函数和拟阵在组合优化的背景下得到了广泛研究。在本节中,我们证明(D,I)是一个拟阵,其中 D表示所有传感器的所有监测方向的集合, I是MDTC所有可行解的族,每个可行解都是 D的子集。我们还证明了覆盖函数 f: 2^D → N是单调的且次模的,其中 2^D 表示 D 的幂集, f(·)定义为‘·’所覆盖的目标数量。

定理 5 : (D,I)是关于独立性的拟阵。

证明 :我们通过独立性来证明定理 5,且只需证明以下三个性质:
- 空集 ∅是独立的,即 ∅ ∈I。
- 独立集的子集是独立的,即对于任意 A′ ⊂ A ⊂ D,若 A ∈I,则有 A′ ∈I。这称为遗传性质。
- 如果 A和 B是 I的两个独立集合且|A| ≥ |B|,则至少存在一个监测方向 di,j ∈ A,将其加入 B后仍形成一个独立集合,即 B ∪{di,j} ∈I。

前两个性质显然成立。第三个性质称为交换性质。为了证明它,只需证明存在一个传感器 si∗,使得 D(si∗) ∩ A ≠ ∅且D(si∗) ∩ B= ∅,即 si∗在解 A中被分配了一个方向,并且该方向在解 B中尚未被使用。由于 A和 B 都是MDTC的可行解,因此对于任意传感器 si,都有|D(si) ∩ A| ≤ 1,即每个传感器不能被分配两个方向。因此 si∗的存在性是显然的,因为 |A| ≥ |B|。不失一般性,假设 D(si∗) ∩ A={di∗},则 B ∪{di∗}是 I中的一个独立集。综上所述,(D,I)是一个拟阵。

定理6 : 集合函数 f: 2^D → N是单调的和次模的。

证明 :显然, f: 2^D → N是单调的,因为增加一个新的监测方向永远不会减少被覆盖目标的数量。为了证明 f: 2^D → N是次模的,需要证明以下两个性质之一:
1. 对于任意两个集合: A, B ⊆ D,满足 A ⊆ B以及任意方向 di,j ∈(D\B),有 f(A∪{di,j}) − f(A) ≥f(B ∪{di,j}) − f(B)。
2. 对于任意两个集合: A, B ⊆ D,有f(A) + f(B) ≥ f(A∪ B) + f(A∩ B)。

这里我们证明第一个。假设 A ⊆ B和 di,j ∈(D\B),则有 ∪di,j∈A T(di,j) ⊆∪di,j∈B T(di,j)。对于任意集合 X, f(X ∪{di,j}) − f(X)等于 |T(di,j) \ (∪di,j∈X T(di,j))|,其中 | · | 是“·”中的目标数量(即被 di,j覆盖但未被 B中任何监测方向覆盖的目标数量)。因此我们得到

$$
f(A∪{di,j})− f(A)= \left| T(di,j)\setminus \left( \cup_{di,j∈A} T(di,j) \right) \right| \ge \left| T(di,j)\setminus \left( \cup_{di,j∈B} T(di,j) \right) \right| = f(B ∪{di,j})− f(B).
$$

因此, f: 2^D → N是单调的和次模的。

推论 7 :贪心算法(算法 3)实现了对 MDTC 的 0.5 倍近似解。

算法 3 MDTC的贪心算法

输入 :一个MDTC实例 P。
输出 : P中所有传感器的方向。

  1. 当 S ≠ ∅ 时执行
  2. 选择一个监测方向 di,j ∈ D,该方向可以覆盖最多的未覆盖目标;
  3. 令di ← di,j;
  4. 从 S中删除 si,并删除 di,1, · · ·, di,j, · · ·, di,N 来自 D;
  5. 结束循环
  6. 返回 d1, · · ·, di, · · ·, dM;

Proof :众所周知,贪心算法在满足 p‐系统独立性约束的条件下,对单调次模函数最大化问题可提供(1/p)‐近似解。拟阵 p= 1。因此,推论7直接由定理5和定理6得出。MDTC的贪心算法也由Ai和Abouzeid (2006)进行了研究,但他们未提供理论性能分析。Fusco和Gupta (2009)证明了该贪心算法是MDTC的0.43因子近似解。根据推论7,我们改进了Fusco和Gupta (2009)的结果。

6 分布式全局最大算法

对于某些定向传感器网络,无法应用集中式算法,每个传感器需要根据从其邻居收集的本地信息来调整其监测方向。在本节中,我们提出一种分布式算法,该算法可独立应用于每个传感器,并最终实现最大覆盖。我们首先介绍该算法,然后进行理论分析。为了获得全局最大覆盖,我们做出以下两个基本假设:
- 每个传感器 si都有一个唯一ID编号: i,并且它知道自身的位置以及位于其监测距离内的所有目标的位置。
- 每个传感器都有一个通信范围,并且可以与位于其通信范围内的任何传感器通信。网络中的任意两个传感器都可以通过多跳通信相互交流。

初始时,每个传感器监测一个任意方向。传感器 s1 将调整其监测方向以覆盖最大数量的目标,并向其他传感器广播一条消息。该消息包含其传感器ID、坐标和监测方向。每当传感器 si 接收到广播消息时,它会将接收到的ID号与其自身的ID号进行比较。如果接收到的ID号小于 i,它将根据接收到的坐标和监测方向计算一个覆盖扇区,并将该扇区内的目标标记为已覆盖。在 si 接收到 i − 1 条广播消息后,它将调整其监测方向以覆盖最多数量的未覆盖目标,并向其他传感器广播消息。当所有传感器都调整完其监测方向时,整个过程结束。详细步骤见算法4。

算法4 分布式全局最大算法(DGM)用于MDTC

  1. 设(xi, yi)表示 si和 T(si)的坐标 位于监测范围内的目标集合 si 的距离;
  2. 令 counti ← 0(counti存储消息的数量 由 si接收;
  3. 当一个广播消息消息 {j,(xj , yj) dj} 被接收到 si 时,执行
  4. 如果 {j,(xj , yj) dj} 此前未被 si 接收,则
  5. 如果 i> j 那么
  6. 通过 (xj , yj) 和 dj 计算一个扇形区域,并从 T(si) 中删除位于该扇形区域内的目标;
  7. counti ← counti +1;
  8. 如果 counti = i−1 那么
  9. 找到一个方向 di 以覆盖最大数量的目标在 T(si) 中;
  10. 广播一条消息 {i,(xi , yi) di} 给它的相邻传感器;
  11. 结束如果
  12. 结束如果
  13. 如果 i ≠ j 那么
  14. 广播 {j ,(xj , yj ) dj } 给其相邻的传感器;
  15. 结束 if
  16. 结束 if
  17. 结束 while

我们现在讨论算法4的运行时间和性能。首先,该算法在有限时间内终止。显然,每个传感器在整个过程中仅调整一次其监测方向。调整方向后,一个传感器将向其相邻的传感器广播消息。此外,它还充当其他传感器的消息中继节点。设 M为传感器数量,则每个传感器在整个过程中恰好广播 M条消息,因此只要网络是连通的,该算法将在有限时间内终止。传感器将根据其 ID编号依次调整监测方向,最后一个传感器完成方向调整所需时间为 O(τ M²),其中 τ表示发送一条消息所需的时间。接下来,我们分析算法4的性能保证。

定理8 :当所有传感器都调整了它们的方向后,算法4最终实现了MDTC的一个0.5-因子近似解。

证明 :为了证明定理8,我们假设 opt是最优解, dopt 1,…, dopt M是传感器 s1,…, sM在 opt中的监测方向。令 Tk=∪k i=1 T(di)表示算法4前 k个方向所覆盖的目标集合, T ×(dk)=(T(dk)\ Tk−1)表示传感器 sk在监测方向 dk下新覆盖的目标集合。我们首先声明 |T ×(dk)∪(Tk−1 ∩ T(dopt k))| ≥ |T(dopt k)| 对于任意 dk。假设在算法4的解中存在 dk,导致矛盾。 |T ×(dk)∪(Tk−1 ∩ T(dopt k))| < |T(dopt k)|, 这意味着|T ×(dk)| < |(T(dopt k)\ Tk−1)|。因此,选择监测方向 dopt k而不是 dk可以覆盖更多的未覆盖目标,这与算法4中 sk调整其方向以覆盖最多未覆盖目标的事实相矛盾。因此,我们的主张成立。

设 T ×(d opt k)表示由 d opt 传感器覆盖的目标集合。那么我们有

$$
\sum_{k=1}^{M} |T ×(dk) ∪(Tk−1 ∩ T(d opt k))| \ge \sum_{k=1}^{M} |T ×(d opt k)|.
$$

此外,我们还

$$
\sum_{k=1}^{M} |T ×(dk) ∪(Tk− 1 ∩ T(d opt k))| \le 2 \cdot |TM|,
$$

因为

$$
|TM | = \sum_{k=1}^{M} |T ×(dk) |
$$

and

$$
\sum_{k=1}^{M} |T k − 1 ∩ T(d o p t k )| \le 2 \cdot |T M | \le \sum_{k=1}^{M} |T ×(dk) |.
$$

因此,

$$
2|TM| \ge \sum_{k=1}^{M} |T ×(dopt k)|.
$$

其中, |TM| 是算法4覆盖的目标数量, ∑M k=1 |T ×(dopt k)| 是由opt覆盖的目标数量。因此,算法4是 MDTC的一个0.5因子近似算法。

7 实验

在本节中,我们评估了所提算法的实际效率,并研究了不同参数对所提算法的影响。除了AP(算法2)、贪心算法(算法3)和DGM(算法4)外,我们还实现了局部最大值算法和随机算法以进行比较。局部最大值算法和随机算法均不需要全局信息,可独立应用于各个传感器。简而言之,局部最大值算法为每个传感器寻找一个能覆盖最大数量目标的监测方向,而随机算法则为每个传感器选择一个任意方向(我们将其作为基线)。这些算法使用Java编写,实验在一台2.5 GHz、8 GB内存的个人计算机上运行。系统设置在第7.1节中描述,实验结果在第7.2节中给出。

7.1 网络环境

我们模拟了一个定向传感器网络,其中 M个定向传感器和 N个目标随机均匀分布在400 × 400m的欧几里得平面内。对于每次实验,我们进行1000次模拟以获得平均结果。在每次模拟中,传感器具有相同的监测距离和覆盖角度(分别用 R和 θ表示),并且其通信范围足够大以确保网络连通。传感器数量,即M,在10到320 之间变化;目标数量,即 N,在100到3200之间变化;监测距离,即 R,在10米到35米之间变化;覆盖角度,即 θ,在30度到180度之间变化。

7.2 结果

我们首先研究所提算法在不同 M下的性能。图2展示了仿真结果。首先,每种算法的覆盖率随着 M的增加而逐渐上升,但增长速度逐渐减缓,这符合直觉:增加传感器数量将覆盖更多目标。其次,具有最佳理论性能保证的接入点(AP)始终优于其他算法。集中式贪心算法排名第二,其性能略优于分布式DGM算法。这一发现是合理的,因为贪心算法和DGM具有相同的理论性能保证。DGM比局部最大值(Local Max)约高出5–10 %,且性能优于随机方向的覆盖性能大约低了5–25%(正如预期,选择随机方向并不是一个好方法)。这表明,通过考虑全局信息而非仅依赖局部最优,可以获得显著更好的覆盖效果。当分析Local Max性能不如DGM的原因时,可以注意到,Local Max忽略了其他传感器的存在,可能会选择去覆盖许多已经被其他传感器覆盖的目标。第三,传感器数量越多,五种算法之间的性能差异越大。例如,当 M ≤ 40时,除Random外的所有算法性能相似;而当 M ≥ 300时,DGM与Local Max之间的性能差异超过10%。

接下来,我们研究所提算法在不同 N下的性能。图3和 图4显示了仿真结果。请注意图3和图4之间显著的差异。首先,正如预期的那样,随着目标数量的增加,每种算法的被覆盖目标的数量呈线性增长。其次,随着目标数量的增加,覆盖率下降,并且当 N> 1000时,每种算法的下降速度减缓。其原因是所有传感器能够覆盖的区域大小是有限的,而目标在该区域内随机均匀分布。因此,当目标数量增加时,覆盖率会下降;当目标数量超过某个阈值时,覆盖率接近于所有传感器可覆盖的最大区域大小与整个区域大小之比。因此,当 N较大时,所有算法的覆盖率下降速度减缓。第三,所有算法的性能表现与先前实验非常相似。五种算法之间的性能差异略有变化,其中接入点(AP)算法的性能仍然优于其他算法。

最后,我们研究了所提算法在不同 R和 θ下的性能。图5和图6分别展示了仿真结果。首先,直观来看,增加传感器的覆盖角度可以覆盖更多的目标,因此随着 θ的增加,每种算法的覆盖率也随之提高。例如,当 θ= 30‐度时,所有算法的覆盖率均低于20%,而当 θ= 180‐度时,除随机算法外的所有算法的覆盖率均高于38%。其次,每种算法的覆盖率随着 R的增加呈线性增长。此外,从图6还可以看出,覆盖半径越大,五种算法之间的性能差异也越大。例如,当 R= 10m时,最优算法(AP)与最差算法(随机)之间的覆盖率差异小于5%,而当 R= 35m时,两者之间的覆盖率差异超过30%,这表明当传感器具有较大的覆盖半径时,选择一种优秀的算法对MDTC确实至关重要。

总之,当可以应用集中式方法时,AP 的性能优于其他算法,尤其是在覆盖半径、传感器数量和目标数量较大时。当无法应用集中式算法时,DGM 是最佳选择。在所有实验中,其性能仅略逊于贪婪算法。与 DGM 相比,局部最大值和随机方法的覆盖效果差得多。这表明考虑全局信息的重要性。

8 结论

本文研究了定向传感器网络中的MDTC问题,目标是通过为传感器分配合适的监测方向来最大化被覆盖目标的数量。我们将MDTC建模为一个整数规划问题,并将其松弛为一个线性规划问题。基于该线性规划,我们提出了一种 (e−1)/e ‐因子多项式时间近似算法用于解决 MDTC问题。此外,我们发现经典贪心算法是MDTC的一个0.5‐因子近似算法。同时,我们开发了一种分布式算法,其性能保证与贪心算法相同。我们还进行了仿真以评估所提算法的实际性能。作为进一步研究的方向,我们希望研究MDTC的加权版本,其中每个不同目标的重要性不同,目标是覆盖具有最大权重和的目标。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值