Computational Complexity Lecture 4 in which Diagonalization takes - - PowerPoint PPT Presentation

computational complexity
SMART_READER_LITE
LIVE PREVIEW

Computational Complexity Lecture 4 in which Diagonalization takes - - PowerPoint PPT Presentation

Computational Complexity Lecture 4 in which Diagonalization takes on itself, and we enter Space Complexity (But first Ladner s Theorem) 1 Ladner s Theorem 2 Ladner s Theorem If P ! NP, then are all non-P NP languages equally


slide-1
SLIDE 1

Computational Complexity

Lecture 4 in which Diagonalization takes on itself, and we enter Space Complexity (But first Ladner’ s Theorem)

1

slide-2
SLIDE 2

Ladner’ s Theorem

2

slide-3
SLIDE 3

Ladner’ s Theorem

If P!NP, then are all non-P NP languages equally hard? (Are all NP-complete?)

2

slide-4
SLIDE 4

Ladner’ s Theorem

If P!NP, then are all non-P NP languages equally hard? (Are all NP-complete?) No!

2

slide-5
SLIDE 5

Ladner’ s Theorem

If P!NP, then are all non-P NP languages equally hard? (Are all NP-complete?) No! Can show an NP language which is neither in P, nor NP complete (unless P = NP)

2

slide-6
SLIDE 6

Ladner’ s Theorem: Proof

3

slide-7
SLIDE 7

Ladner’ s Theorem: Proof

SATH = { (x,pad) | x ∈ SAT and |pad|=|x|H(|x|)}

3

slide-8
SLIDE 8

Ladner’ s Theorem: Proof

SATH = { (x,pad) | x ∈ SAT and |pad|=|x|H(|x|)} H(|x|) will be computable in poly(|x|) time. SATH in NP.

3

slide-9
SLIDE 9

Ladner’ s Theorem: Proof

SATH = { (x,pad) | x ∈ SAT and |pad|=|x|H(|x|)} H(|x|) will be computable in poly(|x|) time. SATH in NP.

Padding maps problem to a lower complexity class

3

slide-10
SLIDE 10

Ladner’ s Theorem: Proof

SATH = { (x,pad) | x ∈ SAT and |pad|=|x|H(|x|)} H(|x|) will be computable in poly(|x|) time. SATH in NP. If SATH in P and H(|x|) bounded by const. then SAT in P!

Padding maps problem to a lower complexity class

3

slide-11
SLIDE 11

Ladner’ s Theorem: Proof

SATH = { (x,pad) | x ∈ SAT and |pad|=|x|H(|x|)} H(|x|) will be computable in poly(|x|) time. SATH in NP. If SATH in P and H(|x|) bounded by const. then SAT in P! |pad| < |x|i* implies SAT !p SATH

Padding maps problem to a lower complexity class

3

slide-12
SLIDE 12

Ladner’ s Theorem: Proof

SATH = { (x,pad) | x ∈ SAT and |pad|=|x|H(|x|)} H(|x|) will be computable in poly(|x|) time. SATH in NP. If SATH in P and H(|x|) bounded by const. then SAT in P! |pad| < |x|i* implies SAT !p SATH If SATH is NPC (⇒ SATH not in P) and H(|x|) goes to infinity, then SAT in P!

Padding maps problem to a lower complexity class

3

slide-13
SLIDE 13

Ladner’ s Theorem: Proof

SATH = { (x,pad) | x ∈ SAT and |pad|=|x|H(|x|)} H(|x|) will be computable in poly(|x|) time. SATH in NP. If SATH in P and H(|x|) bounded by const. then SAT in P! |pad| < |x|i* implies SAT !p SATH If SATH is NPC (⇒ SATH not in P) and H(|x|) goes to infinity, then SAT in P! Suppose f(x) = (x’,pad), |(x’,pad)| ! c|x|c. If |x’|>|x|/2, then |pad| = |x’|H(|x’|) > c|x|c (for long enough x). So |x’| is at most |x|/2. Repeat to solve SAT

Padding maps problem to a lower complexity class

3

slide-14
SLIDE 14

Ladner’ s Theorem: Proof

SATH = { (x,pad) | x ∈ SAT and |pad|=|x|H(|x|)} H(|x|) will be computable in poly(|x|) time. SATH in NP. If SATH in P and H(|x|) bounded by const. then SAT in P! |pad| < |x|i* implies SAT !p SATH If SATH is NPC (⇒ SATH not in P) and H(|x|) goes to infinity, then SAT in P! Suppose f(x) = (x’,pad), |(x’,pad)| ! c|x|c. If |x’|>|x|/2, then |pad| = |x’|H(|x’|) > c|x|c (for long enough x). So |x’| is at most |x|/2. Repeat to solve SAT To define H s.t. H(n) bounded by const. iff SATH in P

Padding maps problem to a lower complexity class

3

slide-15
SLIDE 15

Proof (ctd.)

4

slide-16
SLIDE 16

Proof (ctd.)

Mi be ith TM. Ti be ith polynomial (i.e., Ti(t)=i.ti)

4

slide-17
SLIDE 17

Proof (ctd.)

Mi|Ti be Mi restricted to Ti Mi be ith TM. Ti be ith polynomial (i.e., Ti(t)=i.ti)

4

slide-18
SLIDE 18

Mi|Ti |z|

Proof (ctd.)

Mi|Ti be Mi restricted to Ti Mi be ith TM. Ti be ith polynomial (i.e., Ti(t)=i.ti)

4

slide-19
SLIDE 19

Mi|Ti |z|

Proof (ctd.)

Mi|Ti be Mi restricted to Ti Put at (i,t) if Mi|Ti agrees with SATH on all z, |z|=t; else put Mi be ith TM. Ti be ith polynomial (i.e., Ti(t)=i.ti)

4

slide-20
SLIDE 20

Mi|Ti |z|

Proof (ctd.)

Mi|Ti be Mi restricted to Ti Put at (i,t) if Mi|Ti agrees with SATH on all z, |z|=t; else put H(n) be least i < log log n s.t. Mi|Ti correct for all |z|<log n Mi be ith TM. Ti be ith polynomial (i.e., Ti(t)=i.ti)

4

slide-21
SLIDE 21

Mi|Ti |z|

Proof (ctd.)

Mi|Ti be Mi restricted to Ti Put at (i,t) if Mi|Ti agrees with SATH on all z, |z|=t; else put H(n) be least i < log log n s.t. Mi|Ti correct for all |z|<log n

log log n log n

Mi be ith TM. Ti be ith polynomial (i.e., Ti(t)=i.ti)

4

slide-22
SLIDE 22

Mi|Ti |z|

Proof (ctd.)

Mi|Ti be Mi restricted to Ti Put at (i,t) if Mi|Ti agrees with SATH on all z, |z|=t; else put H(n) be least i < log log n s.t. Mi|Ti correct for all |z|<log n

log log n log n

Mi be ith TM. Ti be ith polynomial (i.e., Ti(t)=i.ti)

4

slide-23
SLIDE 23

Mi|Ti |z|

Proof (ctd.)

Mi|Ti be Mi restricted to Ti Put at (i,t) if Mi|Ti agrees with SATH on all z, |z|=t; else put H(n) be least i < log log n s.t. Mi|Ti correct for all |z|<log n H is poly-time computable

log log n log n

Mi be ith TM. Ti be ith polynomial (i.e., Ti(t)=i.ti)

4

slide-24
SLIDE 24

Mi|Ti |z|

Proof (ctd.)

Mi|Ti be Mi restricted to Ti Put at (i,t) if Mi|Ti agrees with SATH on all z, |z|=t; else put H(n) be least i < log log n s.t. Mi|Ti correct for all |z|<log n H is poly-time computable SATH in P iff H(n) < i*

log log n log n

Mi be ith TM. Ti be ith polynomial (i.e., Ti(t)=i.ti)

4

slide-25
SLIDE 25

Mi|Ti |z|

Proof (ctd.)

Mi|Ti be Mi restricted to Ti Put at (i,t) if Mi|Ti agrees with SATH on all z, |z|=t; else put H(n) be least i < log log n s.t. Mi|Ti correct for all |z|<log n H is poly-time computable SATH in P iff H(n) < i* Both equivalent to having a row of all

log log n log n

Mi be ith TM. Ti be ith polynomial (i.e., Ti(t)=i.ti)

4

slide-26
SLIDE 26

Meta-Questions

5

slide-27
SLIDE 27

Meta-Questions

5

slide-28
SLIDE 28

Meta-Questions

“Real” Questions

5

slide-29
SLIDE 29

Meta-Questions

“Real” Questions “Meta” Questions

5

slide-30
SLIDE 30

Meta-Questions

“Real” Questions SAT in DTIME(n2)? “Meta” Questions

5

slide-31
SLIDE 31

Meta-Questions

“Real” Questions SAT in DTIME(n2)? Is my problem NP-complete? “Meta” Questions

5

slide-32
SLIDE 32

Meta-Questions

“Real” Questions SAT in DTIME(n2)? Is my problem NP-complete? Results non-specialists would care about “Meta” Questions

5

slide-33
SLIDE 33

Meta-Questions

“Real” Questions SAT in DTIME(n2)? Is my problem NP-complete? Results non-specialists would care about “Meta” Questions What can we do with an

  • racle for SAT?

5

slide-34
SLIDE 34

Meta-Questions

“Real” Questions SAT in DTIME(n2)? Is my problem NP-complete? Results non-specialists would care about “Meta” Questions What can we do with an

  • racle for SAT?

Will this proof technique work?

5

slide-35
SLIDE 35

Meta-Questions

“Real” Questions SAT in DTIME(n2)? Is my problem NP-complete? Results non-specialists would care about “Meta” Questions What can we do with an

  • racle for SAT?

Will this proof technique work? Tools & Techniques, intermediate results

5

slide-36
SLIDE 36

Meta-Questions

“Real” Questions SAT in DTIME(n2)? Is my problem NP-complete? Results non-specialists would care about “Meta” Questions What can we do with an

  • racle for SAT?

Will this proof technique work? Tools & Techniques, intermediate results Under-the-hood stuff

5

slide-37
SLIDE 37

Oracles

6

slide-38
SLIDE 38

Oracles

What if we had an oracle for language A

6

slide-39
SLIDE 39

Oracles

What if we had an oracle for language A Class PA: L ∈ PA if

6

slide-40
SLIDE 40

Oracles

What if we had an oracle for language A Class PA: L ∈ PA if L decided by a TM MA, in poly time

6

slide-41
SLIDE 41

Oracles

What if we had an oracle for language A Class PA: L ∈ PA if L decided by a TM MA, in poly time Turing reduction: L !T A

6

slide-42
SLIDE 42

Oracles

What if we had an oracle for language A Class PA: L ∈ PA if L decided by a TM MA, in poly time Turing reduction: L !T A Class NPA: L ∈ NPA if

6

slide-43
SLIDE 43

Oracles

What if we had an oracle for language A Class PA: L ∈ PA if L decided by a TM MA, in poly time Turing reduction: L !T A Class NPA: L ∈ NPA if L decided by an NTM MA, in poly time

6

slide-44
SLIDE 44

Oracles

What if we had an oracle for language A Class PA: L ∈ PA if L decided by a TM MA, in poly time Turing reduction: L !T A Class NPA: L ∈ NPA if L decided by an NTM MA, in poly time Equivalently, L = {x| ∃w, |w| < poly(|x|) s.t. (x,w) ∈ L ’ }, where L ’ is in PA

6

slide-45
SLIDE 45

Oracles

What if we had an oracle for language A Class PA: L ∈ PA if L decided by a TM MA, in poly time Turing reduction: L !T A Class NPA: L ∈ NPA if L decided by an NTM MA, in poly time Equivalently, L = {x| ∃w, |w| < poly(|x|) s.t. (x,w) ∈ L ’ }, where L ’ is in PA Equivalence carries over!

6

slide-46
SLIDE 46

Proofs that Relativize

7

slide-47
SLIDE 47

Proofs that Relativize

Often entire theorems/proofs carry over, with the

  • racle tagging along

7

slide-48
SLIDE 48

Proofs that Relativize

Often entire theorems/proofs carry over, with the

  • racle tagging along

e.g. Time hierarchy theorems (and proofs!) hold for machines with access to any given oracle A

7

slide-49
SLIDE 49

Proofs that Relativize

Often entire theorems/proofs carry over, with the

  • racle tagging along

e.g. Time hierarchy theorems (and proofs!) hold for machines with access to any given oracle A Said to “relativize”

7

slide-50
SLIDE 50

P vs. NP with oracles

8

slide-51
SLIDE 51

P vs. NP with oracles

How does P vs. NP fare relative to different oracles?

8

slide-52
SLIDE 52

P vs. NP with oracles

How does P vs. NP fare relative to different oracles? Does their relation (equality or not) relativize?

8

slide-53
SLIDE 53

P vs. NP with oracles

How does P vs. NP fare relative to different oracles? Does their relation (equality or not) relativize? No! Different in different worlds!

8

slide-54
SLIDE 54

P vs. NP with oracles

How does P vs. NP fare relative to different oracles? Does their relation (equality or not) relativize? No! Different in different worlds! There exist languages A, B such that PA = NPA, but PB ! NPB!

8

slide-55
SLIDE 55

A s.t. PA = NPA

9

slide-56
SLIDE 56

A s.t. PA = NPA

If A is EXP-complete (w.r.t !Cook or !P), PA = NPA = EXP

9

slide-57
SLIDE 57

A s.t. PA = NPA

If A is EXP-complete (w.r.t !Cook or !P), PA = NPA = EXP A EXP-hard ⇒ EXP ⊆ PA ⊆ NPA

9

slide-58
SLIDE 58

A s.t. PA = NPA

If A is EXP-complete (w.r.t !Cook or !P), PA = NPA = EXP A EXP-hard ⇒ EXP ⊆ PA ⊆ NPA A in EXP ⇒ NPA ⊆ EXP (note: to decide a language in NPA can try all possible witnesses, and carry out PA computation in exponential time)

9

slide-59
SLIDE 59

A s.t. PA = NPA

If A is EXP-complete (w.r.t !Cook or !P), PA = NPA = EXP A EXP-hard ⇒ EXP ⊆ PA ⊆ NPA A in EXP ⇒ NPA ⊆ EXP (note: to decide a language in NPA can try all possible witnesses, and carry out PA computation in exponential time) A simple EXP-complete language:

9

slide-60
SLIDE 60

A s.t. PA = NPA

If A is EXP-complete (w.r.t !Cook or !P), PA = NPA = EXP A EXP-hard ⇒ EXP ⊆ PA ⊆ NPA A in EXP ⇒ NPA ⊆ EXP (note: to decide a language in NPA can try all possible witnesses, and carry out PA computation in exponential time) A simple EXP-complete language: EXPTM = { (M,x,1n) | TM represented by M accepts x within time 2n }

9

slide-61
SLIDE 61

B s.t. PB ! NPB

10

slide-62
SLIDE 62

B s.t. PB ! NPB

Building B and L, s.t. L in NPB\PB

10

slide-63
SLIDE 63

B s.t. PB ! NPB

L={1n| ∃w, |w|=n and w∈B}

Building B and L, s.t. L in NPB\PB

10

slide-64
SLIDE 64

B s.t. PB ! NPB

L={1n| ∃w, |w|=n and w∈B} B

Building B and L, s.t. L in NPB\PB

10

slide-65
SLIDE 65

B s.t. PB ! NPB

L={1n| ∃w, |w|=n and w∈B}

1n 11 1

L B

Building B and L, s.t. L in NPB\PB

00 01 10

...

10

slide-66
SLIDE 66

B s.t. PB ! NPB

L={1n| ∃w, |w|=n and w∈B}

1n 11 1

L B

Building B and L, s.t. L in NPB\PB

00 01 10

...

10

slide-67
SLIDE 67

B s.t. PB ! NPB

L={1n| ∃w, |w|=n and w∈B} L in NPB. To do: L not in PB

1n 11 1

L B

Building B and L, s.t. L in NPB\PB

00 01 10

...

10

slide-68
SLIDE 68

B s.t. PB ! NPB

L={1n| ∃w, |w|=n and w∈B} L in NPB. To do: L not in PB For each i, ensure MiB in 2n-1 time gets L(1n) wrong (for some new n)

1n 11 1

L B

Building B and L, s.t. L in NPB\PB

00 01 10

...

10

slide-69
SLIDE 69

B s.t. PB ! NPB

L={1n| ∃w, |w|=n and w∈B} L in NPB. To do: L not in PB For each i, ensure MiB in 2n-1 time gets L(1n) wrong (for some new n) Mi

1n 11 1

L B

Building B and L, s.t. L in NPB\PB

00 01 10

...

10

slide-70
SLIDE 70

B s.t. PB ! NPB

L={1n| ∃w, |w|=n and w∈B} L in NPB. To do: L not in PB For each i, ensure MiB in 2n-1 time gets L(1n) wrong (for some new n) 1n Mi

1n 11 1

L B

Building B and L, s.t. L in NPB\PB

00 01 10

...

10

slide-71
SLIDE 71

B s.t. PB ! NPB

L={1n| ∃w, |w|=n and w∈B} L in NPB. To do: L not in PB For each i, ensure MiB in 2n-1 time gets L(1n) wrong (for some new n) 1n Mi

1n 11 1

L B

Building B and L, s.t. L in NPB\PB

00 01 10

...

10

slide-72
SLIDE 72

B s.t. PB ! NPB

L={1n| ∃w, |w|=n and w∈B} L in NPB. To do: L not in PB For each i, ensure MiB in 2n-1 time gets L(1n) wrong (for some new n) Pick n s.t. B not yet set beyond 1n-1. Run Mi on 1n for 2n-1 steps. 1n Mi

1n 11 1

L B

Building B and L, s.t. L in NPB\PB

00 01 10

...

10

slide-73
SLIDE 73

B s.t. PB ! NPB

L={1n| ∃w, |w|=n and w∈B} L in NPB. To do: L not in PB For each i, ensure MiB in 2n-1 time gets L(1n) wrong (for some new n) Pick n s.t. B not yet set beyond 1n-1. Run Mi on 1n for 2n-1 steps. 1n Mi

1n 11 1

L B

Building B and L, s.t. L in NPB\PB

00 01 10

...

10

slide-74
SLIDE 74

B s.t. PB ! NPB

L={1n| ∃w, |w|=n and w∈B} L in NPB. To do: L not in PB For each i, ensure MiB in 2n-1 time gets L(1n) wrong (for some new n) Pick n s.t. B not yet set beyond 1n-1. Run Mi on 1n for 2n-1 steps. 1n Mi

1n 11 1

L B

Building B and L, s.t. L in NPB\PB

00 01 10

...

10

slide-75
SLIDE 75

B s.t. PB ! NPB

L={1n| ∃w, |w|=n and w∈B} L in NPB. To do: L not in PB For each i, ensure MiB in 2n-1 time gets L(1n) wrong (for some new n) Pick n s.t. B not yet set beyond 1n-1. Run Mi on 1n for 2n-1 steps. 1n Mi

1n 11 1

L B

Building B and L, s.t. L in NPB\PB

00 01 10

...

10

slide-76
SLIDE 76

B s.t. PB ! NPB

L={1n| ∃w, |w|=n and w∈B} L in NPB. To do: L not in PB For each i, ensure MiB in 2n-1 time gets L(1n) wrong (for some new n) Pick n s.t. B not yet set beyond 1n-1. Run Mi on 1n for 2n-1 steps. 1n Mi

1n 11 1

L B

Building B and L, s.t. L in NPB\PB

00 01 10

...

10

slide-77
SLIDE 77

B s.t. PB ! NPB

L={1n| ∃w, |w|=n and w∈B} L in NPB. To do: L not in PB For each i, ensure MiB in 2n-1 time gets L(1n) wrong (for some new n) Pick n s.t. B not yet set beyond 1n-1. Run Mi on 1n for 2n-1 steps. 1n Mi

1n 11 1

L B

Building B and L, s.t. L in NPB\PB

00 01 10

...

10

slide-78
SLIDE 78

B s.t. PB ! NPB

L={1n| ∃w, |w|=n and w∈B} L in NPB. To do: L not in PB For each i, ensure MiB in 2n-1 time gets L(1n) wrong (for some new n) Pick n s.t. B not yet set beyond 1n-1. Run Mi on 1n for 2n-1 steps. When Mi queries B on x > 1n-1, set B(X)=0 1n Mi

1n 11 1

L B

Building B and L, s.t. L in NPB\PB

00 01 10

...

10

slide-79
SLIDE 79

B s.t. PB ! NPB

L={1n| ∃w, |w|=n and w∈B} L in NPB. To do: L not in PB For each i, ensure MiB in 2n-1 time gets L(1n) wrong (for some new n) Pick n s.t. B not yet set beyond 1n-1. Run Mi on 1n for 2n-1 steps. When Mi queries B on x > 1n-1, set B(X)=0 After Mi finished set B up to x=1n s.t. L(1n) ! MiB(1n) 1n Mi

1n 11 1

L B

Building B and L, s.t. L in NPB\PB

00 01 10

...

10

slide-80
SLIDE 80

Meta-Result of the Day

11

slide-81
SLIDE 81

Meta-Result of the Day

P vs. NP cannot be resolved using a relativizing proof

11

slide-82
SLIDE 82

Meta-Result of the Day

P vs. NP cannot be resolved using a relativizing proof “Diagonalization proofs” relativize

11

slide-83
SLIDE 83

Meta-Result of the Day

P vs. NP cannot be resolved using a relativizing proof “Diagonalization proofs” relativize Just need a way to enumerate/ encode machines, and to simulate one without much

  • verhead given its encoding

11

slide-84
SLIDE 84

Meta-Result of the Day

P vs. NP cannot be resolved using a relativizing proof “Diagonalization proofs” relativize Just need a way to enumerate/ encode machines, and to simulate one without much

  • verhead given its encoding

Do not further depend on internals of computation

11

slide-85
SLIDE 85

Meta-Result of the Day

P vs. NP cannot be resolved using a relativizing proof “Diagonalization proofs” relativize Just need a way to enumerate/ encode machines, and to simulate one without much

  • verhead given its encoding

Do not further depend on internals of computation e.g. of non-relativizing proof: that of Cook-Levin theorem

11

slide-86
SLIDE 86

Space Complexity

12

slide-87
SLIDE 87

Space Complexity

13

slide-88
SLIDE 88

Space Complexity

Natural complexity question

13

slide-89
SLIDE 89

Space Complexity

Natural complexity question How much memory is needed

13

slide-90
SLIDE 90

Space Complexity

Natural complexity question How much memory is needed More pressing than time:

13

slide-91
SLIDE 91

Space Complexity

Natural complexity question How much memory is needed More pressing than time: Can’ t generate memory on the fly

13

slide-92
SLIDE 92

Space Complexity

Natural complexity question How much memory is needed More pressing than time: Can’ t generate memory on the fly Or maybe less pressing:

13

slide-93
SLIDE 93

Space Complexity

Natural complexity question How much memory is needed More pressing than time: Can’ t generate memory on the fly Or maybe less pressing: Turns out, often a little memory can go a long way (if we can spare the time)

13

slide-94
SLIDE 94

DSPACE and NSPACE

14

slide-95
SLIDE 95

DSPACE and NSPACE

Measure of working memory (work-tape) used by a TM/NTM: input kept in a read-only tape

14

slide-96
SLIDE 96

DSPACE and NSPACE

Measure of working memory (work-tape) used by a TM/NTM: input kept in a read-only tape Model allows o(n) memory usage

14

slide-97
SLIDE 97

DSPACE and NSPACE

Measure of working memory (work-tape) used by a TM/NTM: input kept in a read-only tape Model allows o(n) memory usage DSPACE(n) may already be inefficient in terms of time

14

slide-98
SLIDE 98

DSPACE and NSPACE

Measure of working memory (work-tape) used by a TM/NTM: input kept in a read-only tape Model allows o(n) memory usage DSPACE(n) may already be inefficient in terms of time We shall stick to "(log n)

14

slide-99
SLIDE 99

DSPACE and NSPACE

Measure of working memory (work-tape) used by a TM/NTM: input kept in a read-only tape Model allows o(n) memory usage DSPACE(n) may already be inefficient in terms of time We shall stick to "(log n) Less than log is too little space to remember locations in the input

14

slide-100
SLIDE 100

DSPACE and NSPACE

Measure of working memory (work-tape) used by a TM/NTM: input kept in a read-only tape Model allows o(n) memory usage DSPACE(n) may already be inefficient in terms of time We shall stick to "(log n) Less than log is too little space to remember locations in the input DSPACE/NSPACE more robust across models

14

slide-101
SLIDE 101

DSPACE and NSPACE

Measure of working memory (work-tape) used by a TM/NTM: input kept in a read-only tape Model allows o(n) memory usage DSPACE(n) may already be inefficient in terms of time We shall stick to "(log n) Less than log is too little space to remember locations in the input DSPACE/NSPACE more robust across models Constant factor (+O(log n)) simulation overhead

14

slide-102
SLIDE 102

L ∈ NSPACE(S): Two Equivalent views

15

slide-103
SLIDE 103

L ∈ NSPACE(S): Two Equivalent views

Non-deterministic M

15

slide-104
SLIDE 104

L ∈ NSPACE(S): Two Equivalent views

Non-deterministic M input: x

15

slide-105
SLIDE 105

L ∈ NSPACE(S): Two Equivalent views

Non-deterministic M input: x makes non-det choices

15

slide-106
SLIDE 106

L ∈ NSPACE(S): Two Equivalent views

Non-deterministic M input: x makes non-det choices x ∈ L iff some thread of M accepts

15

slide-107
SLIDE 107

L ∈ NSPACE(S): Two Equivalent views

Non-deterministic M input: x makes non-det choices x ∈ L iff some thread of M accepts in at most S(|x|) space

15

slide-108
SLIDE 108

L ∈ NSPACE(S): Two Equivalent views

Non-deterministic M input: x makes non-det choices x ∈ L iff some thread of M accepts in at most S(|x|) space Deterministic M’

15

slide-109
SLIDE 109

L ∈ NSPACE(S): Two Equivalent views

Non-deterministic M input: x makes non-det choices x ∈ L iff some thread of M accepts in at most S(|x|) space Deterministic M’ input: x and read-once w

15

slide-110
SLIDE 110

L ∈ NSPACE(S): Two Equivalent views

Non-deterministic M input: x makes non-det choices x ∈ L iff some thread of M accepts in at most S(|x|) space Deterministic M’ input: x and read-once w reads bits from w (certificate)

15

slide-111
SLIDE 111

L ∈ NSPACE(S): Two Equivalent views

Non-deterministic M input: x makes non-det choices x ∈ L iff some thread of M accepts in at most S(|x|) space Deterministic M’ input: x and read-once w reads bits from w (certificate) x ∈ L iff for some cert. w, M’ accepts

15

slide-112
SLIDE 112

L ∈ NSPACE(S): Two Equivalent views

Non-deterministic M input: x makes non-det choices x ∈ L iff some thread of M accepts in at most S(|x|) space Deterministic M’ input: x and read-once w reads bits from w (certificate) x ∈ L iff for some cert. w, M’ accepts in at most S(|x|) space

15

slide-113
SLIDE 113

L ∈ NSPACE(S): Two Equivalent views

Non-deterministic M input: x makes non-det choices x ∈ L iff some thread of M accepts in at most S(|x|) space Deterministic M’ input: x and read-once w reads bits from w (certificate) x ∈ L iff for some cert. w, M’ accepts in at most S(|x|) space

Equivalent

15

slide-114
SLIDE 114

L and NL

16

slide-115
SLIDE 115

L and NL

L = DSPACE(O(log n))

16

slide-116
SLIDE 116

L and NL

L = DSPACE(O(log n)) L = ∪a,b > 0 DSPACE(a.log n+b)

16

slide-117
SLIDE 117

L and NL

L = DSPACE(O(log n)) L = ∪a,b > 0 DSPACE(a.log n+b) NL = NSPACE(O(log n))

16

slide-118
SLIDE 118

L and NL

L = DSPACE(O(log n)) L = ∪a,b > 0 DSPACE(a.log n+b) NL = NSPACE(O(log n)) NL = ∪a,b > 0 NSPACE(a.log n+b)

16

slide-119
SLIDE 119

L and NL

L = DSPACE(O(log n)) L = ∪a,b > 0 DSPACE(a.log n+b) NL = NSPACE(O(log n)) NL = ∪a,b > 0 NSPACE(a.log n+b) “L and NL are to space what P and NP are to time”

16

slide-120
SLIDE 120

Space Hierarchy

17

slide-121
SLIDE 121

Space Hierarchy

UTM space-overhead is only a constant factor

17

slide-122
SLIDE 122

Space Hierarchy

UTM space-overhead is only a constant factor Tight hierarchy: if T(n) = o(T’(n)) (no log slack) then DSPACE(T(n)) ⊊ DSPACE(T’(n))

17

slide-123
SLIDE 123

Space Hierarchy

UTM space-overhead is only a constant factor Tight hierarchy: if T(n) = o(T’(n)) (no log slack) then DSPACE(T(n)) ⊊ DSPACE(T’(n)) Same for NSPACE

17

slide-124
SLIDE 124

Space Hierarchy

UTM space-overhead is only a constant factor Tight hierarchy: if T(n) = o(T’(n)) (no log slack) then DSPACE(T(n)) ⊊ DSPACE(T’(n)) Same for NSPACE Again, tighter than for NTIME (where in fact, we needed T(n+1) = o(T’(n) )

17

slide-125
SLIDE 125

Space Hierarchy

UTM space-overhead is only a constant factor Tight hierarchy: if T(n) = o(T’(n)) (no log slack) then DSPACE(T(n)) ⊊ DSPACE(T’(n)) Same for NSPACE Again, tighter than for NTIME (where in fact, we needed T(n+1) = o(T’(n) ) No “delayed flip,” because, as we will see later, NSPACE(O(S)) = co-NSPACE(O(S))!

17

slide-126
SLIDE 126

Space, Today

18

slide-127
SLIDE 127

Space, Today

DSPACE, NSPACE

18

slide-128
SLIDE 128

Space, Today

DSPACE, NSPACE Tight hierarchy.

18

slide-129
SLIDE 129

Space, Today

DSPACE, NSPACE Tight hierarchy. Coming up:

18

slide-130
SLIDE 130

Space, Today

DSPACE, NSPACE Tight hierarchy. Coming up: Connections with DTIME/NTIME

18

slide-131
SLIDE 131

Space, Today

DSPACE, NSPACE Tight hierarchy. Coming up: Connections with DTIME/NTIME Savitch’ s theorem: NSPACE(S) ⊆ DSPACE(S2)

18

slide-132
SLIDE 132

Space, Today

DSPACE, NSPACE Tight hierarchy. Coming up: Connections with DTIME/NTIME Savitch’ s theorem: NSPACE(S) ⊆ DSPACE(S2) Hence PSPACE = NPSPACE

18

slide-133
SLIDE 133

Space, Today

DSPACE, NSPACE Tight hierarchy. Coming up: Connections with DTIME/NTIME Savitch’ s theorem: NSPACE(S) ⊆ DSPACE(S2) Hence PSPACE = NPSPACE PSPACE-completeness and NL-completeness

18

slide-134
SLIDE 134

Space, Today

DSPACE, NSPACE Tight hierarchy. Coming up: Connections with DTIME/NTIME Savitch’ s theorem: NSPACE(S) ⊆ DSPACE(S2) Hence PSPACE = NPSPACE PSPACE-completeness and NL-completeness NSPACE = co-NSPACE

18

slide-135
SLIDE 135

Space, Today

P

PSPACE

EXP NP NEXP L NL

NPSPACE

DSPACE, NSPACE Tight hierarchy. Coming up: Connections with DTIME/NTIME Savitch’ s theorem: NSPACE(S) ⊆ DSPACE(S2) Hence PSPACE = NPSPACE PSPACE-completeness and NL-completeness NSPACE = co-NSPACE

18