“若把搜索深度限制在参数 $k$,并证明每个节点至多产生 $b$ 个孩子,有界搜索树把运行时间写成 $O(b^k\operatorname{poly}(n))$,明确指数落在哪个参数上。迭代压…”
形式陈述
有界搜索树是回溯法的参数化特例:它仍枚举选择并在不可能成功时撤销,但把每个分支对参数的减少量写进递推,并以参数界而非完整输入规模控制搜索深度。
分支递推
对参数化问题发现尚未满足的局部障碍后,列出有限个子实例,使原实例可解当且仅当至少一个子实例可解;若要求枚举全部解,还须更强地覆盖每个可行解。若各分支让 measure 分别减少
若各步下降量有固定正下界
Vertex Cover 遇到未覆盖边
直觉
搜索树的每条边都代表一种结构性选择,不同分支可以覆盖部分相同的解,参数则像沿根到叶不断消耗的预算。判定或见证搜索的正确性要求有解时至少一个分支仍有解,复杂度要求每个分支都让同一套测度下降;只满足其中一项,要么漏解,要么仍可能展开成由输入规模控制的指数树。
例子与边界
一棵搜索树的状态
实例有边
预算为负时失败;预算为零而仍有障碍时也失败;预算非负且无障碍时成功。每个递归帧还要保存本分支加入的顶点和图修改,返回时 rollback;若两个分支共享可变图却没有隔离状态,一个分支的删边会污染另一个分支。
安全约简
孤立顶点不覆盖任何边,可以直接删除而不消耗预算。若顶点
约简规则必须同时保持可解性与剩余预算的对应关系。Kernelization 可在搜索前把实例缩到参数函数大小,也可在节点内应用,其等价性保证缩小后的实例仍回答原来的可解性问题。
Branching vector 推导
普通 Vertex Cover 两分支各下降 1,
所以节点数为
Measure-and-conquer 可给不同对象非整数权重,使真实进展比整数参数更细。但每条规则都要证明 measure 严格下降、初始 measure 受参数控制,并与成功/失败基例相容;较紧的下降量据此给出更准确的搜索树规模界。
推论与应用
递归树法把分支向量转成运行时间界。若每节点的处理成本为多项式,且分支向量至少含两个分支,齐次方程
时间与适用边界
在每次至少消耗一个单位预算的二分支搜索中,深度至多为初始
若某分支不降低 measure,递推可能按
参考资料
- Downey, Fellows, Parameterized Complexity, 1999.
- Cygan et al., Parameterized Algorithms, 2015.
- Niedermeier, Invitation to Fixed-Parameter Algorithms, 2006.