基于应用谓词的组播本地化算法解析
1. 算法优化与节点存储
在算法优化方面,当一个节点被要求以半径为 0 进行传播,且它有多个子节点时,可重新计算 distanceTo 函数,从而更精确地确定要将消息传播到哪些子节点。每个节点会存储其父节点、兄弟节点和子节点。研究表明,每个节点的子节点数量趋向于一个常数乘以影响圈面积的对数,且与节点总数无关。因此,任何节点的状态量都有有限的边界,建立树所需的消息交换次数在最坏情况下与节点数量呈对数关系。
2. 算法分析
2.1 模型假设
节点随机出现在二维平面上,遵循强度为 λ 的泊松点过程 Φ,节点间距离为两点间的直线距离。假设树的根节点位于原点,每个节点都有一个影响圈,其大小是该节点到其父节点距离 h(r) 的函数。当新节点出现时,如果它在现有节点的影响圈内,将递归尝试加入该节点的子节点;若无法加入任何子节点,则成为该节点的新子节点,此过程从根节点开始。
2.2 硬核点过程分析
为了分析算法,将其视为硬核点过程。每个节点被标记一个 0 到 1 之间的随机数 m(x),可看作节点出现的时间,即节点的“年龄”。通过对节点进行稀疏化处理,去除那些会被包含在某个节点子树中的较年轻节点,创建新的点过程 Φh。若在保留过程中,不存在其他标记随机数更小(即更老)的点,使得第一个点落在第二个点的影响圈内,则该节点被保留。稀疏化过程的公式为:
[
\Phi_h = {x \in \Phi : m(x) < m(y) \quad \forall y \in \Phi_h \cap b(r(x), h(.))}
]
其
超级会员免费看
订阅专栏 解锁全文
38

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



