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 moreHardness 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 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-CompletenessApproximation Algorithms and Hardness of Approximation

Longest path: 96 steps · 551 total prerequisite topics

Prerequisites (3)

Leads To (2)