“这里使用确定性时间类的同一机器模型;E 要求输入长度的单指数时间,与允许 $2^{n^k}$ 时间的EXP不同。对语言 $L$,令 $C L(n)$ 表示其长度 $n$ 的特征函数所需最小有…”
形式陈述
本页把电路大小定义为内部门数,不计变量或常量输入节点;深度是从输入到指定输出的路径上最多经过的内部门数,直接输出输入位时为
直觉
规模统计总门数,回答“总共做多少局部操作”,近似衡量硬件面积或总工作;深度统计输入到输出的最长依赖链,回答“关键路径上必须串行等待多少轮”,近似衡量门可并行执行时的延迟。同样大小的图可以因依赖组织不同而具有完全不同延迟,两者也可以互相权衡:复制中间结果可能增大规模却减少串行依赖,复用子电路则可能相反。只有在门基、fan-in 和 uniformity 固定后,规模与深度比较才有明确含义。
例子与边界
以八个输入的 OR 为例,第一层用四个门合并相邻输入,第二层用两个门合并前一层结果,第三层再用一个门输出,合计
门的位复杂度也重要:把任意真值表当作一个“超级门”会使大小失去意义。最小电路大小通常难以计算,存在上界构造不等于已证明下界最优。
深度不是处理器数量:即使深度很小,某一层可能含多项式个门,需要相应并行资源。规模下界也不能自动推出深度下界;反之,一条长依赖链可能由很少门构成。
推论与应用
大小—深度权衡用于并行算法、硬件时序、VLSI 与电路复杂性;许多下界正是证明某函数无法同时拥有很小尺寸和很浅深度。典型例子是AC⁰:它允许多项式规模和无界扇入,却把深度固定为常数;Parity 不属于 AC⁰说明这些限制足以排除一个有线性规模、对数深度电路的简单函数。
它细化 布尔电路 的资源分析,并在 NC 中把多项式规模与 polylog 深度结合起来。一致性 保证这些资源受控的电路可被统一生成;电路下界研究则试图证明某些函数在给定门基下必须使用超多项式规模或大深度。
参考资料
- 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。