跳到正文
The Lumenary
本科高年级Computation计划中

Computational complexity

Time and space complexity classes, P and NP, polynomial-time reductions, NP-completeness and the Cook–Levin theorem, and the status of the P versus NP problem.

math.comp.complexity-theory

本主题的课程尚未编写。下面的提纲是课程地图的一部分,尚未经过审校。

前置知识

25 项必需的前置知识(一直追溯到底)

你将学会

  • Define P and NP and place standard problems in them.
  • Prove NP-completeness of problems such as 3-SAT, vertex cover or graph 3-colouring by reductions.
  • Explain what is known and unknown about P versus NP, and why cryptography relies on unproved hardness assumptions.

定义

  • P is the class of decision problems solvable in polynomial time by a deterministic Turing machine.
  • NP is the class of decision problems whose yes-instances have certificates that can be verified in polynomial time.
  • A problem is NP-complete if it is in NP and every problem in NP reduces to it in polynomial time.

定理

  • Cook–Levin: Boolean satisfiability (SAT) is NP-complete.
  • P ⊆ NP ⊆ PSPACE ⊆ EXPTIME, and P ≠ EXPTIME by the time hierarchy theorem.
  • Whether P = NP is open; it is one of the Clay Mathematics Institute's Millennium Prize Problems.

常见误解

  • Thinking NP stands for 'not polynomial'; it stands for nondeterministic polynomial time.
  • Believing NP-complete problems cannot be solved in practice; many large instances are solved routinely.

可选发现

学习路径

延伸阅读

  • Sanjeev Arora and Boaz Barak, Computational Complexity: A Modern Approach (2009)
  • Michael Sipser, Introduction to the Theory of Computation (1996)