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

Inapproximability and the PCP Theorem

Graduate Depth 96 in the knowledge graph ☐ I know this ☆ Set as goal
552prerequisites beneath it
See this on the map →
Approximation AlgorithmsNP-Completeness+1 more→
approximation hardness pcp

Core Idea

The PCP (Probabilistically Checkable Proofs) theorem equates NP with a class of languages having efficiently verifiable proofs checkable by reading only a constant number of random bits. This has powerful consequences: unless P=NP, many optimization problems admit no polynomial-time approximation schemes, establishing tight inapproximability bounds for TSP, set cover, and other classic problems.

Explainer

From your study of approximation algorithms, you know that when a problem is NP-hard, practitioners often settle for a solution guaranteed to be within a factor of the optimum. A natural question arises: how good can this guarantee get? Can we always get within 1.01× of optimal if we allow polynomial time? The answer, for many problems, is definitively no — and the reason is the PCP theorem.

PCP stands for Probabilistically Checkable Proof. Classically, an NP proof is a certificate you read in full to verify correctness. A PCP proof is a redundantly encoded proof where a randomized verifier can check validity by reading only a *constant* number of bits — say, 3 — chosen using a logarithmic number of random coins. Despite reading almost nothing, the verifier catches any fake proof with constant probability (say, at least ½). The PCP theorem says NP equals exactly the class of languages with such proofs: NP = PCP(log n, O(1)). This is one of the most surprising equalities in complexity theory.

The bridge to inapproximability runs through a problem called Max-3SAT: given a 3-CNF formula, find an assignment satisfying the maximum number of clauses. The reduction from NP problems to Max-3SAT, combined with PCP, shows that if you could distinguish "all clauses satisfiable" from "at most 7/8 + ε satisfiable" in polynomial time, you could solve NP in polynomial time. This establishes a hardness-of-approximation threshold: no polynomial-time algorithm can do better than roughly 7/8 of optimal for Max-3SAT unless P=NP.

From this anchor, a web of reductions creates inapproximability results for dozens of problems. Set cover admits no (1 − ε) ln n approximation for any ε > 0 unless P=NP. Vertex cover has a threshold near 1.36. TSP with triangle inequality can be approximated to 3/2 (Christofides), but without the triangle inequality, no constant factor is possible unless P=NP. Each such result is proven by a gap-preserving reduction: a polynomial-time transformation that converts a hard Max-3SAT instance into an optimization instance while maintaining the gap between "good" and "not good."

The key conceptual shift PCP demands is this: approximation is not a way to escape hardness — it *is* hardness, measured at a finer scale. The question is no longer "can we solve this?" but "at what approximation ratio does the problem become tractable?" This transforms approximation algorithms from a practical workaround into a precise theoretical domain, with tight upper and lower bounds meeting at provable thresholds.

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 → Inapproximability and the PCP Theorem

Longest path: 97 steps · 552 total prerequisite topics

Prerequisites (3)

Leads To (0)

No topics depend on this one yet.