Advanced Topic 43 of 51 Theory & Discrete Math
Approximation and Inapproximability
Limits on how closely hard problems can be approximated.
How it works
Approximation theory studies how well NP-hard optimization problems can be solved in polynomial time. An alpha-approximation algorithm guarantees a solution within a factor alpha of optimal. Some problems have polynomial-time approximation schemes, achieving any factor 1 plus epsilon, such as Euclidean traveling salesman; others have constant-factor algorithms, like 2-approximation for vertex cover; and some cannot be approximated within certain factors unless P equals NP, such as general clique and set cover below a logarithmic factor. The PCP theorem underlies many inapproximability proofs through gap reductions.
Step-by-step walkthrough
- For many hard problems exact solutions are intractable.
- Approximation algorithms give guarantees, such as within a factor of 2.
- Some problems cannot be approximated well unless P equals NP.
- The PCP theorem proves such gaps.
- The knowledge shows when to stop trying for better.
Where it is used
Logistics, network design, scheduling and clustering use approximation algorithms with proven guarantees when exact solutions are infeasible.
Common pitfall
Worst-case ratios may be pessimistic, and heuristics often do better on real data. Hardness of approximation results show certain ratios are impossible unless complexity assumptions fail. Distinguish minimization from maximization conventions, where ratios are above or below one. Understand which approximation class a problem falls in before investing in algorithm design.
Where it fits in the course
Approximation and Inapproximability is topic 43 of 51 in Theory & Discrete Math, rated Advanced. It follows Randomized Complexity. The next topic is Parameterized Complexity.
Practice and explore
- Open the interactive lesson, with a mini quiz.
- Take the Theory & Discrete Math quiz.
How to study this topic
- Read the explanation above and restate the definition in your own words.
- Open the interactive lesson and answer its mini quiz.
- Read the common pitfall, then write a short example that avoids it.
- Check your understanding in the Theory & Discrete Math quiz, and revisit the topic if you miss a question.
Frequently asked questions
What is Approximation and Inapproximability?
Where do people use Approximation and Inapproximability?
What is the most common mistake with Approximation and Inapproximability?
What should I learn before this topic?
How can I practice it?
Is Approximation and Inapproximability hard to learn?
How long does it take to learn Approximation and Inapproximability?
Which topics are related to Approximation and Inapproximability?
What should I study after Approximation and Inapproximability?
Related topics
- Randomized Complexity (Theory & Discrete Math)
- Parameterized Complexity (Theory & Discrete Math)
- Space Complexity Classes (Theory & Discrete Math)
- Lambda Calculus (Theory & Discrete Math)
- Approximation Algorithms (Algorithms)