Skip to content

单调电路复杂度

Monotone circuit complexity · Monotone complexity

在禁止否定的 AND/OR DAG 中最小化单调函数的门数与深度。

条目类型
定义

形式陈述

对单调布尔函数 f,记 C+(f) 为计算 f 的最小单调电路门数,D+(f) 为最小深度;下标 + 强调只允许正变量与 AND/OR。若以二元门计数,必须把无界扇入门展开并计入新增门;若以导线而非门计大小,精确界也会不同。对函数族 {fn},所谓多项式单调复杂度要求存在同一个常数 c,使 C+(fn)nc 对所有足够大的 n 成立。

C(f) 是同一固定完备门基下的一般电路规模,则

C(f)O(C+(f)),

因为一般电路可直接使用单调电路;反向没有定义上的保证。若再记 L+(f) 为最小单调公式叶数,把公式树视为 DAG 便有 C+(f)L+(f)1;反向展开会复制共享结点,不能期待同阶。已有显式单调函数呈现一般电路与单调电路之间的指数级差距,这说明 NOT 的作用不只是计算非单调输出,它也能压缩某些最终仍单调的计算。下界必须针对 C+ 陈述,不能无标记地改写为 C

直觉

单调规模衡量“只凭出现了什么”来认证性质的成本。每个 AND 门合并若干必须同时成立的正证据,每个 OR 门在替代证据间选择;DAG 允许证据片段共享。一个下界要证明,无论怎样共享,小量正证据都无法覆盖全部真输入而避开全部假输入。这个任务比指出朴素 DNF 有很多项困难,因为电路可能用多层中间概念大量复用。

与一般电路比较时,应把限制理解为信息纪律而非硬件缺陷。NOT 门允许电路暂时表达“某种候选结构不存在”,再把许多候选的失败模式合并;单调电路不能利用这种中间负信息。Tardos 等人的分离结果表明,这种纪律在某些显式函数上确实产生巨大成本,但它不意味着所有单调函数都困难:阈值、可达性的某些参数化版本和许多动态规划都有紧凑单调构造。

例子与边界

函数 THRn,k(x) 在至少 k 个输入为 1 时输出 1。定义 gi,j 表示前 i 位至少有 j1,取边界 gi,0=1g0,j=0,并递推

gi,j=gi1,j(xigi1,j1).

只需保留 1jmin(i,k) 的状态,非平凡状态不超过 nk 个;每个状态至多增加一个 AND 和一个 OR,所以在化简常量前也不超过 2nk 个门。对 n=4,k=2 和输入 1010,先有 g1,1=1;读到第二位后 g2,2=0;第三位为 1,故 x3g2,1=1,得到 g3,2=1,最终 g4,2=1。同一 gi,j 被多个后继复用;若从 gn,k 递归展开成树,通往边界状态的分支数会出现二项式系数,kn 同阶时朴素展开可达指数规模。

这个上界不自动最优,也不适用于带负权的线性阈值函数。若函数不是单调,C+(f) 通常视为无穷或未定义,而不是一个很大的有限数。模型还必须固定 fan-in:无界 OR 可把所有最小证书一层汇总,二元 OR 需要额外对数深度和线性数量门。规模下界与深度下界也不能互换;一张大而浅的单调电路可能与小而深的电路计算同一函数。最后,极小 1 输入很多只说明规范 DNF 很长;上面的状态共享正展示了为何证书计数本身不是 C+ 下界。

推论与应用

单调复杂度是少数能对自然显式函数证明强电路下界的领域。Razborov 近似法把每个中间门替换为受控的简单近似,证明小电路的最终近似不可能同时在正例与反例分布上正确;应用到图团得到CLIQUE 单调下界。这些结果解释受限模型的结构,却不解决一般布尔电路下界。

它也为算法设计提供反面诊断。上面的计数动态规划显示,有界阈值可通过状态共享得到小单调电路;若某个算法只合并正证书,就可把其状态转移直接翻译成单调 DAG,从而由已知下界排除过小的此类算法。反过来,一个一般多项式时间算法使用否定、取消或代数消去时,不能只凭输出性质单调就套用单调下界。

参考资料
  • Stasys Jukna, Boolean Function Complexity: Advances and Frontiers, Springer, 2012, Ch. 9.
  • Éva Tardos, “The Gap between Monotone and Non-Monotone Circuit Complexity Is Exponential,” Combinatorica 8(1), 1988, pp. 141–142.
  • Ingo Wegener, The Complexity of Boolean Functions, Wiley-Teubner, 1987, Ch. 8.
关系图谱3 个相邻概念 · 1 类关系

拖动节点调整位置。

显示关系

显示:依赖

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