形式陈述
迭代不变量
本页选择一类明确的参数化顶点删除问题理路参数化问题Parameterized problem实例与非负整数参数共同组成的判定问题。:给有限图 和整数预算 ,要求找 ,使 且 属于图类 。假设空图属于 ,并且 对取诱导子图封闭,例如无边图或二分图。若 ,删除全部顶点就是可行解;下面取 。
按顺序 定义诱导前缀 ,从 和 开始。已有 且 时,
所以 是大小至多 的可行删除集。若 ,直接令 ;否则 compression 子程序接收 ,或者返回大小至多 的新删除集,或者正确判定不存在这样的集。外层只在后一种情况下拒绝。
拒绝可以传回完整实例,是因为任何全图解 都会在前缀上留下解 : 是 的诱导子图,仍在 中。这个封闭性条件负责“困难前缀意味着困难全图”;对任意非遗传性质,不能直接沿用这个推断。
Disjoint compression
给可行旧删除集 ,枚举候选新解 与它的交集 ,至多 种; 的分支立即丢弃。固定 后先从图中删去 ,强制保留 ,再寻找
任何合法 都落在其真实交集对应的分支中,因此完备性保留。每个分支的难度取决于 ;枚举交集本身尚未解决 disjoint 子问题。
直觉
已有的 解不是最终答案,而是一份把剩余实例变得有结构的证书。枚举新旧解交集后,一部分旧解点被强制保留、另一部分被强制删除,原问题由此变成 disjoint compression 子问题;若这个受限版本容易,便能逐项扩大实例而始终把解压回大小 。
迭代压缩的解扩张与 disjoint compression
例子与边界
Odd Cycle Transversal 图像
已有 个顶点删除后图为二分图。猜哪些旧删除点仍删,剩下旧点必须重新放回并指定二分图两侧;压缩步骤寻找少量新顶点消除由这些放回点造成的奇环。这是范式的经典来源,不是把数据文件压小。
失败边界
若 compression subproblem 与原问题同样难,外层迭代没有收益。复杂度必须乘 次迭代与 交集猜测;不能只报一次子程序。可行 解、起始基例和每轮返回解的归纳链缺一不可。它与核化理路核化Kernelization在总输入多项式时间内把参数化实例约化为大小只依赖参数的等价实例。都属参数化技术,但前者维护解,后者缩减实例。
顶点覆盖的两个小实例
在路径 上取预算 。前缀 可用删除集 使剩余图无边;加入 后得到旧解 。交集分支 强制保留 ,它们的外部邻居 因而必须删除,返回新解 。新解可以与旧解完全不交。
三角形则展示失败证书。取 、旧覆盖 。 时,禁止删除的 之间仍有边; 或 时,剩下的旧顶点迫使删除外部点 ,总共要删两个; 又已超预算。所有分支失败,恰好证明不存在一顶点覆盖。
推论与应用
从大小 k+1 的可行解压缩到大小 k,并逐个加入输入元素,外层正确性由数学归纳法理路数学归纳法Mathematical induction · Weak induction由基例和从 n 到 n+1 的归纳步推出性质对全部自然数成立。组织:归纳假设给前缀解,压缩子程序负责扩展一个元素后恢复目标大小。
Vertex Cover 的完整压缩子程序
这里 取无边图,删除集就是顶点覆盖理路顶点覆盖Vertex cover与图中每条边至少一个端点相交、从而覆盖全部边的顶点子集。。已知 覆盖全部边,所以 是独立集。对每个 :
- 若 ,拒绝本分支。
- 若 内有边,拒绝本分支,因为它的两个端点都被禁止删除。
- 令 。为覆盖从禁止点出发的边, 中每个点都必须加入新覆盖。
- 若 ,返回 ;否则拒绝本分支。
成功分支无需再搜索: 已覆盖与它相接的边, 内无边,通往外部的边由 覆盖,外部本来就没有边。反过来,任何交集为 的新覆盖都必须包含 ,因此超预算时确实无解。
邻接表模型下,每个分支可在 次访问内构造并检查,;至多 次压缩给出保守总界 ,另计参数和输入的读入。已有解大小小于 时直接扩展,不必枚举; 返回空集。归纳、交集枚举与每个 disjoint 子程序的完备性共同给出 FPT 算法。
“压缩”改变的是维护的解大小,实例编码仍随前缀增大。对 Odd Cycle Transversal,剩余图需为二分图,必须处理放回旧顶点的两侧选择及其分离约束;上面的邻居强制规则只实现 Vertex Cover 的压缩。
参考资料
- Bruce Reed, Kaleigh Smith, Adrian Vetta, Finding Odd Cycle Transversals, Operations Research Letters, 2004.
- Marek Cygan et al., Parameterized Algorithms, Springer, 2015.