“定理首先得到一般 SAT。借助新变量对电路门或长子公式作 Tseitin 编码,可以在线性或多项式膨胀下得到与原公式等可满足的 3 CNF,从而导向3 SAT;新公式不必在原变量上的每个赋值…”
形式陈述
3-SAT 是CNF 可满足性问题的宽度限制。它的输入写作
其中每个子句
本条采用“每个子句恰有三个文字”的约定;允许重复文字时,含一或两个文字的子句可填充为三个,因此与“至多三个文字”的常见约定多项式等价。
直觉
3-SAT 把一般逻辑约束限制为局部的三元析取,却仍保留 SAT 的全部 NP 困难性,因为许多共享变量的小约束组合起来仍能表达全局选择困难,而困难并不来自某个巨大子句。宽度约束也使归约构件局部而规则,适合作为图、集合和调度问题的起点。把一般长子句拆分时必须引入辅助变量,以保持“存在某个扩展赋值”的等可满足性,而非逐赋值等价。
例子与边界
公式
四文字子句
对每个固定的原变量赋值,若
对长为
2-SAT 有线性时间算法,因此“每个子句常数宽”本身不导致 NP 完全;阈值恰在宽度从
推论与应用
3-SAT 建立在命题逻辑上,并由Cook–Levin 定理后的宽度约化得到 NP 完全性;许多图问题归约从三文字子句构造常数规模 gadget。精确时间主线固定
参考资料
- Sanjeev Arora and Boaz Barak, Computational Complexity: A Modern Approach, Cambridge University Press, 2009,§2.2。
- Michael Sipser, Introduction to the Theory of Computation, 3rd ed., Cengage, 2013,§7.4。