传感器网络中斯坦纳树维护

传感器网络中近似最优的确定性斯坦纳树维护

戈卡纳·夏尔马,肯特州立大学科斯塔斯·布什, 路易斯安那州立大学

我们考虑在由静态传感器网络跟踪的一组k个移动代理之间进行组通信维护的问题。我们开发了一种可扩展的确定性分布式算法,用于维护这些代理的斯坦纳树,从而以尽可能小的总成本提供它们之间的组通信。主要思想是,我们的算法维护一个移动代理的虚拟树,该虚拟树可以随时立即转换为实际的斯坦纳树。在常数倍增图模型中,我们的算法所得到的斯坦纳树总长度至多是最优斯坦纳树长度的 O(logk)倍。维护该斯坦纳树的总通信开销(消息数量)仅为最优通信成本的O(min{logn,logD})倍,其中n和D分别表示常数倍增网络的节点数量和直径。我们还为移动k中心、稀疏聚合以及分布式匹配问题开发了改进的算法。实验评估结果表明,与以往算法相比,我们的算法具有明显优势。这四个问题均为NP难问题,据我们所知,我们的算法是首批在分布式环境中以低维护成本维护这些问题近似解的近似最优确定性算法。

分类与主题描述符

C.2.2[Computer-Communication Networks]:网络协议 通用术语:设计,算法,性能 附加关键词和短语:传感器网络,移动代理,层次结构,斯坦纳树,k‐中心,聚合,匹配

ACM参考格式

戈卡纳·夏尔马和科斯塔斯·布什.2016.传感器网络中的近似最优确定性Steiner树维护.ACM传感器网络汇刊 12,1,文章4(2016年3月),29页.数字对象标识符:http://dx.doi.org/10.1145/2854155

1. 引言

我们考虑在一组由静态传感器网络跟踪的移动代理之间的组通信维护问题(记为GCM), 其目标是维护一种数据结构,以在任何时刻提供代理之间低成本的通信,尽管存在代理移 动性。这些移动代理可能是协作完成任务的机器人或传感器骡子。该问题描述了以下情形:
本文扩展了发表于《第10届IEEE分布式传感器系统国际会议论文集》(DCOSS),加利福尼亚州马里纳德尔雷 伊,第201–208页,2014年5月的初步版本(Sharma和Busch)。作者地址:G.夏尔马,美国俄亥俄州肯特市 肯特州立大学计算机科学系数学与计算机科学大楼268室,邮编44242;电子邮箱:gsharma2@kent.edu;C. 布施,美国路易斯安那州巴吞鲁日路易斯安那州立大学电气工程与计算机科学学院计算机科学与工程系354哈彻 厅,邮编70803;电子邮箱:busch@csc.lsu.edu。部分工作在第一作者就职于路易斯安那州立大学期间完成。
允许出于个人或课堂使用目的免费制作本作品全部或部分内容的数字或纸质副本,前提是不得出于盈利或商业优 势目的制作或分发副本,且每份副本须在首页或显示的初始屏幕上注明本声明及完整引用。本作品中非ACM拥有 的版权必须予以尊重。允许注明来源的摘要。如需以其他方式复制、重新发布、上传至服务器、再分发至列表, 或在其他作品中使用本作品的任何组成部分,均需事先获得特定许可和/或支付费用。权限可向ACM公司出版部 申请,地址:美国纽约州纽约市彭广场2号701室,传真:(212)869‐0481,或发送邮件至 permissions@acm.org。©ACM1550‐4859/2016/03‐ART4$15.00数字对象标识符: http://dx.doi.org/10.1145/2854155
ACM传感器网络汇刊,第12卷,第1期,文章4,出版日期:2016年3月。
本文档由funstory.ai的开源PDF翻译库BabelDOCv0.5.10(http://yadt.io)翻译,本仓库正在积极的建设当中,欢迎star和关注。

4:2 G.夏尔马和C.布施

传感器节点和一组移动代理在同一物理空间中协同工作。机器人对区域的探索以及传感器 模块进行的数据收集便是此类情况的两个例子。传感器节点通过作为代理之间通信与协调 的支持基础设施,实现对环境的网络内监控[林等人2006;周和高 2010]。传感器节点 还提供网络内处理能力。GCM问题因其在对等网络、传感器网络和云计算等多个领域的应 用而显得尤为重要,这些应用包括信息聚合与传播、多播、匹配等。因此,该问题已在多 篇论文中被研究[高等人2007,2009;李和崔2013;莫茨金等人2011;周和高 2010], 分别针对各自领域。
我们选择维护一棵覆盖所有代理的树T作为数据结构,以促进移动代理之间的组通信。
基于树的数据结构在文献中已被用于解决多个问题(例如Fang等人[2004],高等人 [2009], Herlihy和Sun[2007], Kung和Vlah[2003], Lin等人[2006],以及周和高 [2010])。我们采用一种最近传感器模型,使得距离代理最近的传感器节点成为代表该代 理的代理节点[陈等人2004;Lin等人2006],,平局情况任意打破。这种通过代理节点表 示代理的方式可通过将感知区域划分为Voronoi图来实现,即该图中每个多边形内的任意 点都比到其他任何传感器更接近其对应多边形内的传感器。实现该Voronoi图的一种技术 由陈等人[2004]提出。现在,如果移动代理位于该多边形内的任意位置,则该多边形内对 应的传感器即成为其代理节点。然而,如果移动代理位于Voronoi图中多边形的边界上, 则共享该公共边界(实际上为相邻)的传感器之间进行通信,并决定哪一个将作为该代理 的代理节点。此过程可打破可能存在的平局。假设传感器的通信范围足够大,使得相邻传 感器可以直接相互通信以做出这些决策。为了简化分析,我们假设传感器信道不受任何干 扰和噪声影响,即我们不使用信号与干扰加噪声比(SINR)模型[Halld´órsson和 Mitra2011;马赫什瓦里等人2008;莫斯奇布罗达等人2006a,2006b]。独立考虑SINR模 型并确定其对GCM复杂性的影响将十分有意义。代理节点是当前拥有(至少一个)被检测 到的移动代理的传感器节点的子集。
在任何时候,树T 都应优先是传感器网络中代理节点的最小斯坦纳树[加雷和约翰逊 1990;Robins和Zelikovsky 2000],即连接代理节点的边具有最小可能长度(或权重) 的树。这是因为最小斯坦纳树显著降低了代理之间的通信开销。T可能包含非代理节点,但 它们仅作为中间节点(而非叶节点)来连接代理节点。换句话说,非代理节点充当斯坦纳 节点。由于代理移动性,代理节点会随时间变化。因此,当一个代理移动时,树T 需要被 适当地更新(即维护),以反映该代理的位置变化(代理节点提供代理的位置);T 中的 更新通过更新操作执行,从而移除与旧代理节点的连接,并添加与新代理节点的连接。这 种树更新具有代价,即为位置更新而发送到传感器网络中的消息总数。
GCM具有挑战性,因为它需要以尽可能少的消息数量维护移动代理的位置,同时树 T 应是最小代价树。众所周知,即使在集中式环境中,最小斯坦纳树(MST)问题也是 NP难[Garey和Johnson 1990]。因此,通常寻求相对于MST的近似解;目前在集中式 环境中MST的最佳近似比为ln(4)+ ε< 1.39 [Byrka等人 2013]。在GCM中,不仅需 要寻求MST的近似,还应能够以较少的消息数量维护该近似树
ACM传感器网络汇刊,第12卷,第1期,文章4,出版日期:2016年3月。
传感器网络中的近似最优确定性斯坦纳树维护 4:3
在分布式环境中,消息的数量可能会进一步使维护过程复杂化。因此,我们的目标是在分 布式环境中,对于一组移动代理,始终以最少的位置维护消息量实现对最优最小生成树的 良好近似T。
有人可能会说,维护一个类似于Karger和Ruhl[2002],、Krauthgamer和Lee [2004], 以及高等人[2006], 所提出的(动态)稀疏聚合(spanner),而不是最小生成 树(MST),以实现移动代理之间的快速通信,这将是非常有趣的。其论点是,在MST中, 相邻的代理可能相距较远,因此MST并不能像稀疏聚合那样为它们提供快速通信。然而, 我们研究MST是出于以下原因。首先,斯坦纳树遵循树结构,这是最简单的数据结构类型 之一,而稀疏聚合不一定遵循树结构。其次,这两种结构对代理节点之间的通信开销提供 了不同的保证:斯坦纳树最小化连接所有代理节点的边长度总和(从而最小化总通信成本), 而稀疏聚合则试图保证在所构建的稀疏聚合中任意两个节点之间路径的边长度与原始图中 这两节点间最短路径长度相比被控制在某个因子范围内。第三,现有的稀疏聚合构建方法, 例如Karger和Ruhl[2002],、Krauthgamer和Lee[2004], 以及高等人[2006],,是 针对如下问题进行研究的:在度量空间中给定点集的一个查询点,高效地找到该点集中距 离查询点最近的点。作者表明即使允许点集中的插入和删除操作,仍可高效地找到最近点。
然而,这些工作并未涉及本文所关注的由传感器节点检测到的移动代理之间的组通信问题, 且目前尚不清楚当代理节点移动时如何高效地维护由代理节点检测到的移动代理的稀疏聚 合。第四,本文所采用的斯坦纳树构建与维护方法确保了即使代理持续移动,在所维护的 斯坦纳树中邻近的代理仍然是邻近的,远离的代理仍然是远离的(我们称此为局部性)。
第五,MST问题即使在集中式环境中也是NP难的,而在分布式环境中为其提供良好的近 似解已经具有重要意义。因此,维护一种能够保持代理局部性并最小化连接所有代理节点 的边长度总和的斯坦纳树的良好近似,构成了本文的主要贡献。
我们通过一个带边权重的图G来建模GCM,该图包含n个静态节点和直径D,其中图节点 表示传感器节点,图边表示传感器节点之间的邻接关系。考虑一组 S包含k个移动代理的集合。
假设在G中任意一对节点之间发送消息的代价仅取决于它们之间的距离(即边权重)。
—T的质量:T 的质量通过任何GCM算法返回的斯坦纳树T 的边的总长度来衡量。该总 长度与最优斯坦纳树OPT 的长度进行比较,以得到T的近似比,我们称之为拉伸。最优 长度是在图G中沿最短路径计算的,而我们的GCM算法的总长度则是基于构建在G之上 的数据结构得出的。
—T的维护成本:维护T所需的通信开销通过任何GCM算法在网络中发送的总消息数量来 衡量。对于一组操作,T的维护成本与该操作集可能达到的最小维护成本(对于最优算法) 进行比较,以得到维护成本比。最优维护成本是在G中沿最短路径计算的,而GCM算法的 成本则是基于在G上构建的数据结构计算的。
ACM传感器网络汇刊,第12卷,第1期,文章4,出版日期:2016年3月
4:4 G.夏尔马和C.布施

表I. 常数倍增图模型中若干GCM问题的算法性能比较,其中n和D分别为传感器网络的节点数量和直径,k为移动代理(或事件)数量, ρ为倍增常数

问题 算法 拉伸 网络模型 维护比 到达 保证
斯坦纳树
k‐中心
高周和[2010] O(logn) Constant‐ doubling O(logn) 逐一
同时的
In 期望
稀疏聚合 (SA) 分布式匹配 (DM) 高等人 [2009] O(logk) Constant‐ doubling O(logk) 同时的 In 期望
分布式匹配 高等人 [2009] O(logρ+1 k) Constant‐ doubling O(logρ+1 k) 逐一 In 期望
斯坦纳树 本文 O(logk) Constant‐ 倍增 O(min{logn, logD} 逐一 在最坏情况下 case
斯坦纳树/k‐中心/
SA/DM
本文 O(1) Constant‐ doubling O(1) 同时的 Inworst
case
k‐中心/SA/DM 本文 O(logk) 常数‐ 倍增 O(logk) 逐一 在最坏情况下 case

本文提出了一种在传感器网络中用于以下四个不同但相关问题的确定性近最优GCM算法, 这些问题都需要组通信。
(1)Steiner树维护问题——该问题要求在任何时刻构建一棵连接移动代理的代理节点的最 小长度斯坦纳树。(2)移动k‐中心问题——该问题要求选择k个传感器作为中心,使得每个 代理到其最近中心的最大距离最小化。(3)稀疏聚合问题——该问题要求当传感器检测到事
件(或请求)且事件之间不知道彼此的数量和位置时,构建一个聚合树。(4)分布式匹配问
题——该问题要求为网络中的事件分配可用资源,使得没有两个资源被分配给同一个事件。
问题(2)、(3)和(4)使用了为T的实例(1)所开发的思想,因此我们首先解决T的实例(1),并利用该技术来解 决T的实例(2)、(3)和(4)。
在这些问题背景下,周和高[2010] 针对斯坦纳树和移动k‐中心问题,以及高等人 [2007, 2009] 针对稀疏聚合和分布式匹配问题(表I)提出的先前方法,仅提供了“期望”的 拉伸和“期望”的维护成本比界限。他们利用Bartal[1996,1998] 和Fakcharoenphol等人
[2004], 的技术在G上构建了分层良好分离树(HST),该树保证了期望距离E[distHST(x,y)
] ≤ O(logn) · distG(x,y),其中distHST(x,y)和distG(x,y)分别表示任意两个节点x,y 在 HST 和G中的距离。
HST方法对于GCM来说并不是一个理想的选择,因为在最坏情况下,其拉伸和维护成 本比的上界都可能达到 O(D)。也就是说,位于相邻代理节点中的代理仍可能需要到达 HST的根才能彼此发现,例如在环形网络中就是这样。这意味着高等人[2009]以及周和高 [2010]的结果仅在期望意义下成立,即它们只能应对一种无知的对手,该对手必须在事先 选择整个代理移动序列,且只知道算法本身(参见Ben‐David等人[1994])。有些人可能 会说,可以使用标准技术对HST方法进行去随机化处理,例如
ACM传感器网络汇刊,第12卷,第1期,文章4,出版日期:2016年3月。
传感器网络中的近似最优确定性斯坦纳树维护 4:5
例如,在Fakcharoenphol等人[2004],中以获得确定性界限;然而,这种去随机化并不 能保证对于每一对节点x,y ∈ G,都有distHST(x,y) ≤ O(logn) · distG(x,y)成立。
此外,Fang等人[2004]提出了RoamHBA,这是一种基于主干的启发式方法,用 于在传感器网络中分布式构建和更新代理通信树,该树被称为移动中心。然而,当代理移 动时,该方法无法对拉伸和维护成本比提供任何保证。类似地,基于生成树的方法,例如 Kung和Vlah[2003]以及Lin等人[2006],为移动对象跟踪所设计的方法,也不适用于 GCM,因为在最坏情况下,其拉伸和维护成本比可能高达 O(D)。最近的研究[Shar ma和Busch2013;Sharma等人 2015]针对传感器网络中移动对象的最近邻查询和位 置跟踪问题,并未处理我们在此针对移动代理所关注的树T的质量问题,而仅专注于最小 化通信开销。我们的方法在多个方面改进了这些先前的结果。

1.1. 贡献

我们提出了适用于前述四种问题的可扩展的确定性分布式GCM算法,用于常数倍增网络。
考虑常数倍增网络的原因是,在文献中它们已被用作传感器网络度量的合适模型,例如,针对多个与传感器网络相关的问题,高等人[2009],、Motskin等人[2011],、Sharma和 Busch[2013],以及周和高[2010],的研究。
—对于Steiner树维护问题,我们的GCM算法实现了 O(logk)的拉伸和 O(min{logn,log D})的维护成本比。该结果假设为逐个的情况,即在当前更新操作完成之前,下一个更新 操作不会到达。这一假设涵盖了文献中广泛研究的应用场景,其中事件到达间隔时间远大 于消息传播时间[高等人 2009]。在同时的情况下,即所有更新操作同时存在(但各操作 彼此未知)的应用场景中,我们GCM算法针对Steiner树维护问题的拉伸和维护成本比的 界均变为 O(1)。
—对于k‐中心和稀疏聚合问题,我们的GCM算法在同时情况下对拉伸和维护成本比均具有 O(1)的竞争性。在逐个情况中,它们具有 O(logk)的竞争性。
—对于分布式匹配问题,我们的GCM算法在同时情况下对拉伸和维护成本比均达到了 O
(1)的界,在逐个情况下均达到了 O(logk)的界。
所有界均为确定性最坏情况界,相较于高等人[2007, 2009]以及周和高[2010]的结果 有显著改进(详见表I中的详细对比)。对于所有四个问题的同时情况,我们GCM算法的
拉伸和维护比界在常数因子内是最优的。对于逐个情况,我们的GCM算法的拉伸界与 O
(loglogk)因子内的斯坦纳树下界相比是最优的,该下界( log k log logk)由Alon和 Azar[1993],证明,因为更新操作的逐个情况类似于最小斯坦纳树问题的在线版本,其中 终端逐一到达。此外,我们的GCM算法的拉伸界仅依赖于k,而与n无关。这种独立性在大 型网络的可扩展性方面非常有意义,因为它使得拉伸随代理数量成比例变化,从而
ACM传感器网络汇刊,第12卷,第1期,文章4,出版日期:2016年3月
4:6 G.夏尔马和C.布施

图1. 代理在 HS中的虚拟树 T示意图(为代理)。

即,如果k= O(logn),我们GCM算法的拉伸变为 O(loglogn),相比周和高[2010]的期 望 O(logn)界具有渐近改进。第6节的实验结果展示了我们的GCM算法相较于现有算法的优 势。
我们算法的一个显著特点是,它们能够抵御任何自适应离线对手adaptiveoff line adversary,该对手根据算法对先前代理移动的响应来选择每一次代理移动[Ben‐Davidetal.
1994]。此外,我们的解决方案在图G中生成了实际的斯坦纳树T;而基于HST的解决方案[高等 人2007,2009;周和高 2010]生成的是逻辑树,由于在逻辑结构中使用最短路径来实现树连接, 这些逻辑树可能包含环路和重复边,因此不一定是实际的斯坦纳树。据我们所知,我们的方法是 首批在分布式环境中以低维护成本解决四个重要传感器网络问题的近似最优确定性解(在同时情 况下的代价在常数因子内,在逐个情况下的代价在次对数因子内)。

1.2. 方法

其思想是维护一棵虚拟树virtual tree(表示图1(a)和图1(c)中仅包含粗边的树) T,该树的边 连接给定的一组移动代理。在需要时,通过适当的投影算法将虚拟树 T转换为图G中的实际斯 坦纳树T;参见图1(b)和图1(d),它们分别展示了将图1(a)和图1(c)中的虚拟树 T投影后得到的 图G中的实际斯坦纳树T。此处出现的挑战是如何高效地维护 T并将 T转换为T。
ACM传感器网络汇刊,第12卷,第1期,文章4,出版日期:2016年3月。
传感器网络中的近似最优确定性斯坦纳树维护 4:7
为了高效地维护 T,我们使用一种简单的分布式最大独立集算法从G中提取一个层次 结构,记为HS[Schneider和Wattenhofer 2010],,并在代理移动时以 T为参考来维护 H。 HS在提供适当连接方面起到了重要作用,使得 T中的拉伸能够被控制。图1(a)或图 1(c)中包含的所有边构成一个层次结构 HS。换句话说,在常数倍增图模型中, HS保证对 于任意两个节点x,y ∈ G,均有distHS(x,y) ≤ c ·distG(x,y)成立,其中c为某个正常数。
更准确地说,我们将证明 HS有助于以更少的消息数量维护 T,并且所得到的对T的近似仅 比最优斯坦纳树稍差一个很小的因子。先前方案中使用的HST结构(由Bartal
[1996, 1998]和Fakcharoenphol等人[2004]的技术构建)[Gao等人2009;周和高 2010]
仅能以 O(logn)因子限制节点间期望距离。这一 O(logn)界限对于常数倍增图模型而言过 于悲观,因为同样的界限也可在更一般的传感器网络拓扑中获得。
HS的每一层级中的节点都是前一层级节点的一个子集。 HS具有O(logD)个层级, 其中在 HS的每一层级中,都存在指向较低层级节点的节点。图G中的所有个体节点均位 于 HS的底层(第0层),而在顶层(层级h= O(logD))则存在一个代表整个图G的单 一节点,该节点是一个称为根的特殊节点。底层的各个节点同时也充当高层级中的节点; 在高层级中,它们仅作为转发消息给上一层和下一层节点的中间(或内部;实际上,所有 位于第1层及更高层的节点都称为内部节点)节点。因此,来自移动代理的更新操作总是在 底层生成,而高层级中的节点则用于传播这些操作。
初始树 T(在任何代理移动之前)是通过将代理发布到它们首次出现的节点中获得的, 这些节点位于 HS向根方向的一组有限内部节点上,并使每个父节点指向其子节点。此过程 重复进行,直到代理访问由其他代理先前设置的向下的路径,从而形成覆盖所有代理的初 始树 T。该过程是我们后续描述的更新操作的一种特例,因为此时仅添加指针,无需删除 任何现有指针。这种初始化使得数据结构能够处理代理的更新操作;初始化只需在开始时
执行一次。图1(a)展示了在将代理发布到其代理节点4,5, 6, 8,和10后形成的初始虚拟树 T
(粗边)。注意, T由从根节点6到拥有代理的底层节点(即代理节点)的有向路径组成 (例如,图1(a)中从6到节点1的路径 6 −6 −2 −4 −1),我们称之为代理路径。
当一个代理从一个节点移动到另一个节点时,通过更新该代理的代理路径来更新 T,
并以 HS作为参考(例如,在图1(c)中,当位于节点4的代理移动到节点7时,路径 4 − 4
被删除,路径 6 −6 −6 −8 −7被添加到 T中)。这些路径更新通过相应的消息完成: delete和insert(当代理移动时,两者共同构成一次更新操作),分别由失去和获得代理的 节点发出(分别为图1(c)中的节点4和节点7)。delete消息沿其代理路径逆序向上传播,并
在其路径上删除已存在的向下指针。insert消息则沿着一条预指定的路径(我们称之为根
路径)向上传播;在传播过程中设置其路径上的向下指针。当insert和delete消息在一个公 共祖先处相遇时,向上传播将停止(例如,图1(c)中根级别下方的节点6)。前面描述的更 新操作类似于周和高[2010]中使用的技术。然而,周和高[2010]中的更新操作要简单得多, 因为该论文中使用的 HS是一棵树。而我们在此提出的 HS并非严格意义上的树,因此需 要格外注意,以确保更新操作能够成功执行,并尽量减少
ACM传感器网络汇刊,第12卷,第1期,文章4,出版日期:2016年3月。
4:8 G.夏尔马和C.布施
它们的代价。具体来说,我们必须处理由于执行多次更新操作后代理路径发生偏离而产生 的复杂性。这些偏离需要得到妥善处理,因为它们直接影响拉伸和维护成本比率。
叶节点的根路径是通过从底层向上遍历一组有限的内部节点,直至顶层而构建的(详 见第2节)。代理路径是在图中发起更新操作的节点的根路径上构建的,即代理路径由不同 叶节点的根路径片段形成。在维护 T中的代理路径时,可能会出现某一层级上两个不同节 点的指针指向它们共同的直接子节点 T的情况。在这种情况下,我们通过适当地移除代理 路径中存在问题的片段(例如图1(c)中的片段 12 −8 −8)来维护 T。此过程还有助于处 理代理路径的偏离问题。
我们使用的层次结构 HS是一种基于连通图的层次结构,该结构通过Schneider和 Wattenhofer提出的简单分布式最大独立集算法[2010]构建而成。在此结构中,每一层级 i中的节点构成第i层节点的一个最大独立集 −1。为了找到第i层节点的一个最大独立集 −1,假设该层中任意两个节点若彼此之间的距离在 2i以内,则它们通过一条边相连。
为了高效地将 T转换为T,我们从 T的根节点开始,并将 T的根节点包含在T中;此 时,T仅有一个节点,即 T的根节点。之后,我们找出位于T根节点下一层级的所有节点 中的最大独立集,并将其加入到T中。该最大独立集中的节点通过在G中的最短路径依次连 接到已存在于T中的最近节点。此过程在该层级重复进行,直到 T在该层级的所有节点都被 包含进T中为止。我们逐层继续此过程,直至到达 T的底层。

1.3. 路线图

本文其余部分组织如下:我们在第2节讨论模型和层次结构的构建。我们在第3节提出一个 分布式的GCM算法,并在第4节对其进行分析。接着在第5节讨论其他问题的结果,并在第 6节提供实验结果。最后在第7节以简短的讨论结束全文。

2. 预备知识

2.1. 模型

我们考虑一个静态图G=(V,E w)来表示传感器网络拓扑,其中V表示顶点(n个传感器 节点的集合),E表示边(如果两个传感器之间可以直接传递代理而无需经过第三个传感
器,则它们通过一条边相连), w:E → R + 表示一个权重函数,用于提供顶点之间的距 离或E中边的延迟。V中的每个节点都有一个唯一标识符。边的权重等于通过该边发送消 息的通信开销。我们假设对于任意u ∈V,有 w(u,u)= 0。我们假设图G是连通的,即 在G中任意一对节点之间都存在一条由节点构成的路径(以及相应连接这些节点的一系列 边)。设dist(u v)为在权重函数 w下,传感器节点u和 v 之间的最短路径长度(距离)。
直径D:= maxu,v∈V dist(u v),表示图G中所有节点对之间的最大最短路径距离。了解直 径D有助于HS的构建。我们假设节点和边不会发生故障。此外,我们有k个移动代理S。
代理由附近的传感器节点进行跟踪,这些传感器节点称为代理节点。
ACM传感器网络汇刊,第12卷,第1期,文章4,出版日期:2016年3月。
传感器网络中的近似最优确定性斯坦纳树维护 4:9

2.2. 层次结构构建

我们描述如何在常数倍增网络上构建一个层次结构 HS;常数倍增度量在文献中已被用作 传感器网络度量的适当模型[Gao等人2009;莫茨金等人2011;Sharma和Busch2013; 周和高 2010]。倍增维数图定义如下:将某一点半径内的空间称为以该点为中心的球。若 点集 δ中任意被半径为 的球覆盖的点集均可被{v24} 个半径为 的球覆
盖,则称该点集具有 δ倍增维数 2ρ。我们说一个度量是 δ 2倍增的,并且具有低维,如果 {v41}有界于一个常数并且较小。
我们使用Schneider和Wattenhofer提出的分布式最大独立集算法来选择要包含在 H S 中的节点[2010] ,该算法适用于有界独立图(常数倍增图是有界独立图),并最小化运行 时间和消息数量。其他一些分布式算法,例如Luby[1985],,也可用于 HS 构建中的最大独 立集选择。我们还可以使用Jia等人提出的(O(1) O(1))‐划分方案[2005]。这种 HS 结构此前 已在Herlihy和Sun[2007] 以及Sharma和Busch[2013] 的不同上下文问题中使用过。
该技术特别适用于我们在此考虑的分布式环境,因为它在构建 HS时采用了自底向上 方法。先前一些传感器网络论文中使用的自顶向下构造[巴尔塔尔1996,1998;发卡伦芬等 2004;周和高 2010]在分布式环境中难以实现,原因是自顶向下构造通常采用集中式方法, 需要节点了解整个网络拓扑。而在我们这种自底向上的构造中,节点无需知晓整个网络拓 扑,且HS仍能以消息高效的方式构建。尽管已有研究为某些自顶向下构造[巴尔塔尔 1996,1998;发卡伦芬等2004;周和高 2010]提供了分布式构建方法,但这些构造仍是随 机化的,无法像我们的方法一样保证确定性最坏情况界。
形式上,我们定义一个连通图序列 I:={I0=(V0, E0) I1=(V1, E1)…Ih=(Vh,Eh)},其中第
0层为最低层级,h ≤logD+ 1为最高层级。在第0层中,我们将G中的所有节点包含进I0,即V0: =V。我们将E定义为V中所有边的集合,使得对于V v中的每一对节点(u),满足dist(u v)< 2+1。
我们将V(其中 1 ≤ ≤ h)定义为V−1的一个子集,使得E−1中每条边的一个节点被排除在V之外, 但所有从V中排除的
ACM传感器网络汇刊,第12卷,第1期,文章4,出版日期:2016年3月
4:10 G.夏尔马和C.布施
再次说明,由G中的物理节点模拟的逻辑节点。也就是说,G中的一些节点在 HS 的多 个层级中充当父节点,一些边则参与连接不同层级中的多个父节点。
我们现在在以下定理中对构建 HS 的总通信成本进行限定。请注意,该通信成本的 界限仅在层次结构构建时发生一次,并且可以通过后续在斯坦纳树维护过程中对 HS 执 行的多次更新操作的通信成本来补偿。
THEOREM 2.1.对于具有n个节点的传感器网络G,构造 HS的总通信成本为 O(n· log∗ n· logD), 且每个节点存储 O(logD)个节点ID。
PROOF。该引理源于我们所使用的构造技术以及常数倍增图的性质。首先,由于 HS的 构建是逐层级进行的,并且存在 O(logD)个层级,因此为了证明所需的界限,我们需要说 明在HS构建过程中,每一层级的网络节点之间仅交换 O(n · log∗n)条消息。在每一层级中, 施耐德和瓦滕霍弗算法的运行时间为 O(log∗n)轮次。因此,我们只需证明在施耐德和瓦滕 霍弗算法的每一轮中,仅交换 O(n)条消息。我们将通过证明在施耐德和瓦滕霍弗算法的每 一轮中,每个节点接收 O(1)条消息来证明这一点。由于常数倍增图中任意节点的最大度受 限于一个常数,因此每个节点的 O(1)界限立即成立。
此外,节点的存储需求由节点在构建 HS过程中接收的消息数量决定。由于每个轮次 中节点接收的消息数量为 O(1),我们立即得到存储需求的 O(logD)界。
我们用home(x)表示x在层级的默认父节点。对于叶节点x,每一层级的这些默认父节点 递归定义至根节点,使得home0(x)= x,并且home(x)是home−1(x)的默认父节点。我们用 updateparent(x)表示home−1(x)的更新父节点集(即在距离 4 · 2内、位于层级 且属于 home−1(x)的节点)。根据 HS的构建方式以及更新父节点集的定义,我们得到以下观察结果。
OBSERVATION 1。在常数倍增网络中,对于任意层级 的节点,在层级 + 1处最多有 23ρ个更新 的父节点属于 HS, 1 ≤ < h。
这一观察结果可以证明如下。根据 HS的构建方式以及更新父节点集的定义,层级为
的节点x的所有层级‐(+ 1)更新父节点均可被 23ρ半径‐2邻域球覆盖。一个节点 v的 -邻
域被定义为距离该节点 v不超过 的所有节点组成的集合(包括 v)。此外,由于x的不同 层级‐(+1)更新父节点在层级 上构成极大独立集,它们之间的距离至少为 2+1,因此两 个不同的更新父节点不可能来自同一个半径为2的邻域。因此,x的层级‐(+ 1)更新父节 点数量不超过 23ρ个。
我们现在为每个节点u ∈ V定义一条路径RootPath(u),称之为u的“根路径”。RootPath(u)通
过连接节点u在 HS中从第0层的updateparent0(u)(= u)到第h层(根层级)的updateparenth(u)=
r的递增序列的更新父节点集而形成。注意,对于任意层级l上的节点u,其默认父节点homel (u)位于该 层的updateparent(u)中。我们用父节点表示任意节点u的根路径RootPath(u)中当前节点 w朝向根 节点的下一个节点,用子节点表示其前一个节点。对于每个节点u,在每一层 的updateparent(u)中的 节点按照其节点ID顺序进行访问,从最小ID节点开始,到最小ID节点结束
ACM传感器网络汇刊,第12卷,第1期,文章4,出版日期:2016年3月
传感器网络中的近似最优确定性斯坦纳树维护 4:11
在处理更新操作时(详见第3节),会在搜索下一层之前,先查找每一层中的最高ID节点。因此, 在层级 上updateparent(u)中的最高ID节点将与在层级 + 1上updateparent+1(u)中的最 小ID节点相连,以形成根路径(u)。注意,每个节点u在每一层l上的updateparent(u)节点集合 是基于该层l上u的homel−1(u)节点定义的{l −1}。
我们说两条路径intersect,如果它们具有一个公共节点。我们也说两条路径在层级i相交,
如果它们在层级i访问同一个父节点。我们有以下引理,该引理类似于我们在之前的工作[
Sharma和Busch 2013]中证明的引理。然而,为了清晰起见并使本文自成一体,我们在此提供 完整的证明。
LEMMA 2.2.对于任意两个节点u v ∈V,它们的根路径Root Path(u)和Root Path(v)在层级
log(dist(u v))+ 1处相交。
PROOF。让
= log(dist(u, v))+ 1 ≤ h
以及u是u的层级‐默认父节点。根据默认父节点的定义,
dist(u, u)<
i=

i=1
2i< 2 · 2.
设v−1为 v的第( −1)层级默认父节点;我们得到
dist(v, v−1)< 2.
在两条根路径根路径(u)和根路径(v)在层级 上不相交的情况下,执行u∈/更新父节点(v)。由于 更新父节点(v)包含位于层级 上且距离 4 · 2为 v−1内的节点,因此根据更新父节点集的定义,
dist(v−1, u) ≥ 4 · 2,
并且根据三角不等式,
dist(u, v) ≥ dist(v, u)− dist(u, u) ≥ dist(v −1, u )− dist(v, v −1)− dist(u, u )

2 .
因此,根路径(u)和根路径(v)必须在层级 = log(dist(u,v))+ 1处相交。
在我们的GCM第3节和第5节的算法中,我们有时需要检查通过根路径片段获得的路 径,我们称之为“代理路径”,并用Agent Path(.)表示。通常情况下,代理路径是通过连 接多个节点的根路径片段而得到的。根路径本身是平凡的代理路径。以下是我们关于根路
径和代理路径长度的引理,该引理也类似于我们在之前的工作[Sharma and Busch 2013]
中证明的引理。然而,为了清晰起见,我们在此提供该引理。
LEMMA 2.3.对于从每个节点u ∈ V到层级j的根路径RootPath(u)(或代理路径Agent Path(u)),记为RootPathj(u)(或AgentPathj(u)),其长度为length(RootPathj(u)) ≤ 2j+3ρ+6。
PROOF。我们可知,一个层级为的子节点与其层级为(+ 1)的父节点之间的距离最多为cb · 2,其中 cb为某个常数。这是因为,层级为 的子节点与层级为(+1)的父节点之间边的长度(即最短路径距离)最
多为 2 +1。
ACM传感器网络汇刊,第12卷,第1期,文章4,出版日期:2016年3月
4:12 G.夏尔马和C.布施
父节点是子节点的默认父节点,且最多为 4· 2+1,如果该父节点在子节点的父集中。此外, 根据观察1,对于位于层级的子节点,在其父集中位于层级 + 1的节点最多有 23ρ个。现
在回顾一下,对于任意节点u,根路径(u)会按照节点ID的顺序遍历父集updateparent
(u)中的所有节点,从最小ID节点开始,到最高ID节点结束,然后前往层级‐(+ 1)。因此, 在根路径(u)中,从层级 的最后一个节点到层级 + 1的第一个节点之间的路径长度最多 为 4 · 2+2(这是因为层级 中的最高ID节点可能不是home(u),在最坏情况下,路径长 度可能大于 4 · 2+1),而在根路径(u)中,层级 + 1内任意两个节点之间的路径长度也最 多为 4 · 2+2。因此,通过累加各路径段长度,根路径(u)中从层级 的最后一个节点到层级 + 1的最后一个节点之间的总长度最多为23ρ · 4 · 2+2+ 4 · 2+2 ≤ 23ρ · 2+5 ≤ 2+3ρ+5。
注意,根路径j(u)的长度是通过将从层级‐0到层级‐j的每一层的根路径段长度相加得到的。
因此,根路径j(u)的路径长度为
length(Root Pathj(u)) ≤
j

i=1
2i+3ρ+5 ≤ 2j+3ρ+6.
此界限也适用于代理路径的长度代理路径j(u),因为代理路径由一条或多条根路径的段构成。
3.维护最小斯坦纳树
我们现在给出一个用于维护k个移动代理的最小生成树的确定性分布式算法(见算法1)。
我们利用层次结构S作为参考(第2节)来维护 T,使得每当发生变动时,可以通过仅移除 有问题的边和节点,并添加新的边和节点来更新 T。注意,该层次结构S仅在应用程序开 始时构建一次,并将用于所有 T维护操作。算法1维护一个虚拟树 T,它是在S中的一个斯 坦纳树,由于使用逻辑边连接S的节点,该树可能包含环路和重复边。在需要时,我们通过 算法2中给出的投影方法将 T转换为图G中的实际斯坦纳树T,该方法会移除 T中可能存在 的环路和重复边(图1(b)和图1(d)分别是图1(a)和图1(c)中 T s对应的T)。
我们首先描述如何构建初始树 T(图1(a)),该树将在代理移动时被修改(即维护)。
注意, T连接{k个移动代理节点}集合 S的边集(尽管是逻辑上的)即为将它们连接到在 H
S中最低公共祖先的边。对 T的维护仅适用于 T中受影响的部分;因此,无需从头重新构 建 T。为了形成初始树 T,每个代理节点u存储位于u的代理数量的计数器,并沿着根路径 (u)向其在 HS上的父节点发送一条消息。当u在根路径(u)中任意层级 的父节点收到来自 其子节点的消息后,它会将此消息传递给其在根路径(u)中的父节点,并设置一个指向该子 节点的向下指针。从根节点出发,在HS中某个层级上第一个拥有多个向下指针的内部节点 w将成为 T的根节点(根节点r本身在图1中为 w,因为它有两个向下指针)。从 w到各 个代理节点的向下指针所包含的边和节点构成了 T中的节点和边。
此初始树的构建是通过每个代理节点的一次发布操作完成的(算法1的第2–8行)。该操作在每 个代理节点开始时仅应用一次,使得代理在 HS中可被发现。形式上,位于叶节点vi 的代理
ACM传感器网络汇刊,第12卷,第1期,文章4,出版日期:2016年3月。
传感器网络中的近似最优确定性斯坦纳树维护 4:13
最初通过设置每个homek(vi).pointer= homek−1(vi)将其包含在 T中,从而形成从根节点r
到vi的单一有向路径,依次经过每个家父节点。如果在层级k的 vi的父节点处已经存在 homek(vi).度> 0,则在此停止发布操作。请注意,发布操作是更新操作的一种特殊情况 (我们将在后面描述),对于插入操作而言,没有相应的删除操作。
算法1:虚拟树 T维护算法
//代理路径(vj)={r…,pk(vj)…,p1(vj),p 0(vj)} 1 T ← ∅
2初始虚拟树 T 形成: 3在节点 vi发布代理:
4 k← 1;
5当任何t ∈更新父节点k(vi)不是根节点或t.度= 0 时 6添加在 T根路径(vi)段从homek(vi)到homek−1(vi);
7 k ← k+ 1;
8添加到 T根路径(vi)段,从t到homek−1(vi);
9在代理移动下的树 T 维护: 10通过节点 vi从 vj接收到的代理进行插入:
11 k← 1;
12当在任何t ∈更新父节点k(vi)处都未找到来自的删除消息时,执行
13添加在 T根路径(vi)段从homek(vi)到homek−1(vi);
14如果存在一条从t′∈/更新父节点k+1(vi)到homek(vi)的路径段,在 T中
15删除segment(homek(vi),t ′);
16 k ← k+ 1;
17在 T根路径(vi)段从t到homek−1(vi);
18如果存在一条从t′∈/更新父节点k+1(vi)到t的路径段,在 T中,则
删除segment(t,t′);
19从移动到 vi的节点 vj 中删除代理:
20 k← 1;
21当未找到来自 vi 的插入消息时执行 22如果删除消息的类型为擦除则
23从 T代理路径(vj)中删除从pk(vj)到pk−1(vj)的线段;
24如果pk(vj).度> 0则
25将删除消息类型从擦除更改为转发;
26如果删除消息的类型为转发则
27将删除消息转发给pk+1(vj);
28 k ← k+ 1;
29删除段(x,y):
30设置y.指针= ⊥对于x;
31如果y.度= 0那么
32删除segment(y,y ′ ) fory′ which hasy′ .pointer=y;
当代理从一个代理节点 v j 移动到另一个代理节点 vi时,我们适当地更新T。我们只需要
更新从vj 和 vi到它们的公共祖先的路径。v j 和 vi都向上在 HS中发送通知,直到找到根路
径RootPath(vi)上 vi和代理路径AgentPath(vj) 上 v j 的最低公共祖先 w。这是通过更新 操作完成的,该操作结合了来自vi的插入操作(算法1的第10–18行和第29–32行)以及来自
v j 的删除操作(第
ACM传感器网络汇刊,第12卷,第1期,文章4,出版日期:2016年3月。
4:14 G.夏尔马和C.布施
图2.维护 T(是代理)。
算法1的第19–28行。在向上遍历过程中,插入消息和删除消息会分别修改其对应的路径。
插入操作(insertoperation)将边添加到 T中vi与 w之间的根路径(vi)段。删除操作(
deleteoperation)则从 w到 vj删除代理路径(vj)段。因此,更新后的 T现在延伸至vi
(而不是 vj)以及其他现有的T代理节点。在某些情况下,除了删除代理路径(vj)外,我们
还需要删除一些路径段,以确保所形成 T的质量和总维护成本都最小化。例如,在图2(d)
中,当节点x处的代理移动到节点y时,从u到u2的代理路径段被来自y的插入操作删除,因
为u2.的度为> 1。此处,度表示 HS中任意节点的指针数量(例如,节点y1,的度记作y1.
degree,在图2中为2,而 w1.degree为1)。该过程有助于减少代理路径(.)的严重分段情况, 因为每次插入和删除操作都会对这些路径进行一定程度的调整。这是因为每当来自任何代 理节点u的插入操作在某一层发现一条不遵循根路径(u)的向下行进路径时,它就会执行 deletesegment(.,.)方法,从 T中删除该路径片段。该方法会持续移除该路径片段,直到 遇到一个度为> 0的节点为止。
算法2:从 T获取T的投影算法
1 T ←根节点 T; 从根节点出发的 HS中的第一个内部节点 w
w.度> 1
2 ←根层级的 T; w在 HS中的层级
3对于(inti= ;i ≥ 1;i=i −1)执行
4 i−1(T) ←层级i −1节点of T;
5当 i − 1 (T)= ∅ 时执行
6找到 i − 1 (T)的最大独立集MISi − 1 (T),使得dist(x,y) ≥ 4 · 2i 在每两个节点x,y ∈MISi − 1 (T)之间
7 i − 1 (T) ← i − 1 (T)\MISi − 1 (T);
8当MIS i − 1 (T)= ∅ 成立时
9从MIS i − 1 (T)中选择一个节点t; 10使用t 到G中已存在于T 的最近节点s 的最短路径进行连接,并将其包含在内 路径(s,t) ∈ G在T中;
11 MISi − 1 (T) ← MISi − 1 (T){t};
ACM传感器网络汇刊,第12卷,第1期,文章4,出版日期:2016年3月。
传感器网络中的近似最优确定性斯坦纳树维护 4:15
回想一下,由于先前构建的 T是 HS中的斯坦纳树,当我们将它转换为G中的斯坦纳树 时,可能会包含重复边和环路。因此,我们根据需要使用算法2中给出的投影过程,将 T转 换为G中的实际斯坦纳树T,以消除 T中可能存在的重复边和环路。注意,该投影被认为 是在后处理阶段完成的。该过程从 T的根节点开始,在每一层级上以受控的方式通过G中 的最短路径将 T的节点连接到其父层级中的节点,使得T的代价最小。初始时,T为空。
然后,算法递归地计算 T每一层i中所有节点之间的最大独立集,依据每两个节点x,y之间 的距离准则dist(x,y)≥ 4 · 2i,并使用G中的最短路径将这些节点连接到已存在于T中的最 近节点(见图1(b)和图1(d))。在每一次递归步骤中,最大独立集是从之前被选中的节点排 除后的剩余节点中计算得出的。这里用于投影的最大独立集算法与在 HS构建中使用的 Schneider和Wattenhofer[2010]的算法相同。
在算法1以及前面给出的更新描述中,为了便于理解算法,我们没有使用updateparentk(.)。当我们使用
updateparentk(
vi =
⊥ vi.
vi .

k )时, 则只需要将homek()的pointer设置为homek−1(),如果tpointer针对所有tupdateparent(vi)来自任何 vi的插入操作。
类似地,这也可扩展到 vj的删除操作。
4.性能分析
我们首先在第4.1节中分析逐个情况下的斯坦纳树维护算法的性能,然后在第4.2节中给出 同时情况的分析。
4.1.逐个情况
回想一下,在逐个情况下,代理移动是依次发生的,即一个代理移动不会与其他代理移动 重叠。这一假设描述了文献中广泛研究的应用场景,其中事件到达间隔时间远大于消息传 播时间[高等人 2009]。
定义一组移动代理更新操作的有限集合 E的逐个执行E={r1=(u1, v1),r2=(u2, v2)
…},其中ri=(ui, vi) 1 ≤i是表示从源代理节点ui到目的代理节点vi的代理移动的后续更
新操作。每个更新操作ri在插入操作找到某一层级 ′上的相应删除操作之前,会逐层向上 经过 HS。我们称层级 ′为操作peak level ri的峰值层级,即ri在 HS中达到的最大层级。
4.1.1.T的质量。我们首先分析 T(算法1)的拉伸。然后我们证明 T在T到G上的投影 不会显著增加代价。令 |T | 表示使用算法1执行i ≥ 1次更新操作后形成的E的边的总长度。
令 |OPT| 表示在OPT中使用最优算法在G上可能得到的斯坦纳树边的最小总长度。我们将
对拉伸|T |
OPT|进行界定。
LEMMA 4.1.对于一组包含k个移动代理节点的集合,算法1保证在逐个情况下始终满足 |T | ≤ O
(log k)· |OPT| 。
PROOF。我们首先提供在所有p u b l i s h操作执行完成后形成的初始树 T的拉伸。回顾 一下,从任意节点u发出的p u b l i s h操作,在沿Root Path(u)向根节点传播时,一旦到达 根节点或某个度为> 0的节点,该操作即终止。根据引理2.2和2.3,若两个节点
ACM传感器网络汇刊,第12卷,第1期,文章4,出版日期:2016年3月
4:16 G.夏尔马和C.布施
在原始网络G中距离为 2i−1的两个节点,在 HS中的第i层相遇,且从任意节点到其根路径 相交的第i层节点的路径长度为 O(2i)。这是因为两条路径的每次相交都源于一对代理节点 的根路径。因此,如果两个节点的发布操作在第i层相遇,则意味着这两个节点在原始网络 G中的距离至少为 2i−1;否则,它们的发布操作会在第i −1层或更低的层级相遇。因此, 初始树 T的长度相较于通过原始网络G中最短路径连接代理节点的最优树仅大一个常数因子。
这是因为,在G中使用最短路径连接在 HS中达到第i层的两个节点需要至少代价为 2i−1
的路径,而在 HS中连接它们只需代价为 O(2i)的路径即可。
现在,当代理移动时,我们利用Rosenkrantz等人关于旅行商问题(TSP)的最近邻 启发式著名结果,证明了界 |T | ≤ O(logk) · |OPT| 。在算法1中,当一个代理从一个代理 节点移动到另一个代理节点时,该代理用于连接到旧代理的代理路径被删除,并添加一条 新路径以将其连接到新的代理节点。所添加的新路径源自当前代理所在的新代理节点的根 路径。此外,在原始树 T中,从该代理通向其旧代理的代理路径与新代理节点的根路径在 HS中的某一层级相交处向上至该层级的路径将被删除。如果代理路径是共享的,则仅删 除未被其他代理共享的部分。这意味着,在将该代理从新位置连接到现有树T时,所添加 路径的长度不超过从 T中删除的路径长度(如果原有路径未被其他代理节点的代理路径共 享)。此外,由于使用了其根路径,因此从新代理位置的代理通过 HS中的最短路径连接 到 T。因此,由于我们有k个代理,采用Rosenkrantz等人的技术并进行类似论证[1977],, 我们得到 |T | ≤ O(logk) · |OPT|。
现在,我们证明T可以通过算法2从 T获得,且总长度最多增加一个常数因子。这是 显然的,因为算法2从不使用比 T中现有边更长的边。因此,
THEOREM 4.2.对于一组包含k个移动代理的集合,算法1保证在逐个情况下, |T| ≤O(logk) · | OPT| 始终成立。
4.1.2维护成本T。我们现在分析算法1在维护 T时的维护成本比(基于消息数量)。我 们定义一个数组 L={L0, L1,...,Lh},用于记录当代理移动时每个更新操作ri在 HS中访 问的层级。在 E执行结束时,每个Lg包含到达第g层的请求总数。Li统计到达第i层的总请 求数(其中一些请求可能以i为峰值层级,而另一些则不是)。根据我们的构建方式,至少 有一个发布操作的峰值层级为h( HS中的最大层级),并且r0会被从L0到Lh}的所有Lg计 数。对于每个更新操作ri ∈ E,i> 0,我们通过将其注册到从0到g的所有计数器Li来跟踪 它,直到插入操作在其峰值层级g处遇到对应的删除操作为止。此处,g ≤ h。
令C∗ (E)表示在G中使用最优算法服务 E中所有操作的总通信成本。令C(E)表示使用算
法1服务 E中所有操作的总通信成本。我们将对比例maxE C(E)/C ∗ (E)进行界定,该比例即 为维护成本比。其思想是通过邻域论证方法,对达到 HS中某一特定层级的所有操作,分 别界定其总通信成本和最优通信成本,并将该比例扩展至所有h层级。我们通过简单的分 析证明以下引理。
ACM传感器网络汇刊,第12卷,第1期,文章4,出版日期:2016年3月。
传感器网络中的近似最优确定性斯坦纳树维护 4:17
LEMMA 4.3.对于一组包含k个移动代理的集合 S,算法1保证在逐个情况下维护 T时,不等式 C(E) ≤O(logD) ·C∗(E)始终成立。
PROOF。我们首先证明通信开销的上界。我们证明
C(E) ≤
h

g=1
Lg · 2g+3ρ+8.
证明过程如下。设Cg(E)为算法1在 E中到达层级g的更新操作的总通信成本。我们有Cg(E)
至多等于在 E中沿各自根路径到达层级g的Lg个更新操作的总通信成本。因此,根据引理 2.3可知,在 HS中任意路径(根路径或代理路径)长度在达到层级g之前被 2g+3ρ+6所限制, 因此我们有
Cg(E) ≤ Lg · 2g+3ρ+6.
当我们还考虑每个请求的删除操作所引起的代价时,Cg(E)最多增加2倍因子。因此,
Cg(E) ≤ Lg · 2g+3ρ+7.
通过合并每一层的代价,算法1的总通信成本为
C(E)=
h

g=1
Cg(E) ≤
h

g=1
Lg · 2g+3ρ+7.
此外,由于过程delete segment(·,·)仅删除一次任意代理路径的一段,因此在执行 E
increaseC(E)操作期间,这些操作至多额外增加一个2倍因子 。这是因为在 此过程中被删除的路径部分是之前某些更新操作所设置的路径。因此,
C(E) ≤
h

g=1 Lg · 2g+3ρ+8
在最坏情况。
我们现在证明通信开销的下界。我们证明以下关系
C∗ (E) ≥ max
1≤g≤h (Lg −1)· 2g−1
对于下界。设C∗ g(E)为在 HS中到达第g层的 E中更新操作的最优通信成本。假设来自叶节点 u的一个更新请求ri的插入操作在找到其对应的删除操作之前,恰好在第g层主父节点X处
发现了一个非空指针。如果来自叶节点 v的请求r′ i是最后一个访问X的插入操作(即针对更
新或发布请求r′ i,并因此添加了被ri观察到的非空指针),则dist(u v) ≥ 2g−1。因为否则, 它们的根路径将在第g层−1或更低层级相交(引理2.2)。因此,所有到达第g层的请求
Lg,其目的节点d和d′之间的距离至少为dist(d,d′) ≥ 2g−1。因此,最优通信成本C∗ g(E)至 少由到达第g层的请求的Lg个目的节点之间的总距离所限定,即
C∗
g
(E) ≥(L g −1) · 2g−1.
ACM传感器网络汇刊,第12卷,第1期,文章4,出版日期:2016年3月
4:18 G.夏尔马和C.布施
考虑所有层级 1 ≤ g ≤ h,C∗(E)至少由C ∗ g(E)的最大值限定。因此,
C∗(E) ≥ max
1≤g≤h
C∗ g(E) ≥ max
1≤g≤h
(Lg −1)· 2g−1.
我们现在可以限定维护成本比。由于 E是任意的,算法1生成 T的维护成本比被限定在
C(E) C∗(E) ≤
∑h g=1 Lg · 2g+3ρ+8 max1≤g≤h(Lg −1)· 2g−1 ≤ 4 · ∑h g=1 Lg · 2g+3ρ+8 max1≤g≤h Lg · 2g
≤ 23ρ+10 · h
= O(log D),
始终如一
h

g=1 Lg · 2g+3ρ+8 ≤ 23ρ+8 · h ∑
g=1 Lg · 2g
≤ 23ρ+8 · h· max
1≤g≤h
(Lg · 2g),
h= logD+ 1,且 ρ为常数。
引理4.3中的维护成本比依赖于D,即当D> nO(1)时,它可能非常高。然而,我们可 以证明,当D> nO(1)时,该比值被 O(logn)所限制。这将使维护成本比为 O(min{log n,logD})。这一分析较为复杂;我们将在下文中给出详细说明。其直观思想是:如果D在 渐近意义上大于n,那么在最优算法和GCM算法中,到达 HS 高层的更新操作必须使用 图G中高权重的边;因此,到达高层的更新操作的最优代价无法与仅访问低层的更新操作 的最优代价合并。更准确地说,如果任意两个更新操作之间的峰值层级差超过logn 层级, 则这些操作的最优代价应为其各自最优代价之和。因此,
LEMMA 4.4.对于一组包含k个移动代理的集合 S,算法1保证在逐个情况下维护 T时,不等式
C(E) ≤O(logn) · C∗ (E)始终成立。
PROOF。我们通过一种有助于获得期望界限C(E) ≤ O(logn)·C∗ (E)的设置来证明此引理。该设 置如下:我们将 HS的层级数h ≤logD+ 1划分为两种类型的组,即G1和 G2,具体描述如下。
—G1组:在 G1中存在 ϑ= h logn+ 1个组,即 G1={G 1 1 , G21,...,Gϑ 1},其中组Gi 1
包含层级范围为[h−(i −1)· logn,max{h−i · logn+1的层级, 0}]对于 1 ≤ i ≤ ϑ。
换句话说,每个组Gi 1, 1 ≤ i ≤ ϑ,除了Gϑ 1在任何时刻都恰好包含从根层级h开始的log
n个连续层级。最后一个组Gϑ 1包含从层级h−(ϑ −1) · logn到第0层的所有层级,使得Gϑ
中的层级数量最多为logn。我们有∑ ϑ i=1 |Gi 1| = h,这是根据此划分得到的。
ACM传感器网络汇刊,第12卷,第1期,文章4,出版日期:2016年3月
传感器网络中的近似最优确定性斯坦纳树维护 4:19
—G2组:在 G2中最多有 ϑ+ 1个组,即 G2={G12, G22,...,Gϑ+1 },其中组G2i包含层级
范围为[h−(i−1) 2 ·logn,max{h−((2∗i−1) 2 ·logn)+1, 0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值