Skip to content

模型Model

动态最小生成森林

施工中 · 内容逐步修订

Dynamic minimum spanning forest · Dynamic MSF · Fully dynamic MST

在无向带权图的边插入与删除之间持续维护每个连通分量的最小生成树,并以最轻跨割替代边恢复最优森林。

形式陈述 ​

三种更新模型与查询 ​

在动态图更新协议下,维护固定顶点集上的无向带权图 G=(V,E,w)。Incremental MSF 只插边,decremental MSF 只删边,fully dynamic MSF 同时允许 insert/delete;边实例与权重必须在更新接口中明确。

输出状态是一片最小生成森林 F。常见查询包括 connected(u,v)、某边是否在 F、分量或全图 MSF 总权,以及路径最大边。更新时间、查询时间、空间和保证类型要分开报告。

以下固定经典 Holm–de Lichtenberg–Thorup(HDT)确定性结果:对从空边集开始的无向简单图,边插入、删除的摊还时间为 O(log4⁡(n+1))。原论文实现先构造仅删边结构,再通过分层重建归约支持插入;其空间按各层副本计,可保守写为 O((n+m)log⁡(n+1)) words,包含孤立顶点。这个空间界属于整套 MSF 结构,不能沿用单棵动态树的线性空间。

维护一个全局森林总权即可最坏 O(1) 读取;原论文采用确定性Top Tree支持最坏 O(log⁡(n+1)) 的连通与路径最大边查询。若另外选用普通伸展树版 Link–Cut Tree,相应路径操作只有摊还对数界。算术、权比较和固定大小摘要按单位成本计;非空初始图的构建成本须另计。

为使选择确定,可按 (w(e),id(e)) 的字典序比较全部边;以下“更轻/更重”均按这个次序。它在不改变最小总权目标的前提下选定一份唯一森林。若只需维护任一最优森林,同权时保留旧边也正确,其成员查询仍以当前实际保存的森林为准。

插边:环性质给出局部替换 ​

插入 e=(u,v,we) 时,若 u,v 原本不连通,e 必加入森林并合并两分量。若已连通,e 与森林路径 PF(u,v) 形成唯一环;设 f 是路径上最重边。

若 e 比 f 更轻,就用 e 替换 f;数值权严格更小时总权降低,同权时只按固定编号规范化选择。否则环性质允许保留原森林。

选定上述最坏对数保证的 Top Tree 后,可在 O(log⁡(n+1)) 找到 f,所以 incremental 情形相对直接。它不需要在全图扫描替代边。

删树边:最轻 Replacement Edge ​

删除非树边不改变 F。删除树边 f 会把一棵树分成 A,B;若仍有跨割边,保留其余树边的一种最优修复,是选择

e∗=argmine∈E∖F, e∈δ(A)(w(e),id(e)).

这里只找到“任意跨割边”不足够。全动态连通性可以用第一条候选恢复连通,却可能选到很重的边;动态 MSF 必须维护按权比较的最小候选及其失效处理。

仅删边:还需要一个权重—层级不变量 ​

先从初始 MSF 出发,扩展HDT 连通性结构:保留分层森林与小侧树边先提升的顺序,但在每层按权重递增检查小侧关联的非树边。除连通性与分量大小外,维护如下不变量:每个圈的最重边位于该圈的最低层级。这是只按任意次序扫描非树边时没有的额外条件。

该不变量说明最轻替代边必处于所有替代边的最高层。设同一删除割的两条候选 e1 比 e2 轻;它们在原森林中产生的两个基本圈都含被删边。去掉共同路径后得到含 e1,e2 的圈,其中 e2 最重,故 ℓ(e2)≤ℓ(e1)。因此先找最高层、再在该层取最轻候选,才能等价于全局最轻替代。

按权顺序扫描还负责保持该不变量:一个内部候选被提升时,同圈中比它轻、又与小侧相邻的候选已经在更高层;小侧的树边也已先提升。若相关圈离开小侧,则必须穿过一条尚未发现的更高层替代边,与搜索前提矛盾。每个仅删边实例内部,边只向上提升,沿用连通性记账可得对数平方的摊还删除成本。

全动态:用重建归约引入插入 ​

上面的提升过程只负责一个固定初始边集中的删除。完整 HDT MSF 算法另外保存对数多个仅删边实例:每条全局非树边恰在其中一个实例里担当局部非树边,也可能作为树边出现在更高层实例中。删除全局树边时,从各实例返回的替代候选中选最轻的跨割边;这个局部/全局不变量保证真正最轻替代必在候选中。

插入或替代造成新的全局非树边时,把它与若干较小实例的非树边合并,重建一个容量按二次幂增长的新实例。为避免每次复制整片全局森林,归约只保留非树边端点间的必要树路径,把长路径压成带路径最大权的超级边;原路径任一边被删除时,对应超级边也失效。Top Tree 负责这些路径摘要及定位。

完整成本由两层记账组成:每个仅删边实例中,提升与删除每条边花对数平方;外层几何重建又控制一条非树边进入不同实例的次数。HDT 的归约定理将这两层以及 O(log3⁡n) 的路径维护开销合成 O(log4⁡n) 摊还更新界。这个定理并不是“给连通性候选排一下序”就能得到的全动态界;新实例可以重新初始化层级,其成本由外层重建账本承担。

直觉

插入只制造一个新环,比较环上最重边即可作局部决定;删除树边却撕开一个割,必须从可能散布全图的非树边中找最轻跨割候选。动态 MSF 的困难正来自第二种搜索:仅删边层用权序与提升控制扫描,全动态层再用多个实例和几何重建处理插入。两个层次共同承担成本。

动态 MSF 的 cut-min 与 path-max 更新
例子与边界

四边形真例 ​

图有边

ab:1,bc:2,cd:3,da:4,ac:10.

初始 MSF 为 ab,bc,cd,总权 6。删除树边 bc 后,森林分成 {a,b} 与 {c,d};跨割非树边为 da 与 ac,必须选较轻的 da:4,新总权为 8。只做 connectivity replacement 若先遇到 ac:10,虽恢复连通,却得到非最优树。

随后插入 bd:1.5,它与森林路径 b−a−d 形成环,路径最重边是 da:4;替换后总权降为 5.5。这展示插入的 path-max 与删除的 cut-min 是两种不同搜索。

边界与近邻问题 ​

权重改变可建模为删除旧边实例再插入新权边,但这会触发两次更新时间。顶点插删、动态图最短路、动态二边连通都有不同状态和证书。

负权不妨碍 MST cut/cycle 性质;有向图则对应最小树形图,不能使用同一替代边论证。多重边必须保留实例身份,并另行核对相应实现的规模参数;上面的经典复杂度表固定简单图。相等数值权不妨碍最优性,固定编号比较只是让维护结果唯一、执行可复现。

推论与应用

动态 MSF 可持续提供网络骨架总权、瓶颈路径和连通分量的最优生成树,并作为动态图稀疏化与替代边维护的核心实例。它严格强于只恢复连通的动态森林:replacement edge 必须按权最轻,这一额外证书不能由普通 fully dynamic connectivity 直接给出。

参考资料
  • 上述 HDT 论文的 §4–5、Theorems 6–8 及 §5 末尾空间分析:原论文全文副本。§4 给仅删边结构,§5 给重建归约;超级边权取原路径的最大值。

  • Jacob Holm, Kristian de Lichtenberg and Mikkel Thorup, Poly-Logarithmic Deterministic Fully-Dynamic Graph Algorithms I: Connectivity and Minimum Spanning Tree, DIKU-TR-97/17, 1997,§3:两阶段机制的早期作者报告;这里的实现细节采用最终期刊版。

  • Jacob Holm, Kristian de Lichtenberg, and Mikkel Thorup, “Poly-Logarithmic Deterministic Fully-Dynamic Algorithms for Connectivity, Minimum Spanning Tree, 2-Edge, and Biconnectivity,” Journal of the ACM 48(4), 2001.

  • David Eppstein et al., “Sparsification—A Technique for Speeding Up Dynamic Graph Algorithms,” Journal of the ACM 44(5), 1997.

  • Monika R. Henzinger and Valerie King, “Randomized Fully Dynamic Graph Algorithms with Polylogarithmic Time per Operation,” Journal of the ACM 46(4), 1999.

关系图谱14 个相邻概念 · 2 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组
类型化关系