13
Complexit y 1 The Padding Argument

The Padding Argument

  • Upload
    apollo

  • View
    24

  • Download
    0

Embed Size (px)

DESCRIPTION

The Padding Argument. Motivation: Scaling-Up Complexity Claims. We have:. can be simulated by…. space. space. + non-determinism. + determinism. We want:. can be simulated by…. space. space. + non-determinism. + determinism. Formally. s i (n) can be computed with space s i (n). - PowerPoint PPT Presentation

Citation preview

Page 1: The Padding Argument

Complexity1

The Padding Argument

Page 2: The Padding Argument

Complexity2

Motivation: Scaling-Up Complexity Claims

space

+ non-determinism

We have:

space

+ determinism

can be simulated by…

We want:

space

+ non-determinism

space

+ determinism

can be simulated by…

Page 3: The Padding Argument

Complexity3

Formally

NSPACE(s1(n)) SPACE(s2(n))

NSPACE(s1(f(n))) SPACE(s2(f(n)))

Claim: For any two space constructible functions s1(n),s2(n)logn, f(n)n:

si(n) can be computed with space si(n)

simulation overhead

E.g NSPACE(n)SPACE(n2) NSPACE(n2)SPACE(n4)

Page 4: The Padding Argument

Complexity4

Idea

NTM...

n

space: O(s1(f(n)))

.

.

.

.

.

.

.

.

.

.

f(n)

space: s1(.) in the size of its

input

DTMspace: O(s2(f(n)))0

0

.

.

.n

Page 5: The Padding Argument

Complexity5

Padding argument

• Let LNPSPACE(s1(f(n)))

• There is a 3-Tape-NTM ML:

babba������������������������

���������������������������

Input

Work

|x|

O(s1(f(|x|)))

Page 6: The Padding Argument

Complexity6

Padding argument• Let L’ = { x0f(|x|)-|x| | xL }

• We’ll show a NTM ML’ which decides L’ in the same number of cells as ML.

babba00000000000000000000000000000000���

���������������������������

Input

Work

f(|x|)

O(s1(f(|x|))

Page 7: The Padding Argument

Complexity7

Padding argument – ML’

1. Count backwards the number of 0’s and check there are f(|x|)-|x| such.

2. Run ML on x.

babba00000000000000000000000000000000���

���������������������������

Input

Work

f(|x|)

O(s1(f(|x|)))

In O(log(f(|x|)) space

in O(s1(f(|x|))) space

Page 8: The Padding Argument

Complexity8

Padding argument

babba00000000000000000000000000000000���

���������������������������

Input

Work

f(|x|)

O(s1(f(|x|)))

Total space: O(s1(f(|x|)))

Page 9: The Padding Argument

Complexity9

Padding Argument

• We started with LNSPACE(s1(f(n)))

• We showed: L’NSPACE(s1(n))

• Thus, L’SPACE(s2(n))

• Using the DTM for L’ we’ll construct a DTM for L, which will work in O(s2(f(n))) space.

Page 10: The Padding Argument

Complexity10

Padding Argument

• The DTM for L’ will simulate the DTM for L when working on its input concatenated with zeros

babba���

00000000000000000000000

Input

Page 11: The Padding Argument

Complexity11

Padding Argument

• When the input head leaves the input part, just pretend it encounters 0s.

• keeping track after the simulated position takes O(log(f(|x|))) space.

• Thus our machine uses O(s2(f(|x|))) space.

NSPACE(s1(f(n)))SPACE(s2(f(n)))

Page 12: The Padding Argument

Complexity12

Savitch: Generalized Version

Theorem (Savitch):S(n) ≥ log(n)

NSPACE(S(n)) SPACE(S(n)2)

Proof: We proved NLSPACE(log2n). The theorem follows from the padding argument.

Page 13: The Padding Argument

Complexity13

Corollary

Corollary: PSPACE = NPSPACE

Proof: Clearly, PSPACENPSPACE. By Savitch’s theorem,

NPSPACEPSPACE.