Math 2.0

Computer science Computational complexity: resources and classes Example

Karp's 21 NP-complete problems

Builds on Cook–Levin theoremBoolean satisfiability problemPolynomial-time reductionCliqueVertex coverHamiltonian cycle

Example

In 1972 Richard Karp showed that 21 combinatorial decision problems are NP-complete. In his naming they are:

  1. satisfiability, 0-1 integer programming, clique, set packing, node cover, set covering, feedback node set;
  2. feedback arc set, directed Hamilton circuit, undirected Hamilton circuit, satisfiability with at most 3 literals per clause;
  3. chromatic number, clique cover, exact cover, hitting set, Steiner tree, 3-dimensional matching;
  4. knapsack, job sequencing, partition, max cut.

Each problem lies in NP, since a proposed solution can be checked in polynomial time. Hardness comes from a tree of polynomial-time reductions rooted at satisfiability, which is NP-complete by the Cook–Levin theorem.

Check of one link: clique reduces to node cover, which is vertex cover. Let GG be a graph with nn vertices and let G‾\overline{G} be its complement. A set SS of vertices is a clique in GG exactly when no edge of G‾\overline{G} has both ends in SS. That holds exactly when every edge of G‾\overline{G} has an end in the complement V∖SV \setminus S, so V∖SV \setminus S is a vertex cover of G‾\overline{G}. So GG has a clique of size kk exactly when G‾\overline{G} has a vertex cover of size n−kn - k. So the map (G,k)↦(G‾,n−k)(G, k) \mapsto (\overline{G}, n - k) is a polynomial-time reduction. Undirected Hamilton circuit is the Hamiltonian cycle problem.

Reading path

To understand this page from the ground up, read these 20 pages in order. The foundations come first.

Show the path as a graph
Each page uses the pages above it. The colour of the bar on a box shows how strong the evidence is, and the box also gives it as text. The list has the same pages.
  • no evidence level
  1. Clique concept
  2. Conjunctive normal form concept
  3. Hamiltonian cycle concept
  4. NP concept
  5. NP-completeness concept
  6. Nondeterministic Turing machine concept
  7. P concept
  8. Polynomial-time reduction concept
  9. Proposition concept
  10. Satisfiability concept
  11. Vertex cover concept
  12. Conjunction definition
  13. Disjunction definition
  14. Implication definition
  15. Negation definition
  16. Biconditional definition
  17. Propositional logic concept
  18. Boolean satisfiability problem problem
  19. Cook–Levin theorem statement
  20. Karp's 21 NP-complete problems example

Further reading

  1. Web https://en.wikipedia.org/wiki/Karp%27s_21_NP-complete_problems
About this page
TagZCG75PZ30B
URIm2://ZCG75PZ30B
Kindexample
WritingW0 stub
MSC68Q17
Instance ofNP-completeness
UsesCook–Levin theorem, Boolean satisfiability problem, Polynomial-time reduction, Clique, Vertex cover, Hamiltonian cycle
Same as
Changed3 November 2026

Markdown · JSON · Edit on GitHub

What this page needs for W1

  • an inventory row: the row of the inventory that the node accounts for (0 of 1)
  • a source with a locator (0 of 1)

The writing levels say how complete the text of a page is. They do not measure its truth.

What links here

No page links to this page yet.