SAT求解器提供了一种强大的方法,可以使用一个量词来检查布尔公式的有效性。
例如,要检查的有效性,我们可以使用SAT解算器来确定φ (x )是否可满足。要检查的有效性∀ X 。φ (X ),我们可以使用一个SAT解算器,以确定是否¬ φ (X )是可满足的。(这里x = (x 1,… ,x n)是布尔变量的n-向量,并且φ 是一个布尔公式。)
QBF求解器设计为使用任意数量的量词检查布尔公式的有效性。
如果我们有一个带有两个量词的公式怎么办?它们是否是用于检验有效性的有效算法:比仅对QBF使用通用算法更好的算法?更具体我有如下形式的公式(或∃ X 。∀ Ÿ 。ψ (X ,Y ^ )),并要检查它的有效性。有什么好的算法吗? 编辑4/8:我了解到这类公式有时也称为2QBF,所以我正在寻找2QBF的良好算法。
进一步专长:在我的特殊情况下,我有一个形式为我要检查其有效性,其中f ,g是产生k位输出的函数。是否有任何算法可以比常规QBF算法更有效地检查这种特殊公式的有效性?
PS:在复杂性理论上,我并不是在问最坏情况的硬度。我问的是实用的算法(就像现代SAT求解器在许多问题上实际上都是有用的,即使SAT是NP完全的)。