Quasi-polynomial time

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

Script error: No such module "Distinguish". In computational complexity theory and the analysis of algorithms, an algorithm is said to take quasi-polynomial time if its time complexity is quasi-polynomially bounded. That is, there should exist a constant c such that the worst-case running time of the algorithm, on inputs of size n, has an upper bound of the form 2O((log⁡n)c).

The decision problems with quasi-polynomial time algorithms are natural candidates for being NP-intermediate, neither having polynomial time nor likely to be NP-hard.

Complexity class

The complexity class QP consists of all problems that have quasi-polynomial time algorithms. It can be defined in terms of DTIME as follows.[1]Template:R/superscript

QP=⋃c∈ℕDTIME(2(log⁡n)c)

Examples

An early example of a quasi-polynomial time algorithm was the Adleman–Pomerance–Rumely primality test.[2]Template:R/superscript However, the problem of testing whether a number is a prime number has subsequently been shown to have a polynomial time algorithm, the AKS primality test.[3]Template:R/superscript

In some cases, quasi-polynomial time bounds can be proven to be optimal under the exponential time hypothesis or a related computational hardness assumption. For instance, this is true for the following problems:

Other problems for which the best known algorithm takes quasi-polynomial time include:

Problems for which a quasi-polynomial time algorithm has been announced but not fully published include:

In approximation algorithms

Quasi-polynomial time has also been used to study approximation algorithms. In particular, a quasi-polynomial-time approximation scheme (QPTAS) is a variant of a polynomial-time approximation scheme whose running time is quasi-polynomial rather than polynomial. Problems with a QPTAS include minimum-weight triangulation,[15]Template:R/superscript finding the maximum clique on the intersection graph of disks,[16]Template:R/superscript and determining the probability that a hypergraph becomes disconnected when some of its edges fail with given independent probabilities.[17]Template:R/superscript

More strongly, the problem of finding an approximate Nash equilibrium has a QPTAS, but cannot have a PTAS under the exponential time hypothesis.[18]Template:R/superscript

References

<templatestyles src="Reflist/styles.css" />

  1. ↑ Complexity Zoo: Class QP: Quasipolynomial-Time
  2. ↑ Script error: No such module "citation/CS1".
  3. ↑ Script error: No such module "citation/CS1".
  4. ↑ Script error: No such module "citation/CS1".
  5. ↑ Script error: No such module "citation/CS1".
  6. ↑ Script error: No such module "citation/CS1".. This paper predates the formulation of the exponential time hypothesis, but proves that a solution to the minimum dominating set in a tournament could be used to solve Boolean satisfiability with m clauses and O(log2m) variables, which requires time exponential in the number of variables according to the exponential time hypothesis.
  7. ↑ Script error: No such module "citation/CS1".
  8. ↑ Script error: No such module "citation/CS1".
  9. ↑ Script error: No such module "citation/CS1".
  10. ↑ Script error: No such module "citation/CS1".
  11. ↑ Script error: No such module "citation/CS1".
  12. ↑ Script error: No such module "citation/CS1".
  13. ↑ Script error: No such module "citation/CS1".
  14. ↑ Script error: No such module "citation/CS1".
  15. ↑ Script error: No such module "citation/CS1".
  16. ↑ Script error: No such module "citation/CS1".
  17. ↑ Script error: No such module "citation/CS1".
  18. ↑ Script error: No such module "citation/CS1".

Script error: No such module "Check for unknown parameters".