“Tseitin 转换接收命题公式或按 DAG 表示的布尔电路 $G$。它为每个内部节点 $g$ 引入新变量 $z g$,加入常数个子句表达 $z g$ 与该门输出的双向定义,并以单位子句断言…”
形式陈述 ​
布尔电路是有限有向图,并要求无环。输入节点表示变量或常量,内部门计算 AND、OR、NOT 等布尔函数,指定输出门给出整体函数
直觉
布尔电路把一次性计算展开为空间中的无环数据依赖图:每个门只执行固定局部函数,所有输入一旦给定,值便沿有向边传播。图的宽度体现并行,最长依赖链体现延迟;共享子表达式可以只计算一次并供多个后继门复用,这使电路不同于纯公式树。与会反复读写工作带的图灵机相比,单个电路只处理固定长度输入,因此研究的是“每个长度一张专用硬件图”。
例子与边界
半加器用 XOR 与 AND 产生和位与进位;若基础门只有 AND/OR/NOT,XOR 可用常数多个门实现。另一个例子是函数
若要求 fan-in 为
推论与应用
布尔电路是硬件设计、逻辑综合、SAT、并行算法与非一致复杂性的共同基础。命题逻辑提供门的语义,有向无环图提供结构;规模与深度分别衡量工作量和并行时间,一致性则说明一族电路能否由统一算法生成。
沿着“每个输入长度使用一张电路”的视角,P/poly刻画多项式规模但不要求一致生成的电路族,AC⁰进一步限制为常数深度、无界扇入。另一条路线是把门的布尔关系变成域上的低次多项式;这种算术化是代数化验证与交互式证明的入口。
同一布尔函数还可置于不同资源模型中。查询复杂度只数为确定输出而读取的输入位,电路规模则数整张非自适应计算图中的门;二者没有由定义得到的等式。把输入位分给两方并插入 gadget 后,lifting 定理可在满足假设时把决策树下界提升为通信下界,进而服务某些电路下界。性质测试又只要求区分满足性质与远离性质的真值表或函数 oracle,不能把测试器的少量查询直接解释为一个计算全部输入的微型电路。
参考资料
- Sanjeev Arora and Boaz Barak, Computational Complexity: A Modern Approach, Cambridge University Press, 2009,Chs. 1–8。
- Stasys Jukna, Boolean Function Complexity: Advances and Frontiers, Springer, 2012,Chs. 1–6。