Everything about Approximation algorithm
Class of algorithms that find approximate solutions to optimization problems
In computer science and operations research, approximation algorithms are efficient algorithms that find approximate solutions to optimization problems with provable guarantees on the distance of the returned solution to the optimal one. Approximation algorithms naturally arise in the field of theoretical computer science as a consequence of the widely believed P ≠ NP conjecture. Under this conjecture, a wide class of optimization problems cannot be solved exactly in polynomial time. The field of approximation algorithms, therefore, tries to understand how closely it is possible to approximate optimal solutions to such problems in polynomial time. In an overwhelming majority of the cases, the guarantee of such algorithms is a multiplicative one expressed as an approximation ratio or approximation factor i.e., the optimal solution is always guaranteed to be within a (predetermined) multiplicative factor of the returned solution. However, there are also many approximation algorithms that provide an additive guarantee on the quality of the returned solution. An example of an approximation algorithm with a multiplicative guarantee is the Christofides-Serdyukov algorithm for the Travelling salesman problem. It provides a travelling salesman tour in a metric of length at most 3/2 times that of a shortest such tour. A classic example of approximation algorithm providing an additive guarantee is the constructive proof of Vizing’s theorem. It shows how to color the edges of an undirected graph with at most colors, where is the maximum degree of any node. Since every edge incident on a maximum-degree node must have a different color, the constructive proof of the theorem gives a polynomial-time algorithm that uses at most one additional color than the minimum needed. A notable example of an approximation algorithm that provides both is the classic approximation algorithm of Lenstra, Shmoys and Tardos for scheduling on unrelated parallel machines. Wikipedia →
🧭 Start here: a 6-step reading path
- Read the overview: Approximation algorithmA 5-minute orientation
- Skim a recent paper: A review on Quantum Approximate Optimization Algorithm and its variantsInfluential work since 2022
- Pick up a classic book: Approximation, Randomization, and Combinatorial Optimization. Algorithms and TechniquesThe most-reprinted book on the subject
- Read the landmark paper: The AAA Algorithm for Rational ApproximationCited 453 times
- Go sideways: Semidefinite programmingA closely related topic
- Go sideways: Differential evolutionA closely related topic
📖 Definitions
Noun A method of finding a nearly optimal solution to an optimization problem that cannot be solved exactly within a reasonable time.
🏆 Landmark papers (most cited)
The AAA Algorithm for Rational Approximation
An Approximation Algorithm for Nonholonomic Systems
A Stochastic Approximation Algorithm with Varying Bounds
A Scaled Stochastic Approximation Algorithm
A -approximation algorithm for metric Max TSP
A fast piecewise linear approximation algorithm
APPROXIMATION ALGORITHM FOR MULTIPLE-TOOL MILLING
Approximation algorithm for maximum edge coloring
🆕 Influential since 2022
A review on Quantum Approximate Optimization Algorithm and its variants
Algorithm Design and Approximation Analysis on Distributed Robust Game
A performance approximation assisted expensive many-objective evolutionary algorithm
A new 1.375-approximation algorithm for sorting by transpositions
An Approximation Algorithm for Random Generation of Capacities
📚 Books worth reading
Approximation, Randomization, and Combinatorial Optimization. Algorithms and TechniquesPrasad Raghavendra, Sofya Raskhodnikova · 2003
Approximate Iterative AlgorithmsAnthony Louis Almudevar · 2014
The Design of Approximation AlgorithmsDavid P. Williamson, David B. Shmoys · 2011
Convex Analysis and Monotone Operator Theory in Hilbert SpacesHeinz H. Bauschke · 2011- 📕Fuzzy Analytic Hierarchy ProcessAli Emrouznejad, William Ho · 2017
Stochastic Algorithms: Foundations and ApplicationsKathleen Steinhöfel · 2002- 📕Solving upwind-biased discretizations IIBoris Diskin · 1999
Mixed integer nonlinear programmingJon . Lee, Sven Leyffer · 2011
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
🔗 Related topics
- Semidefinite programming Semidefinite programming (SDP) is a subfield of mathematical programming concerned with the optimization of a linear objective function (a user-specified…
- Differential evolution Differential evolution (DE) is an evolutionary algorithm to optimize a problem by iteratively trying to improve a candidate solution with regard to a given…
- L-reduction In computer science, particularly the study of approximation algorithms, an L-reduction ("linear reduction") is a transformation of optimization problems…
- Set cover problem The set cover problem is a classical question in combinatorics, computer science, operations research, and complexity theory. Given a set of elements {1…
- Unique games conjecture In computational complexity theory, the unique games conjecture (often referred to as UGC) is a conjecture made by Subhash Khot in 2002, that it is NP-hard…
- Maximum coverage problem The maximum coverage problem is a classical question in computer science, computational complexity theory, and operations research. It is a problem that…
- Quantum optimization algorithms Quantum optimization algorithms are quantum algorithms that are used to solve optimization problems. Mathematical optimization deals with finding the best…
- Coreset In computational geometry and approximation algorithms, a coreset is a small, possibly weighted subset of an input point set that approximately preserves…