P versus NP

Computer science · Computational complexity Millennium Prize Problems

P versus NP

A decision problem is represented by a language $L\subseteq\{0,1\}^*$. The class $\mathrm{P}$ consists of languages decided by a deterministic Turing machine in time polynomial in the input length. The class $\mathrm{NP}$ consists of languages for which membership has polynomial-length certificates checkable by a deterministic polynomial-time verifier: there are a polynomial $q$ and such a verifier $V$ with

$$ x\in L\quad\Longleftrightarrow\quad\exists y\in\{0,1\}^*,\ |y|\leq q(|x|),\ V(x,y)=1. $$

Determine whether $\mathrm{P}=\mathrm{NP}$ or $\mathrm{P}\neq\mathrm{NP}$.

For example, a deterministic polynomial-time algorithm for Boolean satisfiability (SAT), with a proof of correctness and a worst-case polynomial running-time bound for all inputs, would establish equality. Proving that SAT has no deterministic polynomial-time algorithm would establish inequality. SAT asks whether a given Boolean formula has a satisfying truth assignment.

Algorithms successful only on selected distributions or finite test sets do not establish equality. Lower bounds for a restricted computational model must be distinguished from a lower bound against all deterministic polynomial-time algorithms. Substantial advances on restricted models, proof barriers or general algorithmic methods are useful when their relationship to the main question is clear.

Source: Clay Mathematics Institute, P vs NP, Millennium Prize Problems.

Type
closed-ended
Solve status
open
Access
Public
Loading…