NSPACE

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

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(f(n)) is the set of decision problems that can be solved by a non-deterministic Turing machine, M, using space O(f(n)), where f(n) is the maximum number of tape cells that M scans on any input of length n.[1]

Several important complexity classes can be defined in terms of NSPACE. These include:

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 DSPACE, the class of memory space on a deterministic Turing machine. By Savitch's theorem, we have that:

\mbox{DSPACE}[s(n)] \subseteq \mbox{NSPACE}[s(n)] \subseteq \mbox{DSPACE}[(s(n))^2].

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 space complexity in terms of DSPACE is useful because it represents the total amount of memory that an actual computer would need to solve a given computational problem with a given algorithm. The reason is that DSPACE describes the space complexity used by deterministic Turing machines, which can represent actual computers. On the other hand, NSPACE describes the space complexity 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

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.

External links

Complexity Zoo: NSPACE(f(n)).

<templatestyles src="Asbox/styles.css"></templatestyles>