0% found this document useful (0 votes)
78 views14 pages

Understanding Space Complexity in Turing Machines

The document discusses space complexity classes for Turing machines. It defines the space complexity of a deterministic or nondeterministic Turing machine as the maximum number of tape cells scanned during any computation. Space complexity classes like SPACE(f(n)) and NSPACE(f(n)) contain languages decided by Turing machines using space bounded by f(n). Savitch's Theorem states that NSPACE(f(n)) is contained in SPACE(f(n)2), showing that nondeterminism does not provide much advantage in terms of space requirements. PSPACE is the class of languages decidable in polynomial space and is equal to NPSPACE by Savitch's Theorem. The True Quantified Boolean Formulas (T

Uploaded by

gcrossn
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
78 views14 pages

Understanding Space Complexity in Turing Machines

The document discusses space complexity classes for Turing machines. It defines the space complexity of a deterministic or nondeterministic Turing machine as the maximum number of tape cells scanned during any computation. Space complexity classes like SPACE(f(n)) and NSPACE(f(n)) contain languages decided by Turing machines using space bounded by f(n). Savitch's Theorem states that NSPACE(f(n)) is contained in SPACE(f(n)2), showing that nondeterminism does not provide much advantage in terms of space requirements. PSPACE is the class of languages decidable in polynomial space and is equal to NPSPACE by Savitch's Theorem. The True Quantified Boolean Formulas (T

Uploaded by

gcrossn
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd

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: NN, 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: NR+ 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 ALB,
if there exists a log space TM M that, given input w,
outputs f(w) s.t.

wA iff f(w)B

5
NL Completeness

Definition:
A language B is NL-Complete if
1. BNL
2. For every ANL, ALB.

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: NR+, 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
PEXPTIME.
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) xy (xy)
x(x-x) xy ((xy)(-x-y))
x(x-x) xy ((xy)(-x-y))
xy(xy) zxy ((xyz)(-x-yz))

TQBF = {<> |  is a true fully quantified Boolean formula}

(True Quantified Boolean Formulas)


Central complexity classes

13
14

You might also like