Skip to content
OpenComputer Science·1971

P vs NP

Asks whether every efficiently verifiable solution can also be efficiently found.

Formula

The question
P=?NP\mathbf{P}\stackrel{?}{=}\mathbf{NP}

Can every problem whose solution is efficiently verifiable also be efficiently solved? The central open question in theoretical CS.

Cook–Levin theorem
SATNP-completeSATP    P=NP\text{SAT}\in\mathbf{NP}\text{-complete}\quad\Longrightarrow\quad \text{SAT}\in\mathbf{P}\;\Leftrightarrow\;\mathbf{P}=\mathbf{NP}

Boolean satisfiability is NP-complete: every NP problem reduces to it in polynomial time (Cook 1971, Levin 1973).

Consequences
P=NP    one-way functions don’t exist    public-key cryptography breaks\mathbf{P}=\mathbf{NP}\;\Longrightarrow\;\text{one-way functions don't exist}\;\Longrightarrow\;\text{public-key cryptography breaks}

If P = NP, most modern cryptography collapses — factoring, discrete log, and lattice problems all become easy.

Summary

The P vs NP problem asks whether the class P of problems solvable in polynomial time equals the class NP of problems whose solutions can be verified in polynomial time. A resolution either way would have profound consequences: P = NP would imply that every search problem with efficiently checkable solutions is itself efficiently solvable, upending modern cryptography and optimization. The consensus among experts strongly favors P != NP, but three major proof barriers -- relativization (Baker-Gill-Solovay, 1975), natural proofs (Razborov-Rudich, 1994), and algebrization (Aaronson-Wigderson, 2008) -- show that any valid proof must use fundamentally new techniques.

Sources

Videos