Nondeterministic algorithm: Difference between revisions

From formulasearchengine
Jump to navigation Jump to search
en>Ivanvector
Use: unlinking guess
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
In [[computer science]], a '''polynomial-time approximation scheme''' ('''PTAS''') is a type of [[approximation algorithm]] for [[optimization problem]]s (most often, [[NP-hard]] optimization problems).
My name is Ferne and I am studying Gender and Women's Studies and Modern Languages at Judenburg / Austria.<br><br>Also visit my web blog: [http://healingfactory.co.kr/qna/27233 Bookbyte textbooks Coupons]
 
A PTAS is an algorithm which takes an instance of an optimization problem and a parameter ε&nbsp;>&nbsp;0 and, in polynomial time, produces a solution that is within a factor 1 + ε of being optimal (or 1 - ε for maximization problems). For example, for the Euclidean [[traveling salesman problem]], a PTAS would produce a tour with length at most (1&nbsp;+&nbsp;ε)''L'', with ''L'' being the length of the shortest tour.<ref>[[Sanjeev Arora]], Polynomial-time Approximation Schemes for Euclidean TSP and other Geometric Problems, Journal of the ACM 45(5) 753–782, 1998.</ref>
 
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 ''[[Big O notation|O]]''(''n''<sup>1/ε</sup>) or even ''O''(''n''<sup>exp(1/ε)</sup>) 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 O(''n''<sup>(1/ε)!</sup>). 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''(''n''<sup>''c''</sup>) 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 notation|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]]. An example of a problem that has an FPTAS is the [[knapsack problem]].
 
Any [[Strongly NP-complete|strongly NP-hard]] optimization problem with a polynomially bounded objective function cannot have an FPTAS unless P=NP.<ref name="vvv"/> However, the converse fails: e.g. if P does not equal NP,  [[List_of_knapsack_problems#Multiple_constraints|knapsack with two constraints]] is not strongly NP-hard, but has no FPTAS even when the optimal objective is polynomially bounded.<ref>{{cite book|authors= H. Kellerer and U. Pferschy and D. Pisinger| title = Knapsack Problems | publisher = Springer | year = 2004}}</ref>
 
Unless [[P = NP problem|P = NP]], it holds that  FPTAS&nbsp;⊊&nbsp;PTAS&nbsp;⊊&nbsp;[[APX]].<ref>{{citation|first=Thomas|last=Jansen|contribution=Introduction to the Theory of Complexity and Approximation Algorithms|pages=5–28|title=Lectures on Proof Verification and Approximation Algorithms|editor1-first=Ernst W.|editor1-last=Mayr|editor2-first=Hans Jürgen|editor2-last=Prömel|editor3-first=Angelika|editor3-last=Steger|publisher=Springer|year=1998|isbn=9783540642015|doi=10.1007/BFb0053011}}. See discussion following Definition 1.30 on [http://books.google.com/books?id=_C8Ly1ya4cgC&pg=PA20 p.&nbsp;20].</ref> 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 <math>n^{polylog(n)}</math> for each fixed <math>\epsilon >0</math>.
 
===Randomized===
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 ε&nbsp;>&nbsp;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.<ref name="vvv">{{cite book
  | last = Vazirani
  | first = Vijay V.
  | title = Approximation Algorithms
  | publisher = Springer
  | year = 2003
  | pages = 294–295
  | location = Berlin
  | isbn = 3-540-65367-8
}}</ref>
 
==References==
<references/>
 
==External links==
*Complexity Zoo: [https://complexityzoo.uwaterloo.ca/Complexity_Zoo:P#ptas PTAS], [https://complexityzoo.uwaterloo.ca/Complexity_Zoo:E#eptas EPTAS], [https://complexityzoo.uwaterloo.ca/Complexity_Zoo:F#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.
 
{{DEFAULTSORT:Polynomial-Time Approximation Scheme}}
[[Category:Approximation algorithms]]
[[Category:Complexity classes]]

Latest revision as of 21:20, 10 December 2014

My name is Ferne and I am studying Gender and Women's Studies and Modern Languages at Judenburg / Austria.

Also visit my web blog: Bookbyte textbooks Coupons