Average case complexity: Levin’s theory - 0x12

NP\mathbf{NP} 是用最坏复杂性定义的:一个语言 L{0,1}L\in\{0,1\}^*, 如果存在一个 NTM, 能在多项式时间内运行完毕,接受任意 YES instance 并拒绝所有 NO instance, 那么称 LLNP\mathbf{NP} 语言. 注意我们对 NO instance 也有多项式时间的要求.

实际中我们有时候不关心最坏情况,而关心平均情况.

Distributional Problems

例1. CLIQUE={G,k:KkG}CLIQUE=\{\langle G,k\rangle:\exists K_k\subset G\} 是一个 NP\mathbf{NP}-complete 问题,可用 3SAT3SAT 或者 VERTEXCOVERVERTEXCOVER 归约.

复习一下 CLIQUECLIQUE 难于 VERTEXCOVERVERTEXCOVER:

Pf. 给定一个 instance G,k\langle G,k\rangle, 目标输出 GG 是否有大小为 kk 的顶点覆盖.

如果 GG 有一个大小为 kk 的 vertex cover, 那么这个顶点集的补集一定是独立集(否则一定有边没有被覆盖到). 反之某个独立集补集的诱导子图也一定是顶点覆盖.

所以直接把 G,nk\langle\overline{G},n-k\rangle 喂给 oracle 即可.

一个直接的问题是对于一个随机图 Gn,12\mathcal{G}_{n,\frac{1}{2}}, 给定 k(n)k(n), 询问是否有这样大小的团. Erdös 说随机图中, 极大团的大小大概率是 2logn2\log{n} 左右,也可以参考这篇 lecnote.

例2. 3SAT3SAT 问题.

例3. LPNLPN 问题.

以上启发我们定义平均复杂性的 distP\mathbf{distP}: 称一个语言和分布的组合 L,D={D1,D2,}\langle L,\mathcal{D}=\{D_1,D_2,\dots\}\rangle 属于 distP\mathbf{distP},当且仅当存在算法 AA 和多项式 pp 使得对于任意 nn,输入 xx 满足 DnD_n 分布下,时间的期望不大于 p(n)p(n).

其中 DnD_n{0,1}n\{0,1\}^n 上的某个分布.

Recall. 图灵机衡量时间复杂度的时候,必须有前提,即无论输入是什么(包括不合法输入,简而言之输入集合就是 {0,1}n\{0,1\}^n),图灵机一定 halt.

这样定义时间的期望固然合理,然而我们考虑这个定义在多项式复合下的封闭性;为何要考虑多项式复合?因为不同的图灵机模型之间一般只差一个多项式,例如 t(n)t(n) 的多纸带 TM 都有一个 t2(n)t^2(n) 的单纸带 TM.

假设一个图灵机,在全 00 输入上运行 2n2^n 步,其他运行 nn 步. 这样一来虽然原始的时间期望是 O(n)O(n), 但是平方之后就变成了 2n22n+n2=O(2n)2^{-n}2^{2n}+n^2=O(2^n). 这不好!

(实际上 18.4 中的分母 nn 可以提出来放在 CC 的右边)

distNP\mathbf{distNP} 相当于为 NP\mathbf{NP} 中的每个语言添加了一种结构,这个结构涉及到字符串集合上的某一个分布.

Q: 我们可以认为 D\mathcal{D} 和语言无关:这样一来 distNP\mathbf{distNP}NP×{D:D is P-computable}\mathbf{NP}\times\{\mathcal{D}:\mathcal{D}\text{ is }\mathbf{P}\text{-computable}\} 有一一对应?这样一来 distNP\mathbf{distNP} 只是 NP\mathbf{NP} 套了一层皮?或许之后的研究会带给我答案,略过.

Average-case Reduction

Def. We say L,DpL,D\langle L,\mathcal{D}\rangle\leq_p\langle L^\prime,\mathcal{D}^\prime\rangle, if and only if there is a polynomial-time computable function ff and polynomials p,q:NNp,q:\mathbb{N}\mapsto\mathbb{N}, such that


参考材料