Savitch's theorem
From Free net encyclopedia
←Older revision | Newer revision→
In computational complexity theory, Savitch's theorem, proved by Walter Savitch in 1970, states that for any function f(n) ≥ log(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 we believe that nondeterminism can speed up time exponentially, 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 log2(n) 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:
References
- Template:Cite book Section 8.1: Savitch's Theorem, pp.279–281.
- Template:Cite book Pages 149–150 of section 7.3: The Reachability Method.