Boolean 公式求值:Span Program、对抗界与双反射算法¶
一个 read-once Boolean 公式是一棵树:叶子是输入位,每个变量只出现一次,内部节点是常数 fan-in 的 AND、OR、NAND 等门。朴素算法可能查询所有 \(N\) 个叶子;量子算法却能以 \(\Theta(\sqrt N)\) 次查询求任意常数 fan-in 公式。这个结果不是每层套 Grover 的简单递归,而来自 span program 与 general adversary bound 的精确对应。
1. 从 NAND 树看问题¶
平衡二叉 NAND 树递归定义
若树有 \(N=2^d\) 个叶子,确定性最坏查询为 \(N\)。经典随机算法利用短路求值可少于 \(N\),但仍为 \(N^{\alpha}\)、\(\alpha>1/2\)。Farhi--Goldstone--Gutmann 首先构造连续时间 Hamiltonian NAND-tree 算法达到 \(O(\sqrt N)\);后续离散查询、任意不平衡 AND--OR 树与一般公式由 span program 统一。
2. Span program 的线性代数定义¶
Span program \(P\) 包含一个内积空间、目标向量 \(|\tau\rangle\),以及按输入文字 \((j,b)\) 标记的向量集合
输入 \(x\in\{0,1\}^n\) 时,只允许标签满足 \(b=x_j\) 的向量。程序接受当且仅当
写矩阵 \(A\) 的列为全部输入向量,\(\Pi(x)\) 投影到当前可用列。
若 \(f(x)=1\),正 witness 是系数向量 \(|w\rangle\):
其成本衡量最小 \(\|w\|^2\)。若 \(f(x)=0\),负 witness 是 \(|\omega\rangle\):
其成本衡量 \(\|A^\dagger|\omega\rangle\|^2\)。Span program witness size 是正负最坏成本的几何平均或等价归一化最优值。
3. 两个反射怎样读取 witness¶
由 \(P\) 构造输入无关子空间(例如某个增广矩阵的 kernel)及其反射
输入 oracle 只需实现“哪些列可用”的反射
每次 \(R_x\) 使用常数次输入查询。算法研究酉算子
两个反射乘积的本征相位由相应子空间的 principal angles 决定:
若 \(f(x)=1\),正 witness 构造出与起始态有明显 overlap 的零相位或近零相位本征向量;
若 \(f(x)=0\),负 witness 证明起始态在一个由 witness size 控制的相位间隙内几乎没有谱质量。
对 \(U_x\) 做相位检测,判断是否存在近零本征相位。所需精度与 witness size \(W(P)\) 成反比,故查询复杂度为
这正是 Grover 的“oracle 相位反射 × 初态反射”结构的普适推广。
4. General adversary bound 为何同时是下界与算法¶
对 Boolean 函数 \(f\),选择由输入对索引的 Hermitian 矩阵 \(\Gamma\),且 \(\Gamma_{xy}=0\) 当 \(f(x)=f(y)\)。令
general adversary bound 为
分子衡量算法必须区分的 yes/no 输入总体相干性;分母衡量一次查询第 \(j\) 位最多破坏多少相干性,因此
对偶 SDP 可直接转成 span program,Reichardt 的双反射算法又以 \(O(\operatorname{Adv}^{\pm}(f))\) 查询求值,最终得到
所以对抗界不是只会证明“不可能更快”的工具,它本身编码了最优算法。
5. 公式组合为何给出 \(\sqrt N\)¶
AND/OR 门的对抗值与输入规模平方根同阶。General adversary 在函数复合下相乘:
按各子问题成本加权组合。对 read-once 树,每个叶子的 witness 权重沿根路径相乘;经过平衡缩放,整棵大小 \(N\) 的常数 fan-in 公式满足
下界用 OR 公式或适当 adversary 立即给出 \(\Omega(\sqrt N)\),因此最优。重要的是该结论不要求树平衡;不平衡公式需为不同子树设置不同 witness 权重,机械地在每层做相同 Grover 迭代反而会损失复杂度。
6. Read-many 与游戏树边界¶
若变量可重复,记 \(N\) 为不同变量数、\(S\) 为叶出现总数、\(G\) 为门数,已知算法给出
型查询界。某些 promise NAND 树中,不同输入的门数或 average choice complexity 很小,可出现更大分离;有效电阻给出 witness 的电网络解释。
查询最优也不自动意味着门时间最优。实现 \(R_\Lambda\) 可能需要处理公式图的谱或稀疏线性代数;对常数 fan-in 公式可实现近线性开销,但任意 SDP 给出的 span program 可能维数巨大。
7. 小结与习题¶
Span program 用“目标是否落在可用向量张成空间”表示 Boolean 函数。
正/负 witness 分别认证接受与拒绝,并控制相位检测精度。
双反射算法把 span program 直接变成量子查询算法。
General adversary SDP 与量子查询复杂度等价,公式复合给出 \(\Theta(\sqrt N)\)。
为二输入 OR 构造一个 span program 并写出正、负 witness。
解释两反射乘积的零相位向量与子空间交的关系。
用 adversary 复合直观推导四叶平衡 AND--OR 树的成本。
举例说明查询次数相同而实现反射的门复杂度不同。
参考文献与 Zoo 覆盖¶
NAND/AND--OR 发展:Zoo 8、27、38、80、159,含 Farhi 等、Reichardt--Špalek。
对抗界与通用双反射:Zoo 149、158、165,见 Reflections for Quantum Query Algorithms。
非 Boolean、read-many 与游戏树:Zoo 29、101、160、164、269。