Skip to content

De Morgan 布尔公式

De Morgan formula · De Morgan Boolean formula

以文字为叶、二元 AND 与 OR 为内节点且不共享子计算的树状布尔计算模型。

条目类型
模型

形式陈述

De Morgan 公式是一棵有根树:叶结点是文字 xi,¬xi(也可按约定允许常量 0,1),每个内部结点标记二元 ,根的值是公式输出。每个非根结点只有一个父结点,因此一个子表达式若在两处使用,必须在树中出现两份。把树的边看作导线,它正是 fan-out 为 1布尔电路特例;一般电路则是 DAG,可以把同一门的输出送往多个后继。

本页把叶数记作 L(F),把内部 / 门数记作 G(F),深度 D(F) 是根到叶最长路径上的内部门数。对每个内部结点恰有两个孩子且至少有一个内部门的公式,G(F)=L(F)1,所以两种规模只差常数因子。NOT 只出现在叶上并不损失表达力:逐层使用 ¬(AB)¬A¬B¬(AB)¬A¬B,可在不增加叶数的情况下把任意否定推到变量前。

直觉

公式不是“一串带括号的符号”这么简单;它的语法树就是计算资源。树形约束禁止共享,迫使每一次复用都付出一份新的叶和门。若子函数 g 同时影响两个分支,一般电路可以先算一次 g 再分叉,公式却要把描述 g 的整棵子树复制。例如选择器 (ga)(¬gb) 在 DAG 中可让两条支路共用计算 g 的结点;写成 De Morgan 公式时,一支需要 g 的树,另一支需要其否定对偶树。这不是一个下界证明,却把复制成本发生的位置清楚地显出来。这一差异使公式下界可能远强于对一般电路能证明的下界,也解释了为什么平衡语法树会改变深度而未必保留原来的规模。

De Morgan 门集刻意保持朴素:AND 与 OR 表示两种组合方式,输入处的正负文字承担所有否定。这样的正规形让对偶、随机限制和通信博弈都能沿树递归。它不是说真实硬件只能使用这三种门,而是固定一把可比较的尺;换成任意固定、有限、常扇入的完备门集,粗粒度多项式规模通常只改变常数,但逐门下界和精确叶数会随门基变化。

例子与边界

二位异或可写成

F(x,y)=(x¬y)(¬xy).

这棵树有 4 个文字叶、3 个二元门,深度为 2。代入 (x,y)=(1,0),左侧合取为 1、右侧为 0,根输出 1;代入 (1,1) 时两个合取都为 0。变量 xy 各出现两次,正是树不能让正、负分支共享一次读取的表现。三变量多数函数

(x1x2)(x1x3)(x2x3)

在二元括号约定下有 6 个叶;允许一个三扇入 OR 会改变门数与深度,却不改变这里的叶出现次数。

对偶公式也能逐结点复算:交换每个 AND/OR,并把每个文字取反,所得 F 满足 F(x)=¬F(¬x)。例如上面的多数公式对偶后仍是三变量多数函数;这来自“三位中至少两位为真”在整体取反后对应“至少两位为假”。对偶保持树形和叶数,却不表示每个函数都自对偶。

边界必须说清。公式的语法可以含重复变量,却仍是树;“read-once formula”还额外要求每个变量最多出现一次,不能与普通公式混同。叶出现两次计作两份语法资源,即使两片叶都指向同一个外部输入位;这里衡量的不是从内存读取变量的物理次数。若允许某个内部结点有多个父结点,模型已经变成可共享的电路。若把任意布尔函数当成一个原子门,规模度量也会坍缩。常量、输入是否计入规模、根层是否计入深度都是文献中的局部差异,引用精确数字前必须先固定约定。

推论与应用

De Morgan 公式为布尔公式复杂度提供标准对象。规模研究询问最少需要多少文字叶,深度研究询问最长依赖链能有多短;Brent–Spira 深度约简说明任意小公式都能在多项式规模内平衡到对数深度。反向地,二元树深度为 d 时至多有 2d 个叶,这给出规模与深度之间最基本的计数联系。

树递归还可翻译成博弈。Karchmer–Wigderson 博弈把根处选择哪个真或假子式变成双方通信,精确刻画公式深度;公式规模博弈则以集合分割和叶预算刻画叶数。单调版本去掉负文字,只保留 AND/OR,由单调电路条目统一讨论其与一般电路的差别。

参考资料
  • Stasys Jukna, Boolean Function Complexity: Advances and Frontiers, Springer, 2012, §§1.1–1.4.
  • Ingo Wegener, The Complexity of Boolean Functions, Wiley-Teubner, 1987, Chs. 2–4.
  • Ryan O’Donnell, Analysis of Boolean Functions, Cambridge University Press, 2014, §1.1.
关系图谱5 个相邻概念 · 2 类关系

拖动节点调整位置。

显示关系

显示:依赖

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

上位 / 更一般

下位 / 直接特例

暂未标注直接特例。