不完整搜索与子句生成的结合
1. 增量 SAT 求解与冲突消解
在 OPTW 问题中,假设即为节点选择决策。调用增量 SAT 求解器的 solve(F, A) 函数,旨在找到满足集合 A 中所有假设的公式 F 的模型。在此过程中,增量求解器可复用先前知识,并学习新的子句,这些子句有望在后续使用更新后的 CNF 公式 F′ 或更新后的假设集合 A′ 调用 solve(F′, A′) 时被复用。
在冲突消解(CB)层面,要确定文字 l : [xi = a] 是否仍可赋值为真,只需调用 solve(F, A ∪{l}) ,其中 A 为搜索引擎到目前为止所做选择决策的假设集合。当且仅当该调用返回 UNSAT 时,决策 [xi = a] 才会被 CB 禁止。
与 CB - UnitPropagation 不同,CB - IncrementalSat 方法是完备的,它会进行全面的前瞻。有一种优化方法可减少对 solve 函数的调用次数:在给定假设集合 A 搜索变量 xi 的可能值时,若 solve(F, A ∪{xi}) 或 solve(F, A ∪{¬xi}) 返回的解中另一个变量 xj
超级会员免费看
订阅专栏 解锁全文
29

被折叠的 条评论
为什么被折叠?



