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

Approximation Algorithms and Hardness of Approximation

Graduate Depth 95 in the knowledge graph ☐ I know this ☆ Set as goal
2topics build on this
551prerequisites beneath it
See this on the map →
Approximation AlgorithmsNP-Completeness+1 more→→Hardness of Approximation IntroductionInapproximability and the PCP Theorem
approximation hardness inapproximability

Core Idea

For NP-hard optimization problems, approximation algorithms find near-optimal solutions efficiently. Hardness of approximation results (assuming P ≠ NP) establish how close to optimal approximation is possible. For instance, unless P = NP, no polynomial-time c-approximation exists for some problems at certain thresholds, creating a landscape of computational difficulty ranging from exact to barely-approximable.

Explainer

You already know from NP-completeness that problems like Traveling Salesman and Vertex Cover likely have no polynomial-time exact algorithms. But NP-hardness doesn't end the story—it motivates a new question: if we can't solve these problems exactly, how close can we get? An approximation algorithm returns a solution whose objective value is within a ratio ρ of optimal (ρ ≥ 1 for minimization, ρ ≤ 1 for maximization). Your earlier study of approximation algorithms gave you examples: the 2-approximation for Vertex Cover, the (1 - 1/e)-approximation for Set Cover. Hardness of approximation asks: can we do better, or is even a good approximation NP-hard?

The key tool is the PCP Theorem (Probabilistically Checkable Proofs), which fundamentally reframes NP. Every NP language has proofs that can be verified by reading only a constant number of random bits, yet still detecting errors with constant probability. This probabilistic characterization implies surprising inapproximability: for Max-3SAT, no polynomial-time algorithm can exceed a 7/8-approximation unless P = NP—and a simple random assignment already achieves exactly 7/8. This is a *tight* result: the algorithm is provably optimal up to the NP conjecture.

Different NP-hard optimization problems inhabit different regions of the approximability landscape. Some admit a PTAS (polynomial-time approximation scheme)—for any fixed ε > 0, a (1+ε)-approximation runs in polynomial time; Euclidean TSP is an example. Others allow constant-factor approximations but no PTAS—general Metric TSP has a classical 1.5-approximation (Christofides) but no PTAS under standard assumptions. Still others resist any constant-factor approximation: the clique problem cannot be approximated within n1-ε in polynomial time unless P = NP. This mirrors the hierarchy of NP-hardness but with finer resolution.

Gap-introducing reductions are the technical engine. Rather than reducing exact decision problems (as in standard NP-completeness), you reduce to problems with a large *gap* between YES instances and NO instances, showing that distinguishing "optimal ≤ α·OPT" from "optimal ≥ β·OPT" is itself NP-hard. This framework extends the reductions you learned for NP-completeness into a richer setting: instead of asking "is an exact solution computable in polynomial time?", you ask "within what precision can the optimal value be estimated efficiently?" The inapproximability results that emerge are conditional theorems—they hold assuming P ≠ NP—but they are among the sharpest statements complexity theory can make about the inherent cost of optimization.

Practice Questions 5 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 → Polynomial-Time Reductions → Lower Bounds Techniques in Computational Complexity → NP-Completeness → The Cook-Levin Theorem → Boolean Satisfiability and Standard NP-Complete Problems → Reductions for Proving NP-Completeness → Approximation Algorithms and Hardness of Approximation

Longest path: 96 steps · 551 total prerequisite topics

Prerequisites (3)

Leads To (2)