Introduction to Complexity Theory/Space Complexity and Savitch's Theorem

From testwiki
Revision as of 15:39, 18 July 2015 by imported>MaintenanceBot (Remove Welcome and expand from subpage)
(diff) โ† Older revision | Latest revision (diff) | Newer revision โ†’ (diff)
Jump to navigation Jump to search

The space complexity of a problem describes the computational space needed to solve a particular problem on a particular Turing machine.

As with time complexity, for a constructible function f(n) of the input length there exist two classes describing deterministic and non-deterministic space complexity, DSPACE(f(n)) and NSPACE(f(n)), respectively.

Savitch's Theorem

Savitch's theorem tells us that any problem that can be solved by a non-deterministic Turing machine in f(n) space can also be solved by a deterministic Turing machine in the square of that space (f2(n)), provided that f(n) is of a greater or equal order than log(n).

In formulas:

If f(n)Ω(log(n)), ๐’ฉ๐’ฎ๐’ซ๐’œ๐’žโ„ฐ(f(n))๐’Ÿ๐’ฎ๐’ซ๐’œ๐’žโ„ฐ(f2(n))

An immediate consequence that L, the class of decision problems solvable in deterministic logarithmic space and NL, the corresponding non-deterministic space class, are related as such:

NLL2

because logarithmic space is affected by power increases.

But what is the effect of this theorem on polynomial space?

๐’ซ๐’ฎ๐’ซ๐’œ๐’žโ„ฐ=kโ„•๐’Ÿ๐’ฎ๐’ซ๐’œ๐’žโ„ฐ(nk)
๐’ฉ๐’ซ๐’ฎ๐’ซ๐’œ๐’žโ„ฐ=kโ„•๐’ฉ๐’ฎ๐’ซ๐’œ๐’žโ„ฐ(nk)
kโ„•,f(n)=nkf(n)=O(f2(n))

and as a result of that

๐’ซ๐’ฎ๐’ซ๐’œ๐’žโ„ฐ=๐’ฉ๐’ซ๐’ฎ๐’ซ๐’œ๐’žโ„ฐ,

meaning that non-deterministic polynomial space does not give us an advantage in solving problems over deterministic polynomial space.