Polynomial-time approximation scheme

Polynomial-time approximation scheme

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. [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 "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.

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. [cite book
last = Vazirani
first = Vijay V.
title = Approximation Algorithms
publisher = Springer
date = 2003
pages = 294-5
location = Berlin
isbn = 3540653678
]

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. [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]

References

External links

*Complexity Zoo: [http://qwiki.caltech.edu/wiki/Complexity_Zoo#ptas PTAS] , [http://qwiki.caltech.edu/wiki/Complexity_Zoo#eptas EPTAS] , [http://qwiki.caltech.edu/wiki/Complexity_Zoo#fptas FPTAS]
*Pierluigi Crescenzi, Viggo Kann, Magnús Halldórsson, Marek Karpinski, and Gerhard Woeginger, [http://www.nada.kth.se/~viggo/wwwcompendium/ "A compendium of NP optimization problems"] - list which NP optimization problems have PTAS.


Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Look at other dictionaries:

  • Approximation algorithm — In computer science and operations research, approximation algorithms are algorithms used to find approximate solutions to optimization problems. Approximation algorithms are often associated with NP hard problems; since it is unlikely that there …   Wikipedia

  • Tutte polynomial — This article is about the Tutte polynomial of a graph. For the Tutte polynomial of a matroid, see Matroid. The polynomial x4 + x3 + x2y is the Tutte polynomial of the Bull graph. The red line shows the intersection with the plane …   Wikipedia

  • Chromatic polynomial — All nonisomorphic graphs on 3 vertices and their chromatic polynomials, clockwise from the top. The independent 3 set: k3. An edge and a single vertex: k2(k − 1). The 3 path: k(k − 1)2. The 3 clique …   Wikipedia

  • PTAS — Polynomial Time Approximation Scheme (Academic & Science » Mathematics) …   Abbreviations dictionary

  • Clique problem — The brute force algorithm finds a 4 clique in this 7 vertex graph (the complement of the 7 vertex path graph) by systematically checking all C(7,4)=35 4 vertex subgraphs for completeness. In computer science, the clique problem refers to any of… …   Wikipedia

  • Travelling salesman problem — The travelling salesman problem (TSP) is an NP hard problem in combinatorial optimization studied in operations research and theoretical computer science. Given a list of cities and their pairwise distances, the task is to find a shortest… …   Wikipedia

  • Maximum cut — A maximum cut. For a graph, a maximum cut is a cut whose size is at least the size of any other cut. The problem of finding a maximum cut in a graph is known as the max cut problem. The problem can be stated simply as follows. One wants a subset… …   Wikipedia

  • Steiner tree problem — Steiner tree for three points A, B, and C (note there are no direct connections between A, B, C). The Steiner point S is located at the Fermat point of the triangle ABC …   Wikipedia

  • Knapsack problem — BKP redirects here. For other uses, see BKP (disambiguation). Example of a one dimensional (constraint) knapsack problem: which boxes should be chosen to maximize the amount of money while still keeping the overall weight under or equal to… …   Wikipedia

  • APX — For other uses, see APX (disambiguation). In complexity theory the class APX (an abbreviation of approximable ) is the set of NP optimization problems that allow polynomial time approximation algorithms with approximation ratio bounded by a… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”