The definitions of the complexity classes
NP,
PSPACE, and
EXPTIME do not involve reductions: reductions come into their study only in the definition of complete languages for these classes. However, in some cases a complexity class may be defined by reductions. If
C is any
decision problem, then one can define a complexity class
C consisting of the languages
A for which A \le_m^P C. In this case,
C will automatically be complete for
C, but
C may have other complete problems as well. An example of this is the complexity class \exists \mathbb{R} defined from the
existential theory of the reals, a computational problem that is known to be
NP-hard and in
PSPACE, but is not known to be complete for
NP,
PSPACE, or any language in the
polynomial hierarchy. \exists \mathbb{R} is the set of problems having a polynomial-time many-one reduction to the existential theory of the reals; it has several other complete problems such as determining the
rectilinear crossing number of an
undirected graph. Each problem in \exists \mathbb{R} inherits the property of belonging to
PSPACE, and each \exists \mathbb{R}-complete problem is
NP-hard. Similarly, the complexity class
GI consists of the problems that can be reduced to the
graph isomorphism problem. Since graph isomorphism is known to belong both to
NP and co-
AM, the same is true for every problem in this class. A problem is
GI-complete if it is complete for this class; the graph isomorphism problem itself is
GI-complete, as are several other related problems. == See also ==