Skip to content

原则Principle

Measure and Conquer

施工中 · 内容逐步修订

measure and conquer · 测度与征服

用按局部状态加权的非整数测度分析分支算法,并联合优化所有规则的指数底数。

形式陈述 ​

从参数计数到加权测度 ​

有界搜索树常用剩余顶点数或参数 k 作为递归变量。Measure and Conquer 改用状态相关的非负测度

μ(I)=∑q∈Qwqnq(I),

其中 nq(I) 是实例 I 中类型 q 的对象数,wq 是待选权重。类型可以是顶点度数、约束长度或局部剩余容量;测度不必为整数,也不必等于输入规模。

先固定输入无关的有限类型集与非负权重,证明基例可在原输入长度 N 的多项式时间内求解;安全约简保持问题等价且不增加 μ,其连续执行本身也必须在多项式时间内结束。每条递归边的下降量要求有共同正下界 Δ≥δ0>0,例如固定有理权重与有限规则族给出这样的常数。非负测度使递归深度至多 1+μ(I0)/δ0。单纯“每步严格下降”不足以代替这项保证:数列 1+1/t 永远下降,却永远到不了测度至多 1 的基例。

分支向量与指数底 ​

若某规则产生 b≥2 个子实例,测度下降分别为 Δ1,…,Δb>0,递推为

T(μ)≤∑i=1bT(μ−Δi)+poly(N).

该规则的 branching number ρ>1 是方程

∑i=1bρ−Δi=1

在 (1,∞) 中的唯一根:左侧连续严格递减,在 1 处为 b>1,趋于无穷时趋于零。对所有可达规则选择共同的 ρ>1,使 ∑iρ−Δi≤1。给每个节点赋质量 ρμ(I),孩子总质量不超过父质量;非负叶测度使每个叶子的质量至少为 1,因此叶数至多为 ρμ(I0)。

只有一个孩子的规则不产生大于一的 branching number,其方程的根为 1;仍须用共同下降量控制这类单链长度。若初始测度为 poly(N),每个中间实例的编码及单节点工作也为 poly(N),总节点数至多是叶数乘深度,便得到 O(ρμ(I0)poly(N)),常以渐近记号简写为 O∗(ρμ(I0))。

若另以 n 记初始对象数,并证明 μ(I0)≤γn,总时间才可改写为 O((ργ)npoly(N))。遗漏这一步会把按测度的界误当成按输入大小的界。

直觉

普通测度只数还剩多少对象,容易忽略对象因局部状态改变而变得更易处理。Measure and Conquer 给不同类型不同权重,把删除与降度等隐性进展放入同一标尺;权重必须同时满足所有可达规则,最坏分支的指数底才代表整个算法。

Measure and Conquer 的加权分支下降

图中的 Δin=4 只计被删除的四个三次顶点,表示可保证的下降量;未画出的外部降度可使实际下降更大。排除分支则同时计入中心删除与三个邻居从权重 1 变为 a。

例子与边界

三次顶点分支的局部账本 ​

考虑最大独立集的回溯分支:对三次顶点 v,一支排除 v,另一支选入 v 并删除闭邻域 N[v]。先限于最大度至多三的简单图,三次顶点权重为 1、二次顶点权重为 a∈[0,1],度零、一的权重非负且不超过 a;降度不增加权重。考察 v 的三个不同邻居也都是三次的局部状态。

排除 v 会删除权重 1,并使三个邻居从三次降为二次,测度下降

Δout=1+3(1−a).

选入 v 删除 v 及三个邻居,下降至少 Δin=4。于是这个局部规则给出

T(μ)≤T(μ−Δout)+T(μ−4).

排除分支的这份下降是直接删点后的精确账本;选入分支至少删去权重 4,外部降度还可能增加收益。邻居之间相邻或共享外部邻居会影响这部分额外收益,所以没有把它们当作互不重叠的额外删除来收费。完整算法仍须核对度零、一、二的处理和其他可达规则。例子的作用是展示“删除对象”和“对象改类型”都必须进入同一账本,不能只数被删顶点。

权重优化 ​

每条约简给出形如“新测度不大于旧测度”的线性不等式,每条分支给出依赖权重的降幅。固定候选底数 r 后,条件

∑ir−Δi(w)≤1

在 Δi(w) 为仿射函数时是凸约束,因为它是仿射函数的指数之和;配上线性权重条件即可对固定 r>1 检查凸可行性。候选底数增大时条件变弱,可据此二分。线性规划能处理部分线性化账本,但指数约束本身不应冒充普通 LP。

数值优化给出的权重只是猜想证书。发布证明时要给足够精度的有理权重或严格区间,并逐规则验证不等式;浮点求解器打印六位小数不构成严格上界。

Reduction rule 的证明责任 ​

若一个约简把三次顶点变为两个二次顶点,测度变化是 2a−1;要保证不增加,必须加入 a≤1/2,或把约简产生的其他删除一并计算。权重非负只给测度下界;约简次数、分支的共同下降量以及基例可解性仍须分别证明。

某些局部状态在算法不变量下永远不可达,可以不纳入最大规则;这必须由结构引理证明。反过来,把可达坏状态漏掉会得到虚假的较小指数底。Measure 正确只证明搜索树大小,单节点约简、复制与解恢复的多项式工作仍需相乘。

推论与应用

与其他分析的边界 ​

递归树法展开已知递推;Measure and Conquer 先设计递推所用的势尺,再展开。它与摊还势函数都使用权重,但这里衡量尚未解决实例并控制递归叶数,不是在操作序列间搬移成本。

若测度含参数 k 与结构项,例如 μ=k+αn2(固定 α≥0),先得到的仍是 ρk+αn2poly(N)。只有另证 n2≤ak+bln⁡(N+1)(固定 a,b≥0)等条件,才能将它写成 ckpoly(N),其中 c=ρ1+αa。若 n2 可独立增长到输入规模,指数并未只依赖 k;而 μ=O(N) 通常只给精确指数算法的界。

参考资料
  • Fedor Fomin, Fabrizio Grandoni, Dieter Kratsch, A Measure & Conquer Approach for the Analysis of Exact Algorithms, Journal of the ACM, 2009.
  • Fedor Fomin, Dieter Kratsch, Exact Exponential Algorithms, Springer, 2010.
  • Marek Cygan et al., Parameterized Algorithms, Springer, 2015.
关系图谱5 个相邻概念 · 2 类关系

拖动节点调整位置。

显示关系

显示:依赖

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