← 返回目录

Physical Review Letters 109, 2012 · arXiv 1208.2534

Locating the Source of Diffusion in Large-Scale Networks

网络太大,无法观测每个节点。Pinto、Thiran 与 Vetterli 证明:只用少数观测节点记录的到达时间和来向,也能估计传播源;在任意树上给出了使正确定位概率最大的估计,并给出一般图上 O(N³) 的近似。

Pedro C. Pinto,Patrick Thiran,Martin Vetterli(EPFL)。本页依据项目内的 arXiv 版本(4 页正文;补充材料未包含在该文件中)。替换了此前同名页面,更正内容见文末。

1研究问题

源 s* 在未知时刻 t* 开始传播,源在全部节点上先验均匀。只有 K 个观测节点会报告信息,目标是最大化正确定位概率,等价于最大似然估计。直接计算似然要对所有可能路径和所有边时延求和,复杂度随节点数指数增长。

2模型与观测

3树上的最优估计(命题 1)

  1. 确定活跃子树:树上只有部分观测节点能收到信息(活跃观测);它们记录的"来向"确定了源所在的活跃子树 T_a,源只可能在其中。
  2. 取时间差:以第一个活跃观测 o_1 为参照,d_k = t_{k+1} − t_1。未知开始时刻 t* 在相减时抵消。
  3. 写出均值与协方差:若 s 是源,d 的均值为 [μ_s]_k = μ·(|P(s, o_{k+1})| − |P(s, o_1)|);协方差 Λ 由观测之间路径的公共部分决定:对角线为 σ²·|P(o_1, o_{k+1})|,非对角为 σ²·|P(o_1, o_{k+1}) ∩ P(o_1, o_{i+1})|。在树上 Λ 不依赖候选 s。
  4. 打分:ŝ = argmax_{s∈T_a} μ_sᵀ Λ⁻¹ (d − μ_s/2),复杂度 O(N)。

作者说明:观测稀疏时 d 是多段时延之和,按中心极限定理近似高斯,所以非高斯时延下该估计也接近最优(证明在补充材料中)。

4为什么只看时间差:一个反例

观测节点 A、B 分别位于候选源 X 和 Y 的两侧,且 X 到 A、B 的距离都是 3,Y 到 A、B 的距离都是 1。

真源A 的到达时刻B 的到达时刻时间差 A − B
Xt* + 约 3μt* + 约 3μ约 0
Yt* + 约 μt* + 约 μ约 0

因为 t* 未知,"到达得早"不构成证据;两种情况的时间差分布相同,这两个观测无法区分 X 和 Y,它们落在同一个等价类里。要区分它们,需要再放一个与 X、Y 距离差不同的观测节点。这也是后来 Spinelli 等研究"观测节点放在哪里"的出发点。

5一般图:BFS 近似(式 6)

一般图上,实际传播走的是某棵生成树,但生成树的数量可能指数级多。作者假设:若 s 是源,信息沿以 s 为根的广度优先树(最短路径)到达各观测。于是对每个候选 s,在它自己的 BFS 树上计算 μ_s 和 Λ_s,取 argmax μ_sᵀ Λ_s⁻¹ (d − μ_s/2)。总复杂度 O(N³),属于次优近似。

6结果

达到 90% 定位概率所需的观测比例(N = 100,μ/σ = 4)

网络按高度数放观测随机放观测
Apollonian4%25%
Barabási–Albert18%41%
Erdős–Rényi(Np = 0.5)34%49%
Erdős–Rényi(Np = 2)32%44%

7代码情况

2026-10-13 在 GitHub 检索,没有找到作者发布的代码。两个可读的相关实现:

8局限

9与 PR-SD 的关系

10本页更正记录

此前同名页面(docs/references/visualizations/pinto2012_explainer.html,原文件未改动)有三处问题:
  • 互动演示中,两个候选源对两个哨兵的时间差都约为 0,按本文方法无法区分;该页却根据"两名哨兵约 1 秒就触发"判定源在节点 ④,用了开始时刻已知的绝对时间,与它自己写的"时间差消去未知开始时刻"相矛盾。本页改为第 4 节的反例。
  • "SDSA、SDSI、RGAB 的数学原型全部诞生自 Pinto 2012"没有依据,已改为谨慎表述。
  • 步骤 3"通过协方差检验"不准确:估计是最大化高斯似然(命题 1、式 6),不是检验。