A topic in the Open Knowledge Graph — a free, open map of 15,290 topics and the order to learn them in.

Reductions for Proving NP-Completeness

College Depth 94 in the knowledge graph I know this Set as goal
5topics build on this
548prerequisites beneath it
See this on the map →
NP-CompletenessPolynomial-Time Reductions+1 moreApproximation Algorithms and Hardness of ApproximationMany-One and Turing Reducibility+1 more
reductions NP-completeness proof-techniques

Core Idea

To prove a problem L is NP-complete, show L ∈ NP and reduce a known NP-complete problem to L in polynomial time. Standard reduction templates (clique to independent set, 3-SAT to Hamiltonian path) encode one computational structure into another, allowing hardness to propagate. This technique has identified thousands of NP-complete problems across computer science.

Explainer

From your study of NP-completeness and polynomial-time reductions, you know that a reduction from problem A to problem B means: if you can solve B efficiently, you can solve A efficiently. Equivalently, if A is hard, then B is hard — hardness flows in the direction of the reduction arrow. This asymmetry is the engine of NP-completeness proofs, and understanding it precisely is the prerequisite for reading or constructing these proofs correctly.

The proof structure is always two steps. First, show that your target problem L belongs to NP — that is, given a proposed solution, you can verify it in polynomial time. For most combinatorial problems this is easy: a proposed graph coloring can be checked in linear time, a proposed Hamiltonian cycle can be verified by tracing the path, a proposed variable assignment can be checked by evaluating each clause. Second, pick a known NP-complete problem (the source) and give a polynomial-time many-one reduction from it to L. This reduction is a function f that transforms every instance x of the source problem into an instance f(x) of L, such that x is a YES-instance if and only if f(x) is a YES-instance. If you can build this function in polynomial time, then solving L would let you solve the source problem — so L must be at least as hard.

The art of reduction is choosing what to reduce *from*. 3-SAT is the most common source because its clause structure maps cleanly onto many combinatorial problems. The classic 3-SAT → Clique reduction works like this: for a formula with k clauses, build a graph where each clause contributes three nodes (one per literal), and add an edge between two nodes from different clauses whenever their literals are non-contradictory (i.e., they could both be set true simultaneously). A satisfying assignment picks one true literal per clause, giving a k-clique; conversely, any k-clique identifies a consistent assignment satisfying all k clauses. The formula is satisfiable if and only if the graph has a k-clique.

What makes this technique powerful is that the reduction does *structural translation*: the combinatorial structure of clauses and literals maps directly onto the graph structure of nodes and edges. The best reductions are not arbitrary encodings — they reveal a genuine structural similarity between problems. When you see a new NP-completeness proof, ask: which feature of the source problem maps to which feature of the target? Once you see it clearly, the polynomial-time bound is usually straightforward, and the correctness argument follows from the structural correspondence. With practice, you begin to recognize reduction templates — partition-style reductions, gadget constructions, truth-setting variables — that recur across problems and can be adapted rather than invented from scratch.

Practice Questions 5 questions

Prerequisite Chain

Understanding ZeroThe Number ZeroCounting to FiveCounting to 10Counting to 20Counting a Set of Objects Up to 20Cardinality: The Last Number CountedMatching Numerals to QuantitiesSubitizing Small QuantitiesAddition Within 10Number Bonds to 10Addition Within 20Doubles and Near DoublesDoubles Facts Within 10Near Doubles Facts Within 20Mental Math Strategies for AdditionMental Math: Adding and Subtracting TensAddition Within 100Repeated Addition as MultiplicationMultiplication as Equal GroupsMultiplication: ArraysBasic Multiplication Facts (0s, 1s, 2s, 5s, 10s)Multiplication Facts Within 100Division as Equal SharingDivision as Grouping (Measurement Division)Division: Grouping (Repeated Subtraction) ModelDivision: Fair Sharing ModelDivision as Equal SharingDivision as GroupingBasic Division FactsDivision Facts Within 100Multiplication and Division Fact FamiliesRelationship Between Multiplication and DivisionDivision Facts as Inverse of MultiplicationRemainders and Quotients in DivisionDivision Word ProblemsMulti-Step Word ProblemsSolving Multi-Step Word ProblemsMultiplication Word ProblemsDivision Word ProblemsIntroduction to Long DivisionFactors and MultiplesPrime and Composite NumbersEquivalent FractionsRelating Fractions and DecimalsDecimal Place ValueIntegers and the Number LineComparing and Ordering IntegersAbsolute ValueAdding IntegersSubtracting IntegersMultiplying IntegersIntroduction to ExponentsOrder of OperationsInteger Order of OperationsVariable ExpressionsThe Distributive PropertyVariables and Expressions ReviewIntroduction to PolynomialsAdding and Subtracting PolynomialsMultiplying PolynomialsFactorialPermutationsCombinationsCounting Principles: Addition and Multiplication RulesIntroduction to Graph TheoryPropositional Logic FoundationsLogical EquivalencesBoolean AlgebraIntroduction to Propositional LogicIntroduction to Predicate Logic (First-Order Logic)First-Order Logic SyntaxZFC Axioms OverviewAxiom Schema of SeparationAxiom Schema of ReplacementVon Neumann OrdinalsHereditarily Finite SetsRecursive Definitions on Finite SetsWell-Founded Relations and Transfinite RecursionThe Axiom of Choice and Equivalent FormulationsAxiom of ChoiceWell-Ordering TheoremInfinite Cardinal NumbersCantor's TheoremUncountability and the Diagonal ArgumentThe Cantor Set: An Uncountable Nowhere Dense ExampleUncountable Sets and Cantor DiagonalizationThe Halting ProblemComputability ReductionsPolynomial-Time ReductionsLower Bounds Techniques in Computational ComplexityNP-CompletenessThe Cook-Levin TheoremBoolean Satisfiability and Standard NP-Complete ProblemsReductions for Proving NP-Completeness

Longest path: 95 steps · 548 total prerequisite topics

Prerequisites (3)

Leads To (3)