Polynomial-time approximation scheme

From Free net 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 produces a solution of an optimization problem that is within ε factor of being optimal. For example, for traveling salesman problem, a PTAS would produce a tour with length at most (1+ε)L, with L being the length of the shortest tour.

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

The 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 was 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 <math>\subsetneq</math> PTAS <math>\subsetneq</math> APX. Consequently, under this assumption, APX-hard problems do not have PTASs.

The "TAS" in PTAS and its variants is pronounced "taz".

External links

pl:W pełni wielomianowy schemat aproksymacji