掌握NC科技

\[\newcommand{\cur}[1]{\left\{#1\right\}} \newcommand{\t}{\text} \newcommand{\c}{\mathcal} \newcommand{\bb}{\mathbb} \newcommand{\E}{\mathop{\mathbb E}\limits} \newcommand{\b}{\boldsymbol} \newcommand{\ip}[1]{\left<#1\right>} \newcommand{\blueto}{{\color{blue}{\to}}} \newcommand{\redto}{{\color{red}{\to}}} \newcommand{\eps}{\epsilon} \newcommand{\co}[2]{{\color{#1}{#2}}} \]

复杂度类

对数空间规约:就是 L-映射规约。有 B ∈ (N)L,A ≤L B,则 A ∈ (N)L,因为可以重复运行多次,每次获取规约算法的某个 bit。对数空间可计算函数的复合仍然是对数空间可计算的。

NL 完全:PATH (有向图两点可达性)。membership 随机游走即可,因为游走步数可以用对数空间维护。completeness 因为 NTM membership 就是格局图可达性。

NP 完全:有很多,一般 SAT 就够用了。

PSPACE 完全:TQBF (所有变量都被量词修饰的真命题)。membership 枚举变量取值即可,completeness 建立 \(\phi(C,C',i)\) 表示在 \(2^i\) 步内能否从格局图上 \(C\)\(C'\),转移时枚举中继态 \(C''\) 即可。QBF 博弈(轮流确定某个变量的取值)。GG (有向图博弈,双方不能经过重复点。)。

NPSPACE 完全:同样是 TQBF。因此有 PSPACE = NPSPACE。

使用 \(O(\log^2n)\) 确定性空间 PATH:建立 \(f(x,y,d)\) 表示在 \(d\) 步内能否从 \(x\) 游走到 \(y\),转移时枚举中继 \(z\) 即可。于是有 NSPACE(\(\log n\)) ⊆ SPACE(\(\log^2n\))。

padding argument:假如存在关系 A(\(S(n)\)) ~ B(\(F(S(n))\)),其中 ~ 是某种关系(可以把它理解为某个集合对上的二元函数),则对于 time/space constructible 的 \(T(n)\geq S(n)\),有 A(\(T(n)\)) ~ B(\(F(T(n))\))。

对于 A(\(T(n)\)) 中的 \(L\),存在输入 \(n\) 位,以 \(T(n)\) 规模判定之的某种 A 机器。现在,希望构建一个映射 \(g:x\mapsto x'\),满足:

  • 考虑定义 \(L'\) 为把 \(L\) 中的 \(x\) 映到 \(x'\) 后构成的语言。
  • 则,希望 \(L'\) 能被 \(S(n)\) 规模的 A 机器判定。例如,当 \(S(n)=\log n\),A 是 NTM 时,\(g\) 可以是添加 \(2^{T(|x|)}\) 个未知字符,这样 \(x'\) 的规模是 \(2^{T(|x|)}\) 的,而判定需要 \(T(|x|)\) 规模的计数器以及 \(T(|x|)\) 规模的 \(x\)-判定器。
  • 这玩意能被 \(S(n)\) 规模的 A 判定,就与 \(F(S(n))\) 规模的 B 有关系。
  • 那么,就有 \(L'\) 属于 A(\(S(n)\)),可以将其转为 B(\(F(S(n))\)),然后再建立 B(\(F(T(n))\)) 即可。

因此,有 NSPACE(\(S(n)\)) ⊆ SPACE(\(S(n)^2\))。

I-S:NON-PATH ∈ NL。希望对删去 \(t\) 后的可达点数目计数并作比。

  • 假设我们已知 \(R(i)\)\(i\) 步内可达点数。
  • 定义计数器 \(c_1=0\)
  • 枚举 \(v\)
    • 非确定性猜测 \(v\) 可达:
      • 非确定性寻路,跑 \(i+1\) 步,不可达则拒绝,可达则令 \(c_1\) 自加。
    • 非确定性猜测 \(v\) 不可达:
      • 定义计数器 \(c_2=0\)
      • 枚举 \(u\)
        • 非确定性猜测 \(u\) 是否可达。如果猜测可达,则寻路 \(i\) 步,如果未寻到则拒绝;否则,如果 \(u=v\) 或存在边 \(u\to v\),拒绝;否则,\(c_2\) 自加。如果猜测不可达,跳过。
      • 如果 \(c_2\neq R(i)\),拒绝。这一重保险保证了如果 \(u\) 本来可达结果猜了不可达不会出事。
  • 则结束后,\(c_1\) 即为 \(R(i+1)\)

则可以正确计算 \(R(|V|)\),即可达集合。对比保留、删去 \(t\) 后的 \(R\)\(R'\),即可判定 NON-PATH。

于是,NL = co-NL;NSPACE(\(S(n)\)) = co-NSPACE(\(S(n)\))。

时空层次定理:TIME(\(o(f(n)/\log n)\)) 被 TIME(\(f(n)\)) 严格包含;SPACE(\(f(n)\)) 被 SPACE(\(g(n)\)) 严格包含,其中 \(f(n)=o(g(n))\)。证明因为存在属于 TIME(\(n^{1.1}\)) 但不属于 TIME(\(n\)) 的语言(在 \(M\) 上模拟 \(\ip M\) 不超过 \(|\ip M|^{1.1}\) 步),结合 padding argument 即可。

Ladner 定理:存在非 P 亦非 NP 的语言。

对角化做法的三基本条件是:所有 TM 都存在无穷多等价 TM;TM 可以被枚举;存在 UTM。所有仅用此三条件证明的结论都是 相对性 (relativize) 结论。

PSPACE ⊆ PTQBF ⊆ NPTQBF ⊆ NPSPACE。因此存在 \(A\) 满足 PA = NPA。现在,对于已知语言 \(B\) 定义对应的 \(L(B)\) 为全体 \(1^{|x|}:x\in B\),则可以寻找到使得 \(L(B)\) 属于 NPB 但不属于 PB\(B\)。显然,对于一切 \(B\),都有 \(L(B)\) 属于 NPB(witness 是对应的 \(x\)),而 PB 只会询问多项式个位置,可以让未访问处的值与预期不同(使用对角化)。具体而言,考虑对于一切 OTM 模拟 \(n^{\log n}\) 步,则共 \(2^n\) 个值中总有未访问的,于是可以用它来调整。

多项式层级

基础定义是交替量词后,存在多项式 TM。另一种定义是 OTM 定义:Σ2 = NPco-NP = NPNP;Π2 = co-NPNP

如果 Σi ⊆ Πi,则可以把后缀中的 Σi 一律换成 Πi,得到 PH 塌到 Πi。另一侧同理。

概率复杂度类

RP:与 NP 类似,不合法时总是拒绝,合法时一半以下概率拒绝。RP 必是 NP。

co-RP:合法时总是接受,不合法时以一半以上概率拒绝。co-RP 必是 co-NP。

BPP:失败概率总是三分之一以下。

ZPP:总是成功,但是只有期望时间的约束。

ZPP = RP ∩ co-RP:因为有 RP 算法和 co-RP 算法只需信任 RP 的接受与 co-RP 的拒绝即可;而有 ZPP 算法只需跑两倍期望的时间并在到期后接受或拒绝即可分别造出 RP 和 co-RP。

RP ∪ co-RP ⊆ BPP:因为 RP 算法简单 boosting 就是 BPP 算法。

BPP ⊆ Σ2:首先可以把 BPP boosting 到失败概率为 \(1/2m\) 其中 \(m\) 是随机串长,然后 \(x\in L\implies(\exist y_1,\dots,y_m)(\forall z)[\text{one of }M(x,y_i\oplus z)\text{ accepts}]\),因为当 \(z\) 固定时全拒绝的概率很小,所以 union bound 后,对于某个 \(z\) 全拒绝的概率非 \(1\),于是存在 \(y\);同时所有 \(y_i\) 的交又不够大。

随机算法

\(2\)-additive spanner:随机将 \(\sqrt n\) 个点选中,加入它们到所有点的最短路。对于每个点,假如其邻域中有点被选中则加入到其的边,否则加入邻域中所有边。

素性验证:Miller-Rabin。是 co-RP 的。

S-Z 引理:\(d\) 次非零多项式在所有元素都从大小为 \(|S|\) 的整数集合中取值时,为零概率不超过 \(d/|S|\)

完美匹配判定的线性代数法:把所有边看作变量后,行列式为零当且仅当不存在完美匹配,于是随机赋值后算行列式即可。

交互式证明

有计算力无限的 Prover 和多项式计算量的 Verifier。

私有随机串和公开(但 Prover 不能预先得知)随机串一样强力。

Verifier 在属于时,存在概率至少为 \(2/3\) 的 Prover;在不属于时,所有 Prover 概率都不超过 \(1/3\)。前者可以被加强到 \(1\)(依赖 IP = PSPACE 的证明),后者不能被加强到 \(0\)(否则任意接受 dialogue 都是 witness)。

GNI 属于 IP,因为 V 可以随机重排一个交给 P,让 P 判断是哪个。不同构则总是成功,同构则概率为严格的 \(1/2\)

#P ⊆ IP:使用 polynomial method。把 SAT 计数转成多项式点值,

IP = PSPACE:对 TQBF 算术化。

决策树

决策树复杂度:以某种确定顺序查看输入的某一位并进入左右儿子,叶节点值是答案。函数的决策树复杂度 \(D(f)\) 是决策树的最小深度(检查的位数)。

证书复杂度:一个点 \(x\)\(0\)-证书是所有在该集合上与 \(x\) 相等的元素 \(x'\) 都有 \(f(x')=0\)\(1\)-证书同理。证书复杂度 \(C(f)\) 是所有点的最小证书的最大值。

所有 \(0\)-证书必然与所有 \(1\)-证书有交。于是检查任意 \(0\)-证书后,所有 \(1\)-证书的大小均减少 \(1\),所以有 \(C(f)\leq D(f)\leq C(f)^2\)

电路

P/poly:多项式规模电路。使用计算历史,时间为 \(f(n)\) 的 TM 可以在 \(f(n)\times f(n)\) 的格局表上表出,所以 P ⊆ P/poly。

UHALT ∈ P/poly,因为可以 hardcode 停机信息。

P = L-一致-P/poly,因为计算历史格局表显然是 L-一致的,而 L 的生成器可以用 P 模拟。

P/poly = U TIME(\(n^c\))/\(n^c\)

K-L:若 NP ⊆ P/poly,则 Π2 = Σ2。因为 Π2\(\forall\exists\)\(\exists\) 及其中内容是 NP 问题,存在电路解决之,于是可以把内层的存在解移至外层的存在电路。

高复杂性(\(\Omega(2^n/n)\) 规模)的函数占 \(1-o(1)\)。因此,EXPSPACE 可以枚举困难函数、\(\boldsymbol{\mathrm{EXP^{\Sigma_2}}}\) 可以二分困难函数,都不被 P/poly 包含。当 PH 坍塌时,有 \(\boldsymbol{\mathrm{EXP^{\Sigma_2}}=\mathrm{NEXP^{NP}}}\)

NC:一致 polylog 深度。AC:一致 polylog 深度且允许任意 fan-in。

一致NC ⊆ P,因为 P 是 L-一致-P/poly。

一致NC1 ⊆ L,因为可以对数空间生成对应的电路,而因为深度是对数级别所以可以 dfs 来 evaluate 电路。

NL ⊆ 一致NC2,这是因为 PATH ∈ 一致NC2,因为可达性是矩阵的幂次,而逻辑矩阵乘法是 NC1 的,所以套一个快速幂即得 NC2

二进制加法属于 AC0

Parity ∉ AC0.

细粒度复杂性

graph LR A(min+矩乘验证) --> B(min+矩乘) C(负三角) --> A C <--> B C --> D(正权最小环) D --> B B <--> E(APSP)
graph LR A(SETH) --> B(OV) B --> C(ED) B --> D(#SSH) B --> E(3/2-直径)

杂项

Chernoff 还在追!

\[\mathbb E[X\geq(1\pm\delta)\mu]\leq\exp(-\dfrac13\delta^2\mu) \]

posted @ 2025-06-03 17:42  Troverld  阅读(50)  评论(1)    收藏  举报