Space Complexity
1
Definition 8.1 Let M be a deterministic Turing machine that halts on
all inputs. The space complexity of M is the function f: NN, where
f(n) is the maximum number of tape cells that M scans on any input of
length n. If the space complexity of M is f(n), we also say that M runs
in space f(n).
If M is a non deterministic TM where in all branches halt on all inputs,
we define its space complexity f(n) to be the maximum number of tape
cells that M scans on any branch of its computation for any input of
length n.
Complexity classes correspond to bounds on resources
One such resource is space: the number of tape cells a TM
uses when solving a problem
2
SPACE and NSPACE
Definition 8.2 Let f: NR+ be a function. The space complexity
classes SPACE(f(n)) and NSPACE(f(n)) are defined as follows.
SPACE(f(n)) = {L | L is a language decided by an O(f(n)) space
deterministic Turing machine}
NSPACE(f(n)) = {L | L is a language decided by an O(f(n)) space
nondeterministic Turing machine}.
3
Space is more powerful than time
Example 8.3. Space is more powerful than time, because it can be
reused. E.g., while we believe that SAT has no polynomial (let alone
linear) time algorithm, it can be easily decided in linear space:
M1 = “On input <>, where is a Boolean formula:
1. For each truth assignment to the variables x1,...,xm of :
2. Evaluate on that truth assignment.
3. If ever evaluated to 1, accept; if not, reject.”
Each iteration of the loop needs extra memory only for remembering
the current truth assignment, and for evaluating on that assignment.
This takes O(n) space. This space can then be recycled during the
next iteration. Thus, the overall space complexity here remains linear.
What is the time complexity of this algorithm, by the way?
4
Low Space Classes
Definitions (logarithmic space classes):
L = SPACE(logn)
NL = NSPACE(logn)
Log-Space Reductions
Definition:
A is log-space reducible to B, written ALB,
if there exists a log space TM M that, given input w,
outputs f(w) s.t.
wA iff f(w)B
5
NL Completeness
Definition:
A language B is NL-Complete if
1. BNL
2. For every ANL, ALB.
If (2) holds, B is NL-hard
6
Savitch’s Theorem
Theorem:
S(n) ≥ log(n)
NSPACE(S(n)) SPACE(S(n)2)
7
Savitch’s Theorem
Theorem:
NSPACE(log n) SPACE(log2n)
8
Nondeterministic space is not much more powerful than deterministic
space
Theorem 8.5 (Savitch’s Theorem)
For any function f: NR+, where f(n)n, we have
NSPACE(f(n)) SPACE(f2(n)).
As the proof of this theorem reveals, a deterministic TM can simulate
a nondeterministic TM using only a little amount of extra space.
That is due to the fact that space can be recycled. As time cannot be
recycled, the same trick fails to work with time (otherwise we would
have a proof of P=NP).
8.2.a
PSPACE defined
Definition 8.6 PSPACE is the class of languages that are decidable
in polynomial space on a deterministic TM. In other words,
PSPACE = SPACE(n) SPACE(n2) SPACE(n3) ...
NPSPACE can be defined similarly. However, the latter is not a very
interesting class because, as an immediate corollary of Savitch’s
theorem, it coincides with PSPACE (squaring polynomial space
again yields polynomial space).
This is what we know (why?):
P NP PSPACE=NPSPACE EXPTIME.
We, however, do not know whether any of the three s can be replaced
by =. Another set of huge open problems! It can be proven however that
PEXPTIME.
So, at least one of the three containments must be proper ( but not =),
even though we do not know which one(s)!
8.3.a
PSPACE-completeness defined
Definition 8.8 A language B is PSPACE-complete iff it satisfies two
conditions:
1. B is in PSPACE, and
2. every A in PSPACE is polynomial time reducible to B.
If B merely satisfies condition 2, we say that it is PSPACE-hard.
Why do we still appeal to polynomial time reducibility and not, say,
polynomial space reducibility, philosophically speaking?
A reduction must be easy relative to the class (of difficult problems)
that we are defining. Only then it is the case that if we find an easy
way to solve a (PSPACE-, NP- or whatever-) complete problem,
easy solutions to other (reducible to it) problems would also be found.
If the reduction itself is hard, it does not at all offer an easy way to
solve problems.
8.3.b
The TQBF problem
Universal quantifier : xP(x) means “for any x{0,1}, P(x) is true”
Existential quantifier : xP(x) means “for some x{0,1}, P(x) is true”
We consider fully quantified Boolean formulas (in the prenex form).
These are Boolean formulas prefixed with either x or x for each
variable x.
Examples (true or false?):
x(x-x) xy (xy)
x(x-x) xy ((xy)(-x-y))
x(x-x) xy ((xy)(-x-y))
xy(xy) zxy ((xyz)(-x-yz))
TQBF = {<> | is a true fully quantified Boolean formula}
(True Quantified Boolean Formulas)
Central complexity classes
13
14