Skip to content

布尔函数的多项式次数

Polynomial degree of Boolean functions · Exact degree of a Boolean function

以 Boolean cube 上唯一的实 multilinear 多项式精确表示函数,并取其中最高非零单项式次数。

Multilinear 表示

每个布尔函数 f:{0,1}nR 都存在唯一实 multilinear 多项式

pf(x)=S[n]aSiSxi

满足对每个 x{0,1}n 都有 pf(x)=f(x)。Multilinear 表示中每个变量次数至多 1;这是因为在 Boolean cube 上 xik=xi 对所有 k1,高次幂可约去而不改变函数值。

f 的精确多项式次数定义为

deg(f)=max{|S|:aS0}.

常值函数次数为 0。次数计算的是最高项涉及多少个不同变量,不是总单项式数、系数大小或求值时间。

本页系数位于实数多项式环。换到有限域会改变加法、系数消去和次数;必须把域写进结论,不能只因输入仍为 0/1 就认为表示相同。

存在性的构造

T[n],记 1T 为恰在 T 上取 1 的输入。系数可由 Boolean lattice 上的 Möbius 反演显式给出:

aS=TS(1)|S||T|f(1T).

代回输入 1U 时,只有 SU 的单项式为 1,于是

pf(1U)=SUaS=f(1U).

每个 Boolean 输入都唯一写成某个 1U,所以构造在整个 cube 上与 f 一致。这不是从有限样本拟合的近似,而是 2n 个点上的精确插值。

唯一性证明

设 multilinear 多项式 q 在所有 Boolean 输入上取 0。写成

q(x1,,xn)=q0(x1,,xn1)+xnq1(x1,,xn1).

xn=0,得 q0(n1) 维 cube 上恒零;令 xn=1,得 q0+q1 恒零,所以 q1 也恒零。由维数归纳,q0,q1 的全部系数为零。故两个表示之差只能是零多项式,multilinear 表示唯一。

若不要求 multilinear,唯一性会失败:xi2xi 在 cube 上恒为零,可以任意加到表示中并提高形式次数。Exact degree 必须先在这些恒零关系下约化,不能从随手写出的公式直接读最高幂。

三变量多数函数

多数函数 Maj3 在至少两个输入 bit 为 1 时输出 1。其唯一 multilinear 表示为

p(x)=x1x2+x1x3+x2x32x1x2x3.

重量为 01 时所有二次乘积为 0,输出 0;重量为 2 时恰一个二次项为 1、三次项为 0,输出 1;重量为 3 时三个二次项总和为 3,减去 2 后仍为 1

三次项系数非零,因此 deg(Maj3)=3。公式中虽然主要由“两两同时为 1”表达多数语义,仍需要三次修正项消除全 1 输入的重复计数;直觉上的“看两个就够”不能替代唯一表示的系数检查。

与表示复杂度的边界

多项式次数不是电路深度。一个高次单项式可由平衡 AND 树以对数深度计算;一个低次多项式也可能含大量单项式,显式求值并不便宜。两种度量分别记录代数相互作用阶数与门级并行层数。

F2 上,parity 是一次线性多项式 x1++xn;在实 0/1 表示中,其唯一 multilinear 多项式包含次数 n 的项。引用 parity 次数时若不标域,会得到相反的复杂度图像。

偏函数只要求在 promise 集 S 上匹配,表示通常不再唯一:不同多项式可以在 S 上相同、在 cube 其余点不同。对 partial function 定义 exact degree 时应在所有匹配多项式中取最低次数,而不能直接沿用 total function 的唯一性句子。

参考资料
  • Noam Nisan and Mario Szegedy, “On the Degree of Boolean Functions as Real Polynomials,” Computational Complexity 4, 1994, pp. 301–313.
  • Ryan O'Donnell, Analysis of Boolean Functions, Cambridge University Press, 2014, Chapter 1.
  • Stasys Jukna, Boolean Function Complexity: Advances and Frontiers, Springer, 2012, Chapter 14.