“Toda 定理的完整归约链进一步给出仿射隔离、固定量词层的误差预算,以及三次多项式的模提升。它用两个精确 P 值恢复接受随机种子的整数数量,说明近似计数和普通存在性查询为何不能直接替代这个接…”
形式陈述 ​
Toda 定理断言
这里左端是多项式层级的语言类,右端也是判定语言类:确定性多项式时间机器可以调用某个固定的#P函数,每次返回精确非负整数的二进制表示。也可固定保计数完全的 #SAT 作为 oracle。查询串的构造、答案的读取及后续整数运算均计入外层时间。它不是只有“是否存在见证”的 SAT 成员查询,也不是近似计数。
本文给出一条完整的证明链:
先局部定义两个记号。
这里沿用BPP的逐输入有界错误标准,先随机选一份奇偶计数实例。不要把中点的点号默认为任意多次自适应 oracle 查询;下文直接构造这个较具体的形式。
后半用到有符号计数
直觉
存在量词问“有没有”,奇偶计数只知道“解数是奇还是偶”。随机哈希可以把任意非空解集隔离出一个元素,使奇偶位以正常数概率看见它。重复后再把各次结果的 OR 编码进一个奇偶计数,就能模拟存在量词;取补处理全称量词。固定层数保证反复构造仍只有多项式规模。
随后要去掉随机性。直接加总各种子的原始计数没有用,因为偶数计数也会贡献大量数值。核心提升多项式先把每个偶数送到高次模数下的零,把每个奇数送到同一模数下的一。再加总并取余,读到的就恰好是接受种子的数量。
例子与边界
四个随机种子的模提升 ​
设随机种子长
两次迭代得到:
| 种子 |
最后一列模 |
|||
|---|---|---|---|---|
提升后的计数之和满足
因为真实接受数在
一份有偶数个解的实例不能只问一次奇偶 ​
例如解集
若某一步需要给计数器增加一个自由变量,该变量会让每个见证重复两次,改变奇偶值。因此所有算术构造都必须说明标签分支和无用位如何唯一补齐。普通“有解当且仅当有解”的归约不足以替代这里的保计数构造。
推论与应用
奇偶计数的算术接口 ​
若
常数一由唯一见证实现。因此
若全为偶数,乘积为奇数,加一后为偶数;若至少一项为奇数,乘积为偶数,加一后为奇数。把乘积换成和只会得到 XOR,不能用于 OR 型成功放大。
对多项式长度的
哈希隔离:对任意非空集合的统一界 ​
设非空
对固定
令
总能在
为了只使用有固定长度的公平随机串,我们不从非二次幂范围随机抽
轮,把所有哈希下的奇偶结果做 OR。若集合非空,全部失败的概率至多
所用哈希共有
固定层数的量词如何逐层消去 ​
证明更精确的归纳断言:对任意固定量词块数
对每个固定
没有量词时,确定性验证谓词直接产生零或一个接受见证。若外层是
这里仅声称对一个固定
在这件好事发生时,
这是 #P 计数器:先猜
将全部
对全称块使用
这个归纳不承诺某一侧零错误。若把内层偶数个真分支中的一个漏掉,奇偶可能从零变一;双侧误差和显式并合界正好处理这件事。
核心提升引理:模数指数每次翻倍 ​
GapP 除了上述和与积,还允许相减。可把它理解为正、负两类见证的数量差:加法用带符号的标签分支,取负交换符号,乘法猜两份见证并把符号相乘。正贡献和负贡献各自由一个 #P 验证器计数。[1]
对任意整数
若
对负整数同样成立。迭代
若原种子长
因为
两次精确计数如何恢复接受种子数 ​
构造
外层机器不会枚举所有种子;两个计数器各先猜
设真正的奇数种子数为
最后比较
结论的范围 ​
定理给出精确计数对固定量词层级的统摄力,不给出普通多项式算法。若所有 #P 函数都在 FP 中,则本定理推出 PH=P;定理本身没有假设这一点,也没有证明 PH 坍缩。
PP研究计数是否超过阈值。精确 #P 值可通过多项式次阈值查询和二分恢复,所以
固定交替层数是规模论证的前提。层数随输入增长时,反复多项式膨胀未必仍是多项式,因而这份证明不把 PSPACE 或一般 TQBF 纳入同一结论。近似计数也不足以直接计算高次模数下的标准余数,不能替换正文的精确接口。
参考资料
[1] Lance Fortnow, “A Simple Proof of Toda's Theorem”, Theory of Computing5, 135–140, 2009。§2有符号计数闭包;§4尤其Lemma4.4与随后求和给出本文使用的模提升。本文前半直接构造随机单个奇偶计数实例,不以该文的相对化证明替代量词预算。
[2] Dana Moshkovitz, MIT6.841 Lecture23, 2012-12-04,记录Ilya Razenshteyn。Theorem3及§3给固定层数的双侧随机归约与奇偶算术。本文自行证明仿射隔离界、遍历哈希输出长度并展开误差与见证规模;讲义第3页的