EXPTIME

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

In computational complexity theory, the complexity class EXPTIME (sometimes called EXP or DEXPTIME) is the set of all decision problems that have exponential runtime, i.e., that are solvable by a deterministic Turing machine in O(2p(n)) time, where p(n) is a polynomial function of n.

In terms of DTIME,

 \mbox{EXPTIME} = \bigcup_{k \in \mathbb{N} } \mbox{ DTIME } \left( 2^{ n^k } \right) .

We know

P \subseteq NP \subseteq PSPACE \subseteq EXPTIME \subseteq NEXPTIME \subseteq EXPSPACE

and also, by the time hierarchy theorem and the space hierarchy theorem, that

P \subsetneq EXPTIME   and   NP \subsetneq NEXPTIME   and   PSPACE \subsetneq EXPSPACE

so at least one of the first three inclusions and at least one of the last three inclusions must be proper, but it is not known which ones are. Most experts[who?] believe all the inclusions are proper. It's also known that if P = NP, then EXPTIME = NEXPTIME, the class of problems solvable in exponential time by a nondeterministic Turing machine.[1] More precisely, EXPTIMENEXPTIME if and only if there exist sparse languages in NP that are not in P.[2]

EXPTIME can also be reformulated as the space class APSPACE, the problems that can be solved by an alternating Turing machine in polynomial space. This is one way to see that PSPACE \subseteq EXPTIME, since an alternating Turing machine is at least as powerful as a deterministic Turing machine.[3]

EXPTIME is one class in an exponential hierarchy of complexity classes with increasingly more complex oracles or quantifier alternations. The class 2-EXPTIME is defined similarly to EXPTIME but with a doubly exponential time bound 2^{2^n}. This can be generalized to higher and higher time bounds.

EXPTIME-complete

A decision problem is EXPTIME-complete if it is in EXPTIME, and every problem in EXPTIME has a polynomial-time many-one reduction to it. In other words, there is a polynomial-time algorithm that transforms instances of one to instances of the other with the same answer. Problems that are EXPTIME-complete might be thought of as the hardest problems in EXPTIME. Notice that although we don't know if NP is equal to P or not, we do know that EXPTIME-complete problems are not in P; it has been proven that these problems cannot be solved in polynomial time, by the time hierarchy theorem.

Other examples of EXPTIME-complete problems include the problem of evaluating a position in generalized chess,[4] checkers,[5] or Go (with Japanese ko rules).[6] These games have a chance of being EXPTIME-complete because games can last for a number of moves that is exponential in the size of the board. In the Go example, the Japanese ko rule is sufficiently intractable to imply EXPTIME-completeness, but it is not known if the more tractable American or Chinese rules for the game are EXPTIME-complete.

By contrast, generalized games that can last for a number of moves that is polynomial in the size of the board are often PSPACE-complete. The same is true of exponentially long games in which non-repetition is automatic.

Another set of important EXPTIME-complete problems relates to succinct circuits. Succinct circuits are simple machines used to describe some graphs in exponentially less space. They accept two vertex numbers as input and output whether there is an edge between them. For many natural P-complete graph problems, where the graph is expressed in a natural representation such as an adjacency matrix, solving the same problem on a succinct circuit representation is EXPTIME-complete, because the input is exponentially smaller; but this requires nontrivial proof, since succinct circuits can only describe a subclass of graphs.[7]

References

  1. Lua error in package.lua at line 80: module 'strict' not found. Section 20.1, page 491.
  2. Juris Hartmanis, Neil Immerman, Vivian Sewelson. Sparse Sets in NP-P: EXPTIME versus NEXPTIME. Information and Control, volume 65, issue 2/3, pp.158–181. 1985. At ACM Digital Library
  3. Papadimitriou (1994), section 20.1, corollary 3, page 495.
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Papadimitriou (1994), section 20.1, page 492.