Skip to content

SAT 求解器重启策略

SAT solver restart strategy · Restart policy in SAT solvers · SAT restarts

在保留有效学习信息的同时周期性撤销非根决策,以重新组织 CDCL 搜索的策略。

条目类型
方法

形式陈述

一次 SAT restart 把当前CDCL trail 回退到决策层零,并重新开始变量决策;输入子句、仍被保留的 learned clauses 以及通常的变量活动度、phase cache 和监视结构继续存在。它不返回 SAT/UNSAT,也不是重新创建空求解器。触发规则可以按本轮冲突数、传播数、时间或 learned-clause 质量统计定义,但必须明确预算何时重置。

固定 schedule 的代表是 Luby 序列

1,1,2,1,1,2,4,1,1,2,1,1,2,4,8,.

给定基础预算 B,第 i 轮最多允许 BLi 次冲突。该序列反复尝试短阶段,同时出现无界长阶段。几何 schedule 则令预算按常数比例增长;动态策略会在当前阶段的 LBD、trail 或传播统计恶化时提前重启。不同策略改变何时放弃当前决策前缀,不改变已学有效子句的语义。

Restart 保持可靠性,因为撤销赋值不会制造模型,而保留下来的学习子句仍由原式蕴涵。完备性还需进展条件:例如阶段预算无界增长,使任意需要有限冲突数的完整底层搜索最终获得足够长的不间断阶段;或有其他公平性证明。若策略每次都在关键决策前重启,算法可能无限循环,所以“重启不影响完备性”必须附带调度假设。

直觉

非时序回跳只撤销到当前 learned clause 指定的层,restart 则主动放弃整段非根上下文。它之所以不是白费工作,是因为冲突留下的子句与活动度仍在:下一阶段面对的是更强的公式和改变后的决策排序。短阶段广泛试探不同区域,长阶段则保证有机会完成需要深搜索的证明。

这种机制针对 SAT 搜索常见的重尾行为:某个分支顺序可能很快成功,也可能在巨大局部区域里耗尽资源,而事前难以识别。Restart 用可控预算限制一次坏选择的损失;它不能弥补错误编码、无效学习或永久不公平的分支规则。

例子与边界

若基础预算为 100 次冲突,前七轮 Luby 预算是

100,100,200,100,100,200,400.

这些是各轮独立上限,不是从启动起的累计阈值。设上一轮从冲突中学到

L=(¬q¬d).

重启后 q,d 都未赋值,L 暂不传播;若新阶段先得到 q=1,它便立即强制 d=0,原冲突区域已被永久改形。若 restart 错误地删除 L,搜索仍可能可靠,但失去这项记忆;若保留的 L 本来不是输入的逻辑后果,则任何 schedule 都救不了可靠性。

无界序列是重要但并非孤立的充分条件。若每次长阶段开始后,分支启发式仍以一种不公平方式反复选择同样前缀,长预算也可能被浪费;相反,某些保留子句的 CDCL 状态机会凭持续学习证明终止,不必等待一次完整无重启搜索。动态策略常以经验阈值触发,它们在基准上有效不等于对所有公式支配 Luby 或几何 schedule。

推论与应用

Restart 与 phase saving 常配合:求解器回到根层,却在重新遇到变量时先尝试上轮极性,得到“保留局部赋值方向、重新排列决策次序”的效果。活动度衰减、子句删除和 restart 周期共同决定跨阶段保留多少记忆,因此调参不能只看一个旋钮。

增量 SAT 还需区分内部 restart 与查询边界。撤销 assumptions 后开始下一次查询会改变有效前提集合;含局部 assumption 的学习子句必须通过显式 assumption literal 保持条件化。可复现实验应报告 schedule、基础预算、动态触发统计及随机种子,并以多次运行分布评价重尾波动。

参考资料
  • Michael Luby, Alistair Sinclair, and David Zuckerman, “Optimal Speedup of Las Vegas Algorithms,” Information Processing Letters 47(4), 1993, pp. 173–180。
  • Carla P. Gomes, Bart Selman, and Henry Kautz, “Boosting Combinatorial Search Through Randomization,” AAAI, 1998, pp. 431–437。
  • Jasmin Christian Blanchette, Mathias Fleury, Peter Lammich, and Christoph Weidenbach, “A Verified SAT Solver Framework with Learn, Forget, Restart, and Incrementality,” Journal of Automated Reasoning 61, 2018, pp. 333–365。
关系图谱3 个相邻概念 · 2 类关系

拖动节点调整位置。

显示关系

显示:依赖

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

被这些条目使用