Image for Savitch's Theorem

Savitch's Theorem

Savitch's Theorem states that any problem solvable by a nondeterministic Turing machine (which can explore many options simultaneously) within a certain amount of space can also be solved by a deterministic Turing machine (which follows a single sequence of steps) using at most a square of that space. Essentially, problems that might seem to need some "guesswork" can be solved with a predictable process, but potentially require significantly more memory—specifically, the square of the original space needed. It highlights a relationship between nondeterministic and deterministic computational resources, especially in terms of space complexity.