NSPACE
In
non-deterministic Turing machine. It is the non-deterministic counterpart of DSPACE
.
Complexity classes
The measure NSPACE is used to define the
non-deterministic Turing machine, M, using space O(f(n)), where n is the length of the input.[1]
Several important complexity classes can be defined in terms of NSPACE. These include:
- REG = DSPACE(O(1)) = NSPACE(O(1)), where REG is the class of regular languages (nondeterminism does not add power in constant space).
- NL = NSPACE(O(log n))
- CSL = NSPACE(O(n)), where CSL is the class of context-sensitive languages.
- PSPACE = NPSPACE =
- EXPSPACE = NEXPSPACE =
The Immerman–Szelepcsényi theorem states that NSPACE(s(n)) is closed under complement for every function s(n) ≥ log n.
A further generalization is ASPACE, defined with
alternating Turing machines
.
Relation with other complexity classes
DSPACE
NSPACE is the non-deterministic counterpart of
deterministic Turing machine. First by definition, then by Savitch's theorem
, we have that:
Time
NSPACE can also be used to determine the time complexity of a
deterministic Turing machine
by the following theorem:
If a language L is decided in space S(n) (where S(n) ≥ log n) by a non-deterministic TM, then there exists a constant C such that L is decided in time O(CS(n)) by a deterministic one.[2]
Limitations
The measure of
non-deterministic Turing machines
, which are not useful when trying to represent actual computers. For this reason, NSPACE is limited in its usefulness to real-world applications.
References
- ISBN 978-0-534-95097-2.
- ISBN 978-0-7637-4125-9.
External links
- Complexity Zoo: NSPACE(f(n)).