Lec 2泛洪、BFS 树、广播、收敛广播与 Bellman-Ford
Lec 2 泛洪、BFS 树、广播、收敛广播与 Bellman-Ford
依据标准分布式算法理论与 DGA 全局问题预备原语整理构建 · 这些原语是后续全局问题(MST、Min-Cut、最短路)的基础构件
TL;DR
- CONGEST 模型下每条链路每轮仅能传递 位消息,通信带宽成为算法计算与协调的核心约束。
- 泛洪与 BFS 树构造在 轮和 条消息内完成,为全网建立以源点为根的最短路径骨架。
- 沿树广播与收敛广播以 轮实现“散发-聚合”范式(流水线可将 条消息传输优化至 轮);加权单源最短路则由分布式 Bellman-Ford 在 轮内求解。
1. 本讲要回答的核心问题
Lec 1 的 LOCAL 模型不限带宽。但现实网络里每条链路每轮只能传有限位。当消息只有 位时,最基本的“把信息传遍全网”还能多快? 本讲建立一组基础通信原语:
- 泛洪(flooding):让一条消息扩散到全网;
- BFS 树(BFS tree):扩散过程顺便建出一棵以源点为根的最短路树;
- 广播(broadcast) / 收敛广播(convergecast):沿树自上而下散发 / 自下而上聚合;
- Bellman–Ford:分布式单源最短路。
这里采用(CONGEST model):同步轮,每轮每节点向每个邻居发一条 位消息。
2. 泛洪(Flooding)
泛洪
源点 持有一条消息 。算法: 在第 0 轮把 发给所有邻居;任何节点在首次收到 的那一轮,把 转发给自己除来源外的所有邻居,之后不再转发。
正确性与复杂度. 消息在第 轮恰好到达所有与 距离为 的节点(对 归纳)。因此:
定理. 泛洪在 轮内( 为图直径)使 到达每个节点。每条边最多被双向各转发一次,故消息总数为 。
泛洪是几乎所有全局算法的“心跳”:它既是传播机制,也是衡量“全局信息最快多快能到”的基准——任何依赖远处信息的问题都至少需要 轮。
3. BFS 树(BFS Tree)
把泛洪中“我第一次从谁那里收到消息”记录下来,就得到一棵最短路树。
算法步骤:
- 源点 设 ,向邻居发 。
- 节点 首次收到某邻居 发来的 时,设 、,并向邻居发 。
- 之后忽略所有重复消息。
BFS 树构造性质
该算法在 轮、 条消息内构造出一棵以 为根的 BFS 树,且 。树深等于 。
几个细节: 同一轮可能有多个邻居同时把消息送到 ,任选其一作父亲即可(用 ID 最小者打破平局可保证确定性)。BFS 树是无权图最短路树;带权图需要 Bellman–Ford(见 §6)。
4. 广播(Broadcast)
广播
根节点 持有信息,要把它送达树中每个节点。沿树边自上而下转发:每个节点收到后转发给所有孩子。
复杂度. 单条 位消息广播耗时 = 树深 。
流水线(pipelining). 若要广播 条消息,逐条会花 ;用流水线(第 轮发第 条,各条像传送带一样依次推进)可做到 轮。这一技巧在 DGA 第 2 章用于让 个大分量在全局 BFS 上并行通信。
5. 收敛广播(Convergecast)
广播的逆向:把分散在各节点的数据沿树自下而上聚合到根。
收敛广播
每个叶子先上报自己的值;每个内部节点等收齐所有孩子的值后,把它们与自己的值用某结合性聚合算子(如 )合并,再上报给父亲。根最终得到全树的聚合结果。
复杂度. 一个聚合标量( 位,如全树最小边权)的收敛广播耗时 ,每条树边只传一次。
MST 中的最小出边
DGA 第 2.2.2 节:某连通分量要找其最小权出边(minimum-weight outgoing edge, MWOE)。做法正是在该分量的 BFS 树上做一次 -收敛广播——每个节点持有自己的最小出边权 ,叶到根逐层取 ,根即得分量 MWOE;再用一次广播把它告知全分量。对一个大小 的小分量,这只需 轮。
广播 + 收敛广播合起来构成“散发–聚合”循环,是树上一切全局汇总(求和、求极值、计数、判定)的统一范式。
6. Bellman–Ford(分布式单源最短路)
无权图用 BFS 即可;带权图需要 Bellman–Ford。它天然适配分布式:每个节点只与邻居交换“我目前到源的估计距离”。
算法. 源点 设 ,其余 。每一轮,每个节点 把当前 发给邻居,并按收到的更新:
定理. 在无负环的带权图上,Bellman–Ford 经 轮后, 等于“至多 跳”的最短路长度。因此最多 轮收敛到真实最短距离;按最短路跳数直径(shortest-path diameter) 计, 轮即收敛。
证明思路(对跳数归纳). 经 轮后 = 从 到 、边数 的最短路径权和。第 轮的松弛在 跳最短路尾部再接一条边,恰好覆盖所有 跳路径。无负环时最短路至多 条边。
复杂度对比:
| 算法 | 适用 | 轮数 | 每节点状态 |
|---|---|---|---|
| BFS | 无权 | 距离 + 父指针 | |
| Bellman–Ford | 带权(无负环) | 距离估计 |
Bellman–Ford 在最坏情形可能慢( 可达 ,即便 很小),这正是后续课程引入低拥塞捷径(low-congestion shortcuts)、 等更精细技术的动机。
7. 本讲小结与核心原语对比
本讲建立了 CONGEST 模型下的四个基础原语,它们的轮复杂度都以直径 为标尺:
- 泛洪 / BFS 树: 轮把信息或最短路结构铺满全网;
- 广播 / 收敛广播: 轮完成树上“散发”与“聚合”,流水线下多消息为 ;
- Bellman–Ford: 轮的带权最短路。
它们共同构成下游全局算法(MST、Min-Cut)的底层调用接口;而 、 这类下界,也将解释为什么“局部能算”和“全局必须等信息走到”是两类本质不同的问题。