Definition
Approximation Algorithm
An approximation algorithm is a polynomial-time algorithm for an optimisation problem that returns a feasible solution whose objective value is guaranteed to be close to the value of an optimal solution.
The guarantee is measured by an approximation ratio.
Guarantee
Let
Minimisation
For a minimisation problem, a
-approximation algorithm satisfies for every instance
, where . Smaller
is better. The ideal value is .
Maximisation
For a maximisation problem, an
-approximation algorithm satisfies for every instance
, where . Larger
is better. The ideal value is .
An approximation algorithm is therefore stronger than a heuristic. A heuristic may return good solutions on many instances, but it has no required worst-case guarantee.
Proof idea
The optimum value is usually unknown. The proof must compare the algorithm’s value with a bound on the optimum.
Minimisation
For minimisation, one proves a lower bound
on the optimum: If the algorithm’s solution also satisfies
then
Maximisation
For maximisation, one proves an upper bound
on the optimum: If the algorithm’s solution also satisfies
then
This is the main difficulty: the algorithm must be analysed against an optimum that it does not compute.
Use
Approximation algorithms are mainly used for NP-hard optimisation problems. They keep polynomial running time and arbitrary inputs, but give up exact optimality.
This is different from restricting the input class or using an exact algorithm with exponential running time.
Examples
Vertex cover
In minimum vertex cover, a maximal matching gives a simple
-approximation. Let
be a maximal matching. Every vertex cover must contain at least one endpoint of each edge in . Since the edges in are disjoint, The algorithm returns both endpoints of each matched edge, so
Thus, the algorithm is a
-approximation.
MaxSAT
In maximum satisfiability, a maximisation guarantee has the opposite direction.
If an algorithm returns an assignment satisfying at least
as many clauses as an optimal assignment, then Thus, it is a
-approximation under the maximisation convention.