Polynomial-time approximation scheme

From Wikipedia, the free encyclopedia

In computer science, a polynomial-time approximation scheme (abbreviated PTAS) is a type of approximation algorithm for optimization problems (most often, NP-hard optimization problems).

A PTAS is an algorithm which takes an instance of an optimization problem and a parameter ε>0 and, in polynomial time, produces a solution that is within a factor ε of being optimal. For example, for the Euclidean traveling salesman problem, a PTAS would produce a tour with length at most (1+ε)L, with L being the length of the shortest tour.[1]

The running time of a PTAS is required to be polynomial in n for every fixed ε but can be different for different ε. Thus, an algorithm, running in time O(n1/ε) or even O(nexp(1/ε)) counts as a PTAS.

[edit] Variants

A practical problem with PTAS algorithms is that the exponent of the polynomial could increase dramatically as ε shrinks, for example if the runtime is O(n(1/ε)!). One way of addressing this is to define the efficient polynomial-time approximation scheme or EPTAS, in which the running time is required to be O(nc) for a constant c independent of ε. This ensures that an increase in problem size has the same relative effect on runtime regardless of what ε is being used; however, the constant under the big-O can still depend on ε arbitrarily. Even more restrictive, and useful in practice, is the fully polynomial-time approximation scheme or FPTAS, which requires the algorithm to be polynomial in both the problem size n and 1/ε. All problems in FPTAS are fixed-parameter tractable.

Unless P = NP, it holds that FPTAS \subsetneq PTAS \subsetneq APX. Consequently, under this assumption, APX-hard problems do not have PTASs.

Some problems which do not have a PTAS may admit a randomized algorithm with similar properties, a polynomial-time randomized approximation scheme or PRAS. A PRAS is an algorithm which takes an instance of an optimization or counting problem and a parameter ε>0 and, in polynomial time, produces a solution that has a high probability of being within a factor ε of optimal. Conventionally, "high probability" means probability greater than 3/4, though as with most probabilistic complexity classes the definition is robust to variations in this exact value. Like a PTAS, a PRAS must have running time polynomial in n, but not necessarily in ε; with further restrictions on the running time in ε, one can define an efficient polynomial-time randomized approximation scheme or EPRAS similar to the EPTAS, and a fully polynomial-time randomized approximation scheme or FPRAS similar to the FPTAS.[2]

An important class of problems which have an FPRAS, but were thought until recently not to have a PTAS, is the class of Sharp-P-complete counting problems.[3]

The "TAS" in PTAS and its variants is pronounced "taz".[citation needed]

[edit] References

  1. ^ Sanjeev Arora, Polynomial-time Approximation Schemes for Euclidean TSP and other Geometric Problems, Journal of the ACM 45(5) 753-782, 1998
  2. ^ Vazirani, Vijay V. (2003). Approximation Algorithms. Berlin: Springer, 294-5. ISBN 3540653678. 
  3. ^ Halman, Klabjan, Li, Orlin, Simchi-Levi, Fully polynomial time approximation schemes for stochastic dynamic programs, Proceedings of the nineteenth annual ACM-SIAM symposium on Discrete algorithms, 700-709, 2008

[edit] External links

Languages