DSPACE

Source: Wikipedia, the free encyclopedia.

In

deterministic Turing machine. It represents the total amount of memory space that a "normal" physical computer would need to solve a given computational problem with a given algorithm
.

Complexity classes

The measure DSPACE is used to define

alternation
).

Several important complexity classes are defined in terms of DSPACE. These include:

  • REG = DSPACE(O(1)), where REG is the class of regular languages. In fact, REG = DSPACE(o(log log n)) (that is, Ω(log log n) space is required to recognize any non-regular language).[1][2]

Proof: Suppose that there exists a non-regular language L ∈ DSPACE(s(n)), for s(n) = o(log log n). Let M be a Turing machine deciding L in space s(n). By our assumption L ∉ DSPACE(O(1)); thus, for any arbitrary , there exists an input of M requiring more space than k.

Let x be an input of smallest size, denoted by n, that requires more space than k, and be the set of all configurations of M on input x. Because M ∈ DSPACE(s(n)), then , where c is a constant depending on M.

Let S denote the set of all possible crossing sequences of M on x. Note that the length of a crossing sequence of M on x is at most : if it is longer than that, then some configuration will repeat, and M will go into an infinite loop. There are also at most possibilities for every element of a crossing sequence, so the number of different crossing sequences of M on x is

According to pigeonhole principle, there exist indexes i < j such that , where and are the crossing sequences at boundary i and j, respectively.

Let x' be the string obtained from x by removing all cells from i + 1 to j. The machine M still behaves exactly the same way on input x' as on input x, so it needs the same space to compute x' as to compute x. However, |x' | < |x|, contradicting the definition of x. Hence, there does not exist such a language L as assumed. □

The above theorem implies the necessity of the

space-constructible function assumption in the space hierarchy theorem
.

  • L = DSPACE(O(log n))
  • PSPACE =
  • EXPSPACE =

Machine models

DSPACE is traditionally measured on a

sublinear, that is, smaller than the size of the input. Thus, "charging" the algorithm for the size of the input, or for the size of the output, would not truly capture the memory space used. This is solved by defining the multi-tape Turing machine with input and output, which is a standard multi-tape Turing machine, except that the input tape may never be written-to, and the output tape may never be read from. This allows smaller space classes, such as L
(logarithmic space), to be defined in terms of the amount of space used by all of the work tapes (excluding the special input and output tapes).

Since many symbols might be packed into one by taking a suitable power of the alphabet, for all c ≥ 1 and f such that f(n) ≥ 1, the class of languages recognizable in c f(n) space is the same as the class of languages recognizable in f(n) space. This justifies usage of big O notation in the definition.

Hierarchy theorem

The

space-constructible function
, there exists some language L which is decidable in space but not in space .

Relation with other complexity classes

DSPACE is the deterministic counterpart of

non-deterministic Turing machine. By Savitch's theorem,[3]
we have that

time constructible
function t(n), we have

.

References

  1. ^ Szepietowski (1994) p. 28
  2. ^ Alberts, Maris (1985), Space complexity of alternating Turing machines
  3. ^ Arora & Barak (2009) p. 86

External links

This page is based on the copyrighted Wikipedia article: DSPACE. Articles is available under the CC BY-SA 3.0 license; additional terms may apply.Privacy Policy