Space hierarchy theorem

From Wikipedia, the free encyclopedia

In computational complexity theory, the space hierarchy theorems are separation results that show that both deterministic and nondeterministic machines can solve more problems in (asymptotically) more space, subject to certain conditions. For example, a deterministic Turing machine can solve more decision problems in space n log n than in space n. The somewhat weaker analogous theorems for time are the time hierarchy theorems.

The foundation for the hierarchy theorems lies in the intuition that with either more time or more space comes the ability to compute more functions (or decide more languages). The hierarchy theorems are used to demonstrate that the time and space complexity classes form a hierarchy where classes with tighter bounds contain fewer languages than those with more relaxed bounds. Here we define and prove the space hierarchy theorem.

The space hierarchy theorems rely on the concept of space-constructible functions. Formally, A function f:\mathbb{N} \longrightarrow \mathbb{N} is space constructible if f(n) \ge \log~n and there exists a Turing machine which computes the function f(n) in space O(f(n)) when starting with an input 1n, where 1n represents a string of n 1s.. Most common functions we work with are space-constructible, including polynomials, exponents, and logarithms.

Contents

[edit] Statement

For every space constructible function f:\mathbb{N} \longrightarrow \mathbb{N}, there exists a language L that is decidable in space O(f(n)) but not in space o(f(n)).

[edit] Proof

The goal here is to define a language that can be decided in space O(f(n)) but not space o(f(n)). Here we define the language L:

L = \{~ (\langle M \rangle, 10^k): M \mbox{ does not accept} (\langle M \rangle, 10^k) \mbox{ using space } \le f(|\langle M \rangle, 10^k|)  ~ \}

Now, in order to guarantee that A is not decidable in o(f(n)) space, the algorithm for deciding the language will implement the diagonalization method. The diagonalization will ensure that for any machine M that decides a language in space o(f(n)), A will differ in at least one spot from the language of M. The algorithm for deciding language L is as follows:

  1. On an input x, compute f( | x | ) using space constructibility, and mark off f( | x | ) cells of tape. Whenever an attempt is made to use more than f( | x | ) cells, reject.
  2. If x is not of the form \langle M \rangle, 10^k for some TM M, reject.
  3. Simulate M on input x for at most 2f( | x | ) steps (using f( | x | ) space). If the simulation tries to use more than f( | x | ) space or more than 2f( | x | ) operations, then reject.
  4. If M accepted x during this simulation, then reject; otherwise, accept.

Note on step 3: Execution is limited to 2f( | x | ) steps in order to avoid the case where M does not halt on the input x. That is, the case where M consumes space of only O(f(x)) as required, but runs for infinite time.

[edit] Comparison and improvements

The space hierarchy theorem is stronger than the analogous time hierarchy theorems in several ways:

  • It only requires s(n) to be at least log n instead of at least n.
  • It can separate classes with any asymptotic difference, whereas the time hierarchy theorem requires them to be separated by a logarithmic factor.
  • It only requires the function to be space-constructible, not time-constructible.

It seems to be easier to separate classes in space than in time. Indeed, whereas the time hierarchy theorem has seen little remarkable improvement since its inception, the nondeterministic space hierarchy theorem has seen at least one important improvement by Viliam Geffert in his 2003 paper "Space hierarchy theorem revised". This paper made several striking generalizations of the theorem:

  • It relaxes the space-constructibility requirement. Instead of merely separating the union classes DSPACE(O(s(n)) and DSPACE(o(s(n)), it separates DSPACE(f(n)) from DSPACE(g(n)) where f(n) is an arbitrary O(s(n)) function and g(n) is a computable o(s(n)) function. These functions need not be space-constructible or even monotone increasing.
  • It identifies a unary language, or tally language, which is in one class but not the other. In the original theorem, the separating language was arbitrary.
  • It does not require s(n) to be at least log n; it can be any nondeterministically fully space-constructible function.

[edit] Corollaries

[edit] Corollary 1

For any two functions f1, f_2: \mathbb{N} \longrightarrow \mathbb{N}, where f1(n) is o(f2(n)) and f2 is space constructible, SPACE(f1(n)) \subset SPACE(f2(n)).

This corollary lets us separate various space complexity classes. For any function nk is space constructible for any natural number k. Therefore for any two natural numbers k1 < k2 we can prove SPACE(n^{k_1}) \subset SPACE(n^{k_2}). We can extend this idea for real numbers in the following corollary. This demonstrates the detailed hierarchy within the PSPACE class.

[edit] Corollary 2

For any two real numbers 0 \leq a_1 \leq a_2, SPACE(n^{a_1}) \subset SPACE(n^{a_2}).

[edit] Corollary 3

NL \subset PSPACE.

[edit] Proof

Savitch's theorem shows that NL \subseteq SPACE(log2n), while the space hierarchy theorem shows that SPACE(\log^2n) \subset. Thus we get this corollary along with the fact that that TQBF \notin NL since TQBF is PSPACE-complete.

This could also be proven using the non-deterministic space hierarchy theorem to show that NL \subset NPSPACE, and using Savitch's theorem to show that PSPACE = NPSPACE.

[edit] Corollary 4

PSPACE \subset EXPSPACE.

This last corollary shows the existence of decidable problems that are intractable. In other words their decision procedures must use more than polynomial space.

[edit] Corollary 5

There are problems in PSPACE requiring an arbitrarily large exponent to solve; therefore PSPACE does not collapse to DSPACE(nk) for some constant k.

[edit] Corollary 6

LDSPACE(log2 n). Since Savitch's theorem implies that NL lies in the latter, we must have either LNL or NLDSPACE(log2 n) (although it's commonly believed that both inequalities hold).

[edit] References