Skip to content
← The Scroll
Canonical · Paper

P vs NP & Computational Complexity

Stephen Cook / Leonid Levin · 1971

"Cook and Levin formalized the most important open question in computer science: if a solution can be verified quickly (NP), can it also be found quickly (P)? Most experts believe no — and that gap explains why many optimization, routing, and scheduling problems have no efficient perfect solution."

The idea

In 1971 Cook isolated a class of problems where checking an answer is easy but finding it seems hard — and proved they are all secretly the same problem. If you solve one fast, you solve them all.

Why it works

P = problems solvable quickly; NP = problems verifiable quickly. Cook's theorem shows SAT is NP-complete — any NP problem can be efficiently reduced to it — so an efficient SAT solver would collapse the classes. Practically, traveling salesman, protein folding, and crew scheduling are NP-hard: we use heuristics and approximation because perfect solutions scale exponentially. The business analog: 'find the optimal plan' is often formally intractable, so the meta-skill is knowing when to satisfice rather than optimize.

The takeaway — recall it first
Check your understanding

What is the practical consequence if P were proven equal to NP?

Further reading

Read more about the topic

The explanation above is written with AI assistance. These are the originals — go to them to check it.

  • The P versus NP Problem (Cook 1971, Levin 1973) overviewWikipedia
Up NextSuggested: Continues the theme of Logic & Mathematics

Turing Machines & the Halting Problem

"Turing proved that no general algorithm can decide in advance whether an arbitrary program will ever halt — some questions are not just hard, they are uncomputable, which sets a hard limit on what automation can ever guarantee."

Alan Turing · PaperContinue→
Listen
0 / 6