Definition
Approximation Scheme
Let be an optimisation problem with objective function .
An algorithm is an approximation scheme for if, on each input where is an instance of and is an error parameter, it returns a feasible solution such that:
Minimisation is a minimisation problem, then
Maximisation is a maximisation problem, then
For every fixed , the approximation ratio can be made arbitrarily close to .
Intuition
What changes with
A factor-delta approximation algorithm gives one fixed guarantee: for every input, it returns a solution within the stated factor of optimum.
An approximation scheme is different. It takes an error parameter as part of the input. The algorithm then adapts its behaviour to that requested accuracy.
So the scheme does not say only that “this algorithm is approximately good”. It says: if I ask for a smaller error, I should get a better approximation, usually at the cost of a slower running time.
In short, a factor- approximation algorithm is about a guarantee, while an approximation scheme is about a tunable method for trading time against accuracy.
Allowed Error
The parameter controls the allowed error.
- Smaller means a better approximation.
- Larger allows a weaker guarantee.
The definition itself does not restrict the running time. That is done by stronger notions such as PTAS, EPTAS, and FPTAS.
Hierarchy
The main approximation-scheme classes form the chain:
FPTAS EPTAS PTAS approximation scheme
Polynomial-time
Definition
Link to originalPolynomial-time Approximation Scheme
An approximation scheme is a polynomial-time approximation scheme if, for every fixed constant , the running time of is polynomial in the input size .
Equivalently,
for some function that depends only on .
Efficient Polynomial-time
Definition
Link to originalEfficient Polynomial-time Approximation Scheme
An approximation scheme is called an efficient polynomial-time approximation scheme if its running time has the form
for some function that depends only on .
Equivalently, an EPTAS is a PTAS whose polynomial degree in does not depend on .
Fully Polynomial-time
Definition
Link to originalFully Polynomial-time Approximation Scheme
An approximation scheme is called a fully polynomial-time approximation scheme if its running time is polynomial in both the input size and , i.e.:
Equivalently, an FPTAS is a PTAS whose dependence on the error parameter is also polynomial.