HOME

TheInfoList



OR:

In
computational complexity theory In theoretical computer science and mathematics, computational complexity theory focuses on classifying computational problems according to their resource usage, and relating these classes to each other. A computational problem is a task solved ...
, is the set of all decision problems solvable by a deterministic
Turing machine A Turing machine is a mathematical model of computation describing an abstract machine that manipulates symbols on a strip of tape according to a table of rules. Despite the model's simplicity, it is capable of implementing any computer algor ...
in exponential
space Space is the boundless three-dimensional extent in which objects and events have relative position and direction. In classical physics, physical space is often conceived in three linear dimensions, although modern physicists usually con ...
, i.e., in O(2^) space, where p(n) is a polynomial function of n. Some authors restrict p(n) to be a
linear function In mathematics, the term linear function refers to two distinct but related notions: * In calculus and related areas, a linear function is a function whose graph is a straight line, that is, a polynomial function of degree zero or one. For di ...
, but most authors instead call the resulting class . If we use a nondeterministic machine instead, we get the class , which is equal to by Savitch's theorem. A decision problem is if it is in , and every problem in has a polynomial-time many-one reduction to it. In other words, there is a polynomial-time
algorithm In mathematics and computer science, an algorithm () is a finite sequence of rigorous instructions, typically used to solve a class of specific problems or to perform a computation. Algorithms are used as specifications for performing ...
that transforms instances of one to instances of the other with the same answer. problems might be thought of as the hardest problems in . is a strict superset of , , and and is believed to be a strict superset of .


Formal definition

In terms of and , :\mathsf = \bigcup_ \mathsf\left(2^\right) = \bigcup_ \mathsf\left(2^\right)


Examples of problems

An example of an problem is the problem of recognizing whether two
regular expression A regular expression (shortened as regex or regexp; sometimes referred to as rational expression) is a sequence of characters that specifies a search pattern in text. Usually such patterns are used by string-searching algorithms for "find" ...
s represent different languages, where the expressions are limited to four operators: union,
concatenation In formal language theory and computer programming, string concatenation is the operation of joining character strings end-to-end. For example, the concatenation of "snow" and "ball" is "snowball". In certain formalisations of concatenat ...
, the Kleene star (zero or more copies of an expression), and squaring (two copies of an expression). If the Kleene star is left out, then that problem becomes , which is like , except it is defined in terms of non-deterministic Turing machines rather than deterministic. It has also been shown by L. Berman in 1980 that the problem of verifying/falsifying any first-order statement about
real number In mathematics, a real number is a number that can be used to measurement, measure a ''continuous'' one-dimensional quantity such as a distance, time, duration or temperature. Here, ''continuous'' means that values can have arbitrarily small var ...
s that involves only addition and comparison (but no multiplication) is in . Alur and Henzinger extended
linear temporal logic In logic, linear temporal logic or linear-time temporal logic (LTL) is a modal temporal logic with modalities referring to time. In LTL, one can encode formulae about the future of paths, e.g., a condition will eventually be true, a condition will ...
with times (integer) and prove that the validity problem of their logic is EXPSPACE-complete. The coverability problem for Petri Nets is -complete. The reachability problem for Petri nets was known to be -hard for a long time, but shown to be
nonelementary In computational complexity theory, a nonelementary problem is a problem that is not a member of the class ELEMENTARY. As a class it is sometimes denoted as NONELEMENTARY. Examples of nonelementary problems that are nevertheless decidable include: ...
, so it is provably not in .


Relationship to other classes

is known to be a strict superset of , , and . It is further suspected to be a strict superset of , however this is not known.


See also

* Game complexity


References

* * Section 9.1.1: Exponential space completeness, pp. 313–317. Demonstrates that determining equivalence of regular expressions with exponentiation is EXPSPACE-complete. {{ComplexityClasses Complexity classes