In
computer science
Computer science is the study of computation, information, and automation. Computer science spans Theoretical computer science, theoretical disciplines (such as algorithms, theory of computation, and information theory) to Applied science, ...
(particularly
algorithmics), a polynomial-time approximation scheme (PTAS) is a type of
approximation algorithm
In computer science and operations research, approximation algorithms are efficient algorithms that find approximate solutions to optimization problems (in particular NP-hard problems) with provable guarantees on the distance of the returned sol ...
for
optimization problem
In mathematics, engineering, computer science and economics
Economics () is a behavioral science that studies the Production (economics), production, distribution (economics), distribution, and Consumption (economics), consumption of goo ...
s (most often,
NP-hard
In computational complexity theory, a computational problem ''H'' is called NP-hard if, for every problem ''L'' which can be solved in non-deterministic polynomial-time, there is a polynomial-time reduction from ''L'' to ''H''. That is, assumi ...
optimization problems).
A PTAS is an algorithm which takes an instance of an optimization problem and a parameter and produces a solution that is within a factor of being optimal (or for maximization problems). For example, for the Euclidean
traveling salesman problem
In the theory of computational complexity, the travelling salesman problem (TSP) asks the following question: "Given a list of cities and the distances between each pair of cities, what is the shortest possible route that visits each city exac ...
, a PTAS would produce a tour with length at most , with being the length of the shortest tour.
[ Sanjeev Arora, Polynomial-time Approximation Schemes for Euclidean TSP and other Geometric Problems, Journal of the ACM 45(5) 753–782, 1998.]
The running time of a PTAS is required to be polynomial in the problem size for every fixed ε, but can be different for different ε. Thus an algorithm running in time or even counts as a PTAS.
Variants
Deterministic
A practical problem with PTAS algorithms is that the exponent of the polynomial could increase dramatically as ε shrinks, for example if the runtime is . 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 for a constant 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. In other words, an EPTAS runs in
FPT time where the parameter is ε.
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 and .
Unless
P = NP, it holds that .
[. See discussion following Definition 1.30 o]
p. 20
Consequently, under this assumption,
APX-hard problems do not have PTASs.
Another deterministic variant of the PTAS is the
quasi-polynomial-time approximation scheme or QPTAS. A QPTAS has
time complexity
In theoretical computer science, the time complexity is the computational complexity that describes the amount of computer time it takes to run an algorithm. Time complexity is commonly estimated by counting the number of elementary operations ...
for each fixed . Furthermore, a PTAS can run in
FPT time for some parameterization of the problem, which leads to a
parameterized approximation scheme.
Randomized
Some problems which do not have a PTAS may admit a
randomized algorithm
A randomized algorithm is an algorithm that employs a degree of randomness as part of its logic or procedure. The algorithm typically uses uniformly random bits as an auxiliary input to guide its behavior, in the hope of achieving good performan ...
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 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 (the bare minimum requirement is generally greater than 1/2). Like a PTAS, a PRAS must have running time polynomial in , 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.
As a complexity class
The term PTAS may also be used to refer to the class of optimization problems that have a PTAS. PTAS is a subset of
APX, and unless
P = NP, it is a strict subset.
Membership in PTAS can be shown using a
PTAS reduction In computational complexity theory, a PTAS reduction is an approximation-preserving reduction that is often used to perform reductions between solutions to optimization problems. It preserves the property that a problem has a polynomial time approxi ...
,
L-reduction In computer science, particularly the study of approximation algorithms, an
L-reduction ("''linear reduction''") is a transformation of optimization problems which linearly preserves approximability features; it is one type of approximation-preserv ...
, or
P-reduction, all of which preserve PTAS membership, and these may also be used to demonstrate PTAS-completeness. On the other hand, showing non-membership in PTAS (namely, the nonexistence of a PTAS), may be done by showing that the problem is APX-hard, after which the existence of a PTAS would show P = NP. APX-hardness is commonly shown via PTAS reduction or
AP-reduction.
See also
*
Parameterized approximation scheme, an approximation scheme that runs in
FPT time
References
External links
*Complexity Zoo
PTASEPTAS
*Pierluigi Crescenzi, Viggo Kann, Magnús Halldórsson,
Marek Karpinski, and
Gerhard Woeginger,
A compendium of NP optimization problems' – list which NP optimization problems have PTAS.
{{DEFAULTSORT:Polynomial-Time Approximation Scheme
Approximation algorithms
Complexity classes