Skip to content

定义Definition

3-SAT

3-SAT · Three-satisfiability

每个子句恰含三个文字的合取范式可满足性问题。

形式陈述 ​

3-SAT 是CNF 可满足性问题的宽度限制。它的输入写作

φ=C1∧⋯∧Cm,

其中每个子句 Ci 是三个文字的析取,文字是变量 x 或其否定 ¬x。问题询问是否存在布尔赋值使 φ 为真。

本条采用“每个子句恰有三个文字”的约定;允许重复文字时,含一或两个文字的子句可填充为三个,因此与“至多三个文字”的常见约定多项式等价。

直觉

3-SAT 把一般逻辑约束限制为局部的三元析取,却仍保留 SAT 的全部 NP 困难性,因为许多共享变量的小约束组合起来仍能表达全局选择困难,而困难并不来自某个巨大子句。宽度约束也使归约构件局部而规则,适合作为图、集合和调度问题的起点。把一般长子句拆分时必须引入辅助变量,以保持“存在某个扩展赋值”的等可满足性,而非逐赋值等价。

例子与边界

公式 (x∨y∨z)∧(¬x∨y∨y) 是合法实例。3-SAT 不应与 2-SAT 混淆:2-SAT 可在线性时间内求解,而 3-SAT 是 NP-complete。若要求三个互异变量且不允许重复,需要额外的等可满足变换。例如二文字子句 (a∨b) 可替换为 (a∨b∨u)∧(a∨b∨¬u):原子句为假时两项要求 u 与 ¬u 同时为真,为真时则两项都成立。

四文字子句 (a∨b∨c∨d) 可用新变量 u 替换为

(a∨b∨u)∧(¬u∨c∨d).

对每个固定的原变量赋值,若 a∨b=1,取 u=0 即可满足两项;若左半为假而 c∨d=1,取 u=1 即可。若四个文字都为假,两项分别强迫 u=1 与 u=0,无解。因此成立的是带存在量词的等式 a∨b∨c∨d≡∃u,[(a∨b∨u)∧(¬u∨c∨d)]。

对长为 r≥4 的子句,串联 r−3 个新的辅助变量,得到 r−2 个三文字子句;不同原子句使用不同新变量,才能独立选择扩展赋值。总规模只线性增加。长度为 1 或 2 的子句可重复文字补齐。原 CNF 若含空子句,直接输出固定矛盾 (u∨u∨u)∧(¬u∨¬u∨¬u),覆盖这个不能靠填充处理的边界。

2-SAT 有线性时间算法,因此“每个子句常数宽”本身不导致 NP 完全;阈值恰在宽度从 2 到 3。拆分保持的是整体可满足性,不能要求原变量每个固定赋值下新公式不经选择辅助变量便同值。

推论与应用

3-SAT 建立在命题逻辑上,并由Cook–Levin 定理后的宽度约化得到 NP 完全性;许多图问题归约从三文字子句构造常数规模 gadget。精确时间主线固定 n 为变量数:ETH排除 2o(n),稀疏化引理把稠密固定宽度公式拆成线性子句分支,SETH则量化所有 k-SAT 的指数底数。三者是条件假设或定理,不属于 3-SAT 问题定义。

参考资料
  • 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。
关系图谱8 个相邻概念 · 3 类关系

拖动节点调整位置。

显示关系

显示:依赖

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

上位 / 更一般

下位 / 直接特例

暂未标注直接特例。

类型化关系