Space Complexity

Download Report

Transcript Space Complexity

*

* Definition: Let M be a deterministic Turing Machine that halts on all inputs.

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.

For any function f:N  N, we define: SPACE(f(n))={L | L is a language decided by an O(f(n)) space DTM} NSPACE(f(n))={L | L is a language decided by an O(f(n)) space NTM}

*

Low Space Classes: Definitions (logarithmic space classes): L = SPACE(logn) NL = NSPACE(logn)

*  If

M

is a deterministic Turing machine that halts on an inputs, then the value of

spacereq(M)

is the function

f(n)

defined so that, for any natural number

n,f(n)

is the maximum number of tape squares that

M

reads on any input of length

n.

 If

M

is a nondeterministic Turing machine all of whose computational paths halt on all inputs, then the value of

spacereq(M)

is the function

f(n)

defined so that, for any natural number

n,f(n)

is the maximum number any path that it executes on any input of length

n.

of tape squares that

M

reads on

* SAT is NP-complete.

SAT can be solved in linear(O(m)) space.

M 1 =“On input <  >, where  is a Boolean formula: 1.

2.

For each truth assignment to the variables x 1 ,…x m of  .

Evaluate  on that truth assignment.

3.

If  ever evaluate to 1, ACCEPT; if not, REJECT.” x 1 x 2 x 0 0 0 3 … … x n 0

* Theorem : Given a Turing machine M =

(K ,

2:., r, 8,

s, H)

and assuming that

spacereq(M)

~

n,

the following relationships hold between M's time and space requirements:

spacereq(M)

<

timereq(M)

E o

(cspacereq(M) )

Proof:

Spacereq(M)

is bounded by

timereq(M)

since M must use at least one time step for every tape square it visits.

The upper bound on

timereq(M)

follows from the fact, since M halts, the number of steps that it can execute is bounded by the number of distinct configurations that it can enter. That number is given by the function

MaxConfigs(M),

as described above. Since M

axConjigs(M) O(cspacereq(M»), timereq(M)

E

O(cspacereq(M»).

E

*

Theorem

For any function

f: N

R +

, where

f(n)

n

, we have

NSPACE(f(n))

SPACE(f 2 (n))

. Proof: Suppose language A can be decided by an NTM in k f(n) space, for some constant k.

We shall show that it can be decided by a DTM in O((f(n))2) space.

Let  be an input string to N.

t: integer; c 1 ,c 2 : configurations of N on  .

* CANYIELD(c 1 ,c 2 ,t) accept if starting from c 1 N has a branch entering configuration c 2 in t steps; o/w rejects.

CANYIELD=“On input c 1 ,c 2 and t: 1.

2.

3.

4.

5.

If t=1, test whether c 1 =c 2 or c 1 ├ c 2 , then accept; else reject.

If t>1, then for each configuration c m of N on  using space f(n).

Run CANYIELD(c 1 ,c m , ) Run CANYIELD(c m ,c 2 , ) If 3 & 4 both accept, then accept; else reject.”

c accept : accept configuration.

c start : start configuration of N on  .

Select a constant d so that N has no more than 2 df(n) configurations using f(n) tape space, n=| M=“On input   |.

output the result of CANYIELD(c start , c accept , 2 df(n) ).” CANYIELD is a recursive procedure: •Recursive depth:log •Thus, it uses O(f 2 2 2 df(n) =O(f(n)) •Each recursive call of CANYIELD use O(f(n)) space.

(n)) space.

* boolean PATH(a,b,d) { if there is an edge from a to b then return TRUE else { if (d=1) return FALSE for every vertex v (not a,b) { if PATH(a,v,  d/2  ) and PATH(v,b,  d/2  ) then return TRUE } return FALSE } }

1 2 4 3

* PSPACE is the class of languages (or problems) that are decidable in polynomial space on a det. TM.

Similarly we can define NPSPACE to be the class of languages that are decidable in polynomial space by a NTM.

So, what is the relationship between PSPACE and NPSPACE?

PSPACE = NPSPACE Theorem: PSPACE = NPSPACE Proof : If

L

is in PSPACE, then it must also be in NPSPACE because the deterministic Turing machine that decides it in polynomial time is also a nondeterministic Turing machine that decides it in polynomial time.

It is an important corollary of Savitch's Theorem.

* Definition: A language B is PSPACE-Complete if 1.

2.

B  PSPACE For every A  SPACE , A  P B .

If B is just satisfies Condition 2, we say B is PSPACE-hard

*

Theorem: P

PSPACE Proof: If a language is decided by some DTM M in f(n) time, M cannot see more than f(n) cells.

Thus, TIME(f(n))

SPACE(f(n)), So that P

PSPACE

* Proof: If a language is decided by some DTM M in f(n) space (where f(n) >=n), M can visit at most f(n) 2 O(f(n)) configurations (why?) Thus, M must run in f(n) 2 O(f(n)) time.

In other words, SPACE(f(n)) ⊆ TIME(2O(f(n))), so that PSPACE ⊆ EXPTIME.

P ⊆ NP ⊆ P SPACE ⊆ EXPTIME

*

* Mathematical statements usually involve quantifiers: 8 (for all) and 9 (there exists) • E.g., 8x F(x) means for every value of x, the statement F(x) is TRUE • E.g., 9x F(x) means there exists some value of x such that F(x) is TRUE •Boolean formulas with quantifiers are called quantified Boolean formulas • E.g., 9y ( y = x+1) and 8x (9y ( y formulas x)) are quantified Boolean

All of the following are quantified Boolean expressions.

• (P 1\

,R)~S

• 3P «P 1\ ,R)

~ S)

• \iR (3P «P 1\ ,R)

~

S» • \iS (\iR (3P «P 1\ ,R)

~

S»).

All quantified Boolean expressions are in prenex normal form.

* Theorem: TQBF is PSPACE-Complete Proof:    (s,t,|V|) is TRUE iff there is a path from s to t .

 is constructible in poly-time.

Thus, any PSPACE language is poly-time reducible to TQBF , i.e.

TQBF is PSPACE-hard .

Since TQBF  PSPACE , it’s PSPACE-Complete .

* PSPACE-complete: The generalized version of some common games we play are PSPACE-complete: Tic-Tac-Toe Game of the Amazons

* Generalized Geography : Each city chosen must begin with the same letter that ended the previous city name.

* L=SPACE(log n) NL=NSPACE(log n) E.G : PATH={ | G is a directed graph that has a directed path from s to t}.

NL Completeness : A language B 1.

B  NL 2.

is NL-Complete For every A  NL , A  L B .

if

* Deterministic Space-Complexity Classes are Closed Under Complement Theorem: For every function

f(n) , dspace(f( n))

=

co-dspace(f(n)).

Proof: If

L

is a language that is decided by some deterministic Turing machine M, th en the deterministic Turing machine

M'

that is identical to

M

except that the halting states

y

and

n

are reversed decides ~L. s

pacereq(M' )

=

spacereq(M) .

So, if

L

E

dspace(f( n)),

so is ~L.

* • • • • • • • www.cs.tau.ac.il/~safra/Complexity/Space.ppt space complexity people.cs.nctu.edu.tw/~sctsai/fc/notes/SpaceComplexity.ppt

http://homepage.cs.uri.edu/faculty/hamel/courses/2013/spring201 3/csc544/lecture-notes/18-space-complexity.pdf

2008 Elaine A Rich, Automata, Computability And Complexity, Theory And Application (CHAPTER 29).

http://www.cs.elte.hu/~lovasz/kurzusok/complexity.pdf.

http://en.wikipedia.org/wiki/True_quantified_Boolean_formula http://www.cs.nthu.edu.tw/~wkhon/lectures/.