Everything about NP-completeness
Complexity class
In computational complexity theory, NP-complete problems are the hardest of the problems to which solutions can be verified quickly. NP is short for "nondeterministic polynomial-time" and a problem is NP-complete when:It is a decision problem, meaning that for any input to the problem, the output is either "yes" or "no". Each input to the problem is associated with a collection of short solutions, which might or might not validly solve the input. The output is "yes" when at least one of these solutions is valid, and "no" when none of them is. The validity of each solution can be verified quickly, and a brute-force search algorithm can find a valid solution by trying all possible solutions. The problem can be used to simulate every other problem for which we can verify quickly that a solution is valid. Hence, if we could find valid solutions of some NP-complete problem quickly, we could quickly find valid solutions for every other problem in which a given solution can be easily verified. Wikipedia →
🧭 Start here: a 6-step reading path
- Read the overview: NP-completenessA 5-minute orientation
- Skim a recent paper: A spatio-temporal analysis investigating completeness and inequalities of global urban building data in OpenStreetMapInfluential work since 2022
- Pick up a classic book: The Golden TicketThe most-reprinted book on the subject
- Read the landmark paper: BUSCO: assessing genome assembly and annotation completeness with single-copy orthologsCited 13,409 times
- Go sideways: Computational complexity theoryA closely related topic
- Go sideways: P versus NP problemA closely related topic
📖 Definitions
No dictionary entry for this exact phrase.
🏆 Landmark papers (most cited)
BUSCO: assessing genome assembly and annotation completeness with single-copy orthologs
Merqury: reference-free quality, completeness, and phasing assessment for genome assemblies
Coverage‐based rarefaction and extrapolation: standardizing samples by completeness rather than size
CheckV assesses the quality and completeness of metagenome-assembled viral genomes
A Quantum Adiabatic Evolution Algorithm Applied to Random Instances of an NP-Complete Problem
Some simplified NP-complete graph problems
Minimum Magnitude of Completeness in Earthquake Catalogs: Examples from Alaska, the Western United States, and Japan
NP-complete scheduling problems
🆕 Influential since 2022
A spatio-temporal analysis investigating completeness and inequalities of global urban building data in OpenStreetMap
Atomic cluster expansion: Completeness, efficiency and stability
Completeness of reporting of clinical prediction models developed using supervised machine learning: a systematic review
Completeness, agreement, and representativeness of ethnicity recording in the United Kingdom’s Clinical Practice Research Datalink (CPRD) and linked Hospital Episode Statistics (HES)
Normalization, orthogonality, and completeness of quasinormal modes of open systems: the case of electromagnetism [Invited]
📚 Books worth reading
The Golden TicketLance Fortnow · 2013- 📕Slice functions and the method of approximationsJ. Vincent Gogan · 1990
- 📕Algorithmic complexity and communication problemsJean-Pierre Barthelemy, J-P Barthelmy · 1996
- 📕Slozhnostʹ zadachi razbieni͡ia mnozhestva nuleĭ bulevoĭ funk͡tsii na nepereseka͡iushchies͡ia podmnozhestvaK. V. Zado͡ian · 1988
Efficient checking of polynomials and proofs and the hardness of approximation problemsMadhu Sudan · 1995
Average-case complexityAndrej Bogdanov, Luca Trevisan · 2006
An NP-complete matching problemDavid A. Plaisted · 1979- 📕Linear-time algorithms for NP-complete problems restricted to partial k-treesPetra Scheffler · 1987
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
🔗 Related topics
- Computational complexity theory In theoretical computer science and mathematics, computational complexity theory focuses on classifying computational problems according to their resource…
- P versus NP problem Unsolved problem in computer science If the solution to a problem can be verified in polynomial time, must the problem be solvable in polynomial time?…
- Cook–Levin theorem In computational complexity theory, the Cook–Levin theorem, also known as Cook's theorem, states that the Boolean satisfiability problem is NP-complete…
- Polynomial-time reduction In computational complexity theory, a polynomial-time reduction is a method for solving one problem using another. One shows that if a hypothetical subroutine…
- NP (complexity) Unsolved problem in computer science 𝖯 =? 𝖭𝖯 More unsolved problems in computer science In computational complexity theory, NP (nondeterministic polynomial…
- ♯P-complete The #P-complete problems (pronounced "sharp P complete", "number P complete", or "hash P complete") form a complexity class in computational complexity…
- Complexity class In computational complexity theory, a complexity class is a set of computational problems "of related resource-based complexity". The two most commonly…
- Parameterized complexity In computer science, parameterized complexity is a branch of computational complexity theory that focuses on classifying computational problems according…