Skip to content

方法Method

有界搜索树

施工中 · 内容逐步修订

Bounded search tree

对局部障碍作完备分支,并让参数预算在每条分支严格下降。

形式陈述 ​

有界搜索树是回溯法的参数化特例:它仍枚举选择并在不可能成功时撤销,但把每个分支对参数的减少量写进递推,并以参数界而非完整输入规模控制搜索深度。

分支递推 ​

对参数化问题发现尚未满足的局部障碍后,列出有限个子实例,使原实例可解当且仅当至少一个子实例可解;若要求枚举全部解,还须更强地覆盖每个可行解。若各分支让 measure 分别减少 di>0,

T(k)≤∑iT(k−di)+poly(n).

若各步下降量有固定正下界 δ,初始测度为 k 时,搜索深度为 O(1+k/δ)。分支向量 (d1,…,dr) 决定树的指数底。

Vertex Cover 遇到未覆盖边 uv,任何覆盖必含 u 或 v。算法必须分别选择两端、删除相应关联边并令 k←k−1;两个分支共同覆盖全部可行解。

直觉

搜索树的每条边都代表一种结构性选择,不同分支可以覆盖部分相同的解,参数则像沿根到叶不断消耗的预算。判定或见证搜索的正确性要求有解时至少一个分支仍有解,复杂度要求每个分支都让同一套测度下降;只满足其中一项,要么漏解,要么仍可能展开成由输入规模控制的指数树。

有界搜索树的完备分支与预算下降
例子与边界

一棵搜索树的状态 ​

实例有边 (a,b),(b,c),预算 k=1。在边 (a,b) 上分支:选择 a 后还剩 (b,c),预算已为 0,故失败;选择 b 会删除两条关联边,图为空,恢复解 {b}。

预算为负时失败;预算为零而仍有障碍时也失败;预算非负且无障碍时成功。每个递归帧还要保存本分支加入的顶点和图修改,返回时 rollback;若两个分支共享可变图却没有隔离状态,一个分支的删边会污染另一个分支。

安全约简 ​

孤立顶点不覆盖任何边,可以直接删除而不消耗预算。若顶点 v 的唯一邻居是 u,则存在一个最优覆盖包含 u:任何只选 v 的覆盖都可用 u 替换,且 u 还可能覆盖更多边。因此可安全选择 u、删除其关联边并把预算减一。这个规则保持大小至多 k 的覆盖是否存在,并能恢复一个解;它不枚举所有覆盖。例如仅有边 uv 时,选择 u 会省略另一个最优覆盖 {v}。

约简规则必须同时保持可解性与剩余预算的对应关系。Kernelization 可在搜索前把实例缩到参数函数大小,也可在节点内应用,其等价性保证缩小后的实例仍回答原来的可解性问题。

Branching vector 推导 ​

普通 Vertex Cover 两分支各下降 1,

T(k)≤2T(k−1)+poly(n),

所以节点数为 O(2k)。若额外规则让两个分支分别下降 1 与 2,设齐次解形如 xk,便有 x2=x+1,指数底为黄金比 φ<2。

Measure-and-conquer 可给不同对象非整数权重,使真实进展比整数参数更细。但每条规则都要证明 measure 严格下降、初始 measure 受参数控制,并与成功/失败基例相容;较紧的下降量据此给出更准确的搜索树规模界。

推论与应用

递归树法把分支向量转成运行时间界。若每节点的处理成本为多项式,且分支向量至少含两个分支,齐次方程 ∑ic−di=1 的根 c>1 给出指数因子 ck,常记作 O∗(ck),其中星号省略多项式因子。

时间与适用边界 ​

在每次至少消耗一个单位预算的二分支搜索中,深度至多为初始 k,叶子数却可达 2k。每节点若复制整图需要 O(n+m),总时间还要乘该多项式因子;持久化或修改栈能降低常数,但须保持分支隔离。

若某分支不降低 measure,递推可能按 n 指数增长甚至不终止。启发式只探索看似更好的一个端点也会漏解。有界搜索树把指数隔离在参数 k,得到 f(k)poly(n) 的 FPT 形式;仅在实验里观察到 k 小不构成这项证明。

参考资料
  • Downey, Fellows, Parameterized Complexity, 1999.
  • Cygan et al., Parameterized Algorithms, 2015.
  • Niedermeier, Invitation to Fixed-Parameter Algorithms, 2006.
关系图谱7 个相邻概念 · 3 类关系

拖动节点调整位置。

显示关系

显示:依赖

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

上位 / 更一般

下位 / 直接特例

暂未标注直接特例。

类型化关系

使用的工具