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

Computability Reductions

College Depth 88 in the knowledge graph ☐ I know this ☆ Set as goal
55topics build on this
514prerequisites beneath it
See this on the map →
Turing MachinesInjective, Surjective, and Bijective Functions+1 more→→Kleene's Recursion Theorem and Self-ReferenceMany-One Reducibility in Computability+8 more
reductions undecidability computability many-one-reducibility

Core Idea

A many-one reduction from problem A to problem B is a computable function f such that x ∈ A if and only if f(x) ∈ B. If such a reduction exists, B is 'at least as hard' as A: any algorithm for B can be used to solve A. Reductions are the primary tool for proving undecidability — to show a new problem is undecidable, reduce the halting problem to it. Turing reductions (oracle reductions) are more general and allow multiple adaptive queries, measuring relative computability rather than mere hardness.

How It's Best Learned

Practice constructing explicit reduction functions on concrete problem pairs. A useful exercise: show that the acceptance problem (does TM M accept input w?) reduces to the halting problem and vice versa, establishing their Turing equivalence.

Common Misconceptions

Explainer

Reductions are the fundamental tool for comparing the difficulty of computational problems. The core idea is simple: if you can transform any instance of problem A into an instance of problem B in a systematic, computable way, then B is 'at least as hard' as A. Anything that solves B can be repurposed to solve A — just run the transformation first, then apply B's solver. This lets you build a hierarchy of problems by hardness without having to analyze each problem from scratch.

A many-one reduction from A to B is a computable function f such that for every input x, x belongs to A if and only if f(x) belongs to B. The notation A ≤m B (read 'A many-one reduces to B') captures this: the subscript m stands for 'many-one' because many inputs to A might map to the same input to B. The reduction must be computable — you cannot use any magic oracle to build f itself — but it does not need to be efficient in the complexity-theoretic sense.

The most important application of reductions is proving undecidability. You already know the Halting Problem is undecidable. To show a new problem B is also undecidable, you construct a reduction from Halting to B: a computable f where (M, w) halts iff f(M, w) ∈ B. Now suppose, for contradiction, B were decidable. Then you could decide Halting by first applying f, then running B's decision procedure — contradicting the known undecidability of Halting. Pay close attention to the direction: you reduce the *known-hard* problem to the *new* problem, not the other way around.

Turing reductions (also called oracle reductions) generalize many-one reductions. Instead of transforming the input once and submitting a single query, a Turing reduction may make multiple adaptive queries to a B-oracle — where each query can depend on the answers to previous ones. This makes Turing reductions strictly more powerful: some problems are Turing-equivalent to the Halting Problem but not many-one equivalent. The acceptance problem (does M accept w?) and the Halting Problem are many-one equivalent to each other, which is why they are often treated as interchangeable in practice.

Reductions do not stop at computability — they extend directly into complexity theory. Polynomial-time many-one reductions (where f must run in polynomial time) are the backbone of NP-completeness theory. When you study NP-completeness, you will see the same pattern: to show a new problem is NP-hard, reduce a known NP-hard problem to it in polynomial time. The logical structure is identical to what you learned here; only the resource bound on f changes.

Practice Questions 3 questions

Prerequisite Chain

Understanding Zero → The Number Zero → Counting to Five → Counting to 10 → Counting to 20 → Counting a Set of Objects Up to 20 → Cardinality: The Last Number Counted → Matching Numerals to Quantities → Subitizing Small Quantities → Addition Within 10 → Number Bonds to 10 → Addition Within 20 → Doubles and Near Doubles → Doubles Facts Within 10 → Near Doubles Facts Within 20 → Mental Math Strategies for Addition → Mental Math: Adding and Subtracting Tens → Addition Within 100 → Repeated Addition as Multiplication → Multiplication as Equal Groups → Multiplication: Arrays → Basic Multiplication Facts (0s, 1s, 2s, 5s, 10s) → Multiplication Facts Within 100 → Division as Equal Sharing → Division as Grouping (Measurement Division) → Division: Grouping (Repeated Subtraction) Model → Division: Fair Sharing Model → Division as Equal Sharing → Division as Grouping → Basic Division Facts → Division Facts Within 100 → Multiplication and Division Fact Families → Relationship Between Multiplication and Division → Division Facts as Inverse of Multiplication → Remainders and Quotients in Division → Division Word Problems → Multi-Step Word Problems → Solving Multi-Step Word Problems → Multiplication Word Problems → Division Word Problems → Introduction to Long Division → Factors and Multiples → Prime and Composite Numbers → Equivalent Fractions → Relating Fractions and Decimals → Decimal Place Value → Integers and the Number Line → Comparing and Ordering Integers → Absolute Value → Adding Integers → Subtracting Integers → Multiplying Integers → Introduction to Exponents → Order of Operations → Integer Order of Operations → Variable Expressions → The Distributive Property → Variables and Expressions Review → Introduction to Polynomials → Adding and Subtracting Polynomials → Multiplying Polynomials → Factorial → Permutations → Combinations → Counting Principles: Addition and Multiplication Rules → Introduction to Graph Theory → Propositional Logic Foundations → Logical Equivalences → Boolean Algebra → Introduction to Propositional Logic → Introduction to Predicate Logic (First-Order Logic) → First-Order Logic Syntax → ZFC Axioms Overview → Axiom Schema of Separation → Axiom Schema of Replacement → Von Neumann Ordinals → Hereditarily Finite Sets → Recursive Definitions on Finite Sets → Well-Founded Relations and Transfinite Recursion → The Axiom of Choice and Equivalent Formulations → Axiom of Choice → Well-Ordering Theorem → Infinite Cardinal Numbers → Cantor's Theorem → Uncountability and the Diagonal Argument → The Cantor Set: An Uncountable Nowhere Dense Example → Uncountable Sets and Cantor Diagonalization → The Halting Problem → Computability Reductions

Longest path: 89 steps · 514 total prerequisite topics

Prerequisites (3)

Leads To (10)