Skip to content

电路可满足性问题

Circuit satisfiability problem · Circuit-SAT

给定编码后的布尔电路,判断是否存在输入赋值使其输出为真的 NP 完全问题。

条目类型
模型

形式陈述

Circuit-SAT 的输入是一张有 n 个输入、s 个门、单输出的布尔电路 C 的有限编码,问题询问

x{0,1}n,C(x)=1?

可固定二元 AND/OR/NOT 门基,并按拓扑序列出每个门的类型及其前驱编号。每个编号占 O(log(n+s)) bit,因此编码长度为 O((n+s)log(n+s));用别的合理固定门基只造成多项式转换。n、门数 s 与总编码长度是三个不同参数,精细时间界不能把它们都写成同一个“输入规模”。

给定候选赋值,按拓扑序在 O(s) 时间求值,所以 Circuit-SAT 属于 NP。CNF-SAT 实例本身可视为 AND/OR/NOT 电路,给出 NP 困难性;结合即得 NP 完全。这里问的是“是否存在某个输入”,不同于给定输入后求 C(x) 的 Circuit Value Problem,也不同于在所有赋值上比较两张电路是否等价。

直觉

电路把共享子表达式保留下来,是比公式更紧凑的约束语言。SAT 求解器必须为输入变量选值,让信号沿 DAG 传播后把输出门推到 1;内部门值并非独立猜测,而由前驱唯一决定。共享既能缩短输入描述,也会让一个选择同时影响许多后继,这正是把 Circuit-SAT 简单展开成公式可能付出指数代价的原因。

穷举基线清楚而残酷:依次检查全部 2n 个赋值,每次用 O(s) 时间求值,总时间 O(2ns)。改进可以来自门类限制、结构宽度、变量分割或批量求值,但比较算法时必须说明是把指数底数降到 2ε,还是只节省多项式因子;两者对细粒度假设和下界推论的意义完全不同。

例子与边界

考虑

C(x1,x2,x3)=(x1x2)(¬x1x3).

按字典序检查:000001 的第一括号都为 0,故拒绝;到 010 时,第一括号为 1,第二括号因 ¬x1=1 也为 1,所以 010 是可验证见证,搜索可以停止。若把每个内部门写成拓扑表,验证者只需计算一次 NOT、两次 OR 和一次 AND,而不需再次搜索内部状态。

Circuit-SAT 的 NP 完全性不说明现有实例都接近 2n 困难,也不排除某个受限电路类拥有快速算法。参数化上,s 可能远大于 n;一个写成 2npoly(s) 的算法对门数仍是多项式,但若电路编码允许指数 bit 权重,“poly(s)”就没有覆盖完整输入长度。多输出电路可加一个 OR 或指定某个输出,约定需要显式转换。

SETH 给出一条安全的单向边界:若一般 Circuit-SAT 能对所有多项式大小电路在 O((2ε)npoly(s)) 时间求解,那么同一算法作用于 k-CNF 电路会否定 SETH。反向把 SETH 写成所有 Circuit-SAT 界的等价陈述则需要限制电路大小与归约膨胀;SETH 也不排除 2n/n100 这类未改变指数底数的改进。

推论与应用

Circuit-SAT 是 Cook–Levin 理论、逻辑综合和自动验证的共同核心。把时间有界计算展开为电路,再询问是否存在满足输入,可把非确定计算统一编码成组合搜索;实际 SAT 求解还会把门转成 CNF 并引入辅助变量,转换保持等可满足性而非逐赋值使用同一变量表。

更深的联系是“算法产生下界”。Williams 证明,对具有合适闭包性质的电路类,若其 Circuit-SAT 能以足够非平凡的方式快于穷举,就可结合时间层级定理推出 NEXP 等类不具有该类小电路;ACC⁰ 是代表性成功案例。精确节省、可处理规模和闭包条件都是定理假设,不是任意小优化都自动给出下界。

这条算法路线与自然证明障碍互为对照:前者利用求解受限电路的算法和层级矛盾,后者说明在强 PRF 假设下某类大而可构造的真值表性质不能证明一般下界。二者共同界定当前一般电路下界研究的可行与受阻方向。

参考资料
  • Sanjeev Arora and Boaz Barak, Computational Complexity: A Modern Approach, Cambridge University Press, 2009, §6.7.
  • Stephen A. Cook, “The Complexity of Theorem-Proving Procedures,” Proceedings of STOC 1971, pp. 151–158.
  • Ryan Williams, “Improving Exhaustive Search Implies Superpolynomial Lower Bounds,” SIAM Journal on Computing 42(3), 2013, pp. 1218–1244.
  • Russell Impagliazzo and Ramamohan Paturi, “On the Complexity of k-SAT,” Journal of Computer and System Sciences 62(2), 2001, pp. 367–375.
关系图谱6 个相邻概念 · 3 类关系

拖动节点调整位置。

显示关系

显示:依赖

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