Savitch's theorem

Savitch's theorem

In computational complexity theory, Savitch's theorem, proved by Walter Savitch in 1970, states that for any function "f"("n") ≥ log("n")

:NSPACE(f(n)) ⊆ DSPACE(f²(n)).

In other words, if a nondeterministic Turing machine can solve a problem using "f"("n") space, an ordinary deterministic Turing machine can solve the same problem in the square of the space. Although it seems that nondeterminism may produce exponential gains in time, this theorem shows that it has a markedly more limited effect on space requirements.

Proof

The proof of the theorem is constructive: it demonstrates an algorithm for STCON, the problem of determining whether there is a path between two vertices in a directed graph, which runs in log("n")2 space for "n" vertices. Then, it builds a DSPACE machine which runs the algorithm on the computation tree of the corresponding NSPACE machine to determine whether there is a path from the start node to the accept node, and accepts if and only if this is so. As STCON is NL-complete, this demonstrates that all languages in NL are also in L2.

Corollaries

Some important corollaries of the theorem include:
* PSPACE = NPSPACE
** This follows directly from the fact that the square of a polynomial function is still a polynomial function. It is believed that a similar relationship does not exist between the polynomial time complexity classes, P and NP, although this is still an open question.
* NLL2
** A direct result of the construction of the proof.

References

* Section 8.1: Savitch's Theorem, pp.279–281.
* Pages 149–150 of section 7.3: The Reachability Method.
* W.J.Savitch, "Relationship between nondeterministic and deterministic tape classes", J.CSS, 4, pp 177-192, 1970


Wikimedia Foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Look at other dictionaries:

  • Theorem von Savitch — Der Satz von Savitch oder Theorem von Savitch ist ein Satz aus der Komplexitätstheorie, der 1970 von Walter Savitch bewiesen wurde. Er besagt, dass ein von einer nichtdeterministischen Turingmaschine mit einer bestimmten Platzkomplexität lösbares …   Deutsch Wikipedia

  • 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… …   Wikipedia

  • Walter Savitch — is best known for creating the NL (nondeterministic logarithmic) class of complexity problems, and for Savitch s theorem which defines a relationship between the NSPACE and DSPACE complexity classes. His work in establishing complexity classes… …   Wikipedia

  • Satz von Savitch — Der Satz von Savitch oder Theorem von Savitch ist ein Satz aus der Komplexitätstheorie, der 1970 von Walter Savitch bewiesen wurde. Er besagt, dass ein von einer nichtdeterministischen Turingmaschine mit einer bestimmten Platzkomplexität lösbares …   Deutsch Wikipedia

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

  • SL (complexity) — In computational complexity theory, SL (Symmetric Logspace or Sym L) is the complexity class of problems log space reducible to USTCON ( undirected s t connectivity ), which is the problem of determining whether there exists a path between two… …   Wikipedia

  • NL (complexity) — In computational complexity theory, NL (Nondeterministic Logarithmic space) is the complexity class containing decision problems which can be solved by a nondeterministic Turing machine using a logarithmic amount of memory space. NL is a… …   Wikipedia

  • List of theorems — This is a list of theorems, by Wikipedia page. See also *list of fundamental theorems *list of lemmas *list of conjectures *list of inequalities *list of mathematical proofs *list of misnamed theorems *Existence theorem *Classification of finite… …   Wikipedia

  • P versus NP problem — Unsolved problems in computer science Is P = NP ? …   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

Share the article and excerpts

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