Space hierarchy theorem

Space hierarchy theorem

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 thatwith either more time or more space comes the ability to compute morefunctions (or decide more languages). The hierarchy theorems are usedto demonstrate that the time and space complexity classes form ahierarchy where classes with tighter bounds contain fewer languagesthan those with more relaxed bounds. Here we define and prove thespace hierarchy theorem.

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

Statement

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

Proof

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

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

Now, for any machine M that decides a language in space o(f(n)), L will differ in at least one spot from the language of M, namely at the value of (langle M angle, 10^k) . The algorithm for deciding the language L is as follows:

# 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".
# If x is not of the form langle M angle, 10^k for some TM M, "reject".
# Simulate M on input x for at most 2^{f(|x|)} steps (using f(|x|) space). If the simulation tries to use more than f(|x|) space or more than 2^{f(|x|)} operations, then "reject".
# If M accepted x during this simulation, then "reject"; otherwise, "accept".

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

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.

Corollaries

Corollary 1

"For any two functions f_1, f_2: mathbb{N} longrightarrowmathbb{N}, where f_1(n) is o(f_2(n)) and f_2 is spaceconstructible, SPACE(f_1(n)) subset SPACE(f_2(n))."

This corollary lets us separate various space complexity classes.For any function n^k is space constructible for any naturalnumber k. Therefore for any two natural numbers k_1 < k_2 we canprove SPACE(n^{k_1}) subset SPACE(n^{k_2}). We can extendthis idea for real numbers in the following corollary. Thisdemonstrates the detailed hierarchy within the PSPACE class.

Corollary 2

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

Corollary 3

"NL subset PSPACE."

Proof

Savitch's theorem shows that NL subseteq SPACE(log^2n), while the space hierarchy theorem shows that SPACE(log^2n) subsetneq SPACE(n). Thus we get this corollary along with the fact that that TQBF otin NLsince 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.

Corollary 4

PSPACE subset EXPSPACE.

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

Corollary 5

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

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).

References

* Luca Trevisan. [http://www.cs.berkeley.edu/~luca/cs172-04/noteh.pdf Notes on Hierarchy Theorems] . Handout 7. CS172: Automata, Computability and Complexity. U.C. Berkeley. April 26, 2004.
* Viliam Geffert. [http://portal.acm.org/citation.cfm?id=763728 Space hierarchy theorem revised] . "Theoretical Computer Science", volume 295, number 1-3, p.171-187. February 24, 2003.
* Pages 306&ndash;310 of section 9.1: Hierarchy theorems.
* Section 7.2: The Hierarchy Theorem, pp.143&ndash;146.


Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Look at other dictionaries:

  • Time hierarchy theorem — In computational complexity theory, the time hierarchy theorems are important statements about time bounded computation on Turing machines. Informally, these theorems say that given more time, a Turing machine can solve more problems. For example …   Wikipedia

  • Borel determinacy theorem — In descriptive set theory, the Borel determinacy theorem shows that any Gale Stewart game whose winning set is a Borel set is determined, meaning that one of the two players will have a winning strategy for the game. It was proved by Donald A.… …   Wikipedia

  • Arithmetical hierarchy — In mathematical logic, the arithmetical hierarchy, arithmetic hierarchy or Kleene hierarchy classifies certain sets based on the complexity of formulas that define them. Any set that receives a classification is called arithmetical. The… …   Wikipedia

  • Sipser-Lautemann theorem — In computational complexity theory, the Sipser Lautemann theorem or Sipser Gács Lautemann theorem states that BPP (Bounded error Probablistic Polynomial) time, is contained in the polynomial time hierarchy, and more specifically Sigma;2 cap; Pi;2 …   Wikipedia

  • Borel hierarchy — In mathematical logic, the Borel hierarchy is a stratification of the Borel algebra generated by the open subsets of a Polish space; elements of this algebra are called Borel sets. Each Borel set is assigned a unique countable ordinal number… …   Wikipedia

  • Gap theorem — See also Gap theorem (disambiguation) for other gap theorems in mathematics. In computational complexity theory the Gap theorem is a major theorem about the complexity of computable functions. [Lance Fortnow, Steve Homer,… …   Wikipedia

  • Covering space — A covering map satisfies the local triviality condition. Intuitively, such maps locally project a stack of pancakes above an open region, U, onto U. In mathematics, more specifically algebraic topology, a covering map is a continuous surjective… …   Wikipedia

  • Computational complexity theory — is a branch of the theory of computation in theoretical computer science and mathematics that focuses on classifying computational problems according to their inherent difficulty, and relating those classes to each other. In this context, a… …   Wikipedia

  • Complexity class — In computational complexity theory, a complexity class is a set of problems of related resource based complexity. A typical complexity class has a definition of the form: the set of problems that can be solved by an abstract machine M using… …   Wikipedia

  • PSPACE — Unsolved problems in computer science Is P = PSPACE ? PSPACE …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”