NSPACE
In computational complexity theory, non-deterministic space or NSPACE is the computational resource describing the memory space for a non-deterministic Turing machine. It is the non-deterministic counterpart of DSPACE.
Complexity classes
The measure NSPACE is used to define the complexity class whose solutions can be determined by a non-deterministic Turing machine. The complexity class NSPACE is the set of decision problems that can be solved by a non-deterministic Turing machine, M, using space O, where n is the length of the input.Several important complexity classes can be defined in terms of NSPACE. These include:
- REG = DSPACE = NSPACE, where REG is the class of regular languages.
- NL = NSPACE
- CSL = NSPACE, where CSL is the class of context-sensitive languages.
- PSPACE = NPSPACE =
- EXPSPACE = NEXPSPACE =
A further generalization is ASPACE, defined with alternating Turing machines.
Relation with other complexity classes
DSPACE
NSPACE is the non-deterministic counterpart of DSPACE, the class of memory space on a deterministic Turing machine. First by definition, then by Savitch's theorem, we have that:Time
NSPACE can also be used to bound the deterministic time complexity of a problem, by the following theorem:
If a language L is decided in space S by a non-deterministic Turing machine, then there exists a constant C such that L is decided in time O by a deterministic one.