Skip to content

计算理论

计算理论研究算法的能力与限制。可计算性判断是否存在对所有输入都正确终止的算法;复杂度理论在算法存在的前提下,研究时间、空间、通信和查询等资源需求。

问题的编码、计算模型和资源计数方式都是结论的一部分。例如,比较排序的 Ω(nlogn)\Omega(n\log n) 下界只约束比较模型;SAT 的 NP 完备性说明其多项式时间算法会导致 P=NP\mathsf P=\mathsf{NP},并未证明 SAT 需要指数时间。

目录

  1. 计算问题与编码
  2. 计算模型
  3. 模拟、归约与完备性
  4. 可计算性与不可判定性
  5. 时间、空间与层次
  6. 电路与非一致计算
  7. P、NP 与完备问题
  8. 搜索、计数与证明
  9. 随机化与平均复杂度
  10. 通信复杂度
  11. 查询复杂度
  12. 量子计算
  13. 计算下界与证明障碍

预备知识与记号

需要集合、逻辑、渐进复杂度、基础概率及基本算法知识;电路与量子部分还涉及线性代数。

字母表 Σ\Sigma 是有限集合,Σ\Sigma^* 表示所有有限字符串。输入 xx 的编码长度记为 x|x|,判定语言记为 LΣL\subseteq\Sigma^*。例如二进制整数 NN 的输入长度为 Θ(logN)\Theta(\log N),执行 NN 步对其输入长度而言是指数时间。

复杂度类用 P\mathsf PNP\mathsf{NP} 等符号表示。非一致电路按输入长度分别选取;一致模型则要求存在统一算法生成相应对象。随机算法的概率默认针对固定输入上的内部随机位,输入分布会另行说明。

参考资料

  • Michael Sipser, Introduction to the Theory of Computation
  • Sanjeev Arora and Boaz Barak, Computational Complexity: A Modern Approach
  • Oded Goldreich, Computational Complexity: A Conceptual Perspective
  • Stasys Jukna, Boolean Function Complexity
  • E. Kushilevitz and N. Nisan, Communication Complexity
  • Ronald de Wolf, Quantum Computing: Lecture Notes

上次更新: