Probabilistic Computation
Lecture 13 BPP vs. PH
1
Probabilistic Computation Lecture 13 BPP vs. PH 1 Recap 2 Recap - - PowerPoint PPT Presentation
Probabilistic Computation Lecture 13 BPP vs. PH 1 Recap 2 Recap Probabilistic computation 2 Recap Probabilistic computation NTM (on random certificates) for L: 2 Recap Probabilistic computation NTM (on random certificates)
1
2
Probabilistic computation
2
Probabilistic computation NTM (on “random certificates”) for L:
2
Probabilistic computation NTM (on “random certificates”) for L: Pr[M(x)=yes]:
2
Probabilistic computation NTM (on “random certificates”) for L: Pr[M(x)=yes]:
x∉L x∈L
2
Probabilistic computation NTM (on “random certificates”) for L: Pr[M(x)=yes]: PTM for L: Pr[yes]:
x∉L x∈L x∉L x∈L
2
Probabilistic computation NTM (on “random certificates”) for L: Pr[M(x)=yes]: PTM for L: Pr[yes]: BPTM for L: Pr[yes]:
x∉L x∈L x∉L x∈L x∉L x∈L
2
Probabilistic computation NTM (on “random certificates”) for L: Pr[M(x)=yes]: PTM for L: Pr[yes]: BPTM for L: Pr[yes]: RTM for L: Pr[yes]:
x∉L x∈L x∉L x∈L x∉L x∈L x∉L x∈L
2
3
PP, RP, co-RP, BPP
3
PP, RP, co-RP, BPP PP too powerful: NP ⊆ PP
3
PP, RP, co-RP, BPP PP too powerful: NP ⊆ PP RP, BPP, with bounded gap
3
PP, RP, co-RP, BPP PP too powerful: NP ⊆ PP RP, BPP, with bounded gap Gap can be boosted from 1/poly to 1-1/exp
3
PP, RP, co-RP, BPP PP too powerful: NP ⊆ PP RP, BPP, with bounded gap Gap can be boosted from 1/poly to 1-1/exp A realistic/useful computational model
3
PP, RP, co-RP, BPP PP too powerful: NP ⊆ PP RP, BPP, with bounded gap Gap can be boosted from 1/poly to 1-1/exp A realistic/useful computational model Today:
3
PP, RP, co-RP, BPP PP too powerful: NP ⊆ PP RP, BPP, with bounded gap Gap can be boosted from 1/poly to 1-1/exp A realistic/useful computational model Today: NP ⊈ BPP, unless PH collapses
3
PP, RP, co-RP, BPP PP too powerful: NP ⊆ PP RP, BPP, with bounded gap Gap can be boosted from 1/poly to 1-1/exp A realistic/useful computational model Today: NP ⊈ BPP, unless PH collapses BPP ⊆ Σ2P ∩ Π2P
3
4
Can randomized algorithms efficiently decide all NP problems?
4
Can randomized algorithms efficiently decide all NP problems? Unlikely: NP ⊆ BPP ⇒ PH = Σ2P
4
Can randomized algorithms efficiently decide all NP problems? Unlikely: NP ⊆ BPP ⇒ PH = Σ2P Will show BPP ⊆ P/poly
4
Can randomized algorithms efficiently decide all NP problems? Unlikely: NP ⊆ BPP ⇒ PH = Σ2P Will show BPP ⊆ P/poly Then NP ⊆ BPP ⇒ NP ⊆ P/poly
4
Can randomized algorithms efficiently decide all NP problems? Unlikely: NP ⊆ BPP ⇒ PH = Σ2P Will show BPP ⊆ P/poly Then NP ⊆ BPP ⇒ NP ⊆ P/poly ⇒ PH = Σ2P
4
5
If error probability is sufficiently small, will show there should be at least one random tape which works for all 2n inputs of length n
5
If error probability is sufficiently small, will show there should be at least one random tape which works for all 2n inputs of length n ☑ ☒ ☒ ☑ ☑ ☑ ☑ ☑ ☑ ☑ ☑ ☒ ☑ ☑ ☑ ☑ ☑ ☑ ☑ ☑ ☒ ☑ ☑ ☑ ☑ ☑ ☑ ☑ ☒ ☑ ☒ ☒ ☑ ☑ ☑ ☑ ☒ ☑ ☑ ☑ ☑ ☑ ☑ ☑ ☑ ☒ ☑ ☑ ☑ ☑ ☑ ☑ ☒ ☑ ☑ ☑ ☑ ☒ ☑ ☑ ☑ ☑ ☑ ☑ ☑ ☑ ☑ ☑ ☑ ☑ ☑ ☒ ☑ ☑ ☑ ☑ ☑ ☑ x r
5
If error probability is sufficiently small, will show there should be at least one random tape which works for all 2n inputs of length n Then, can give that random tape as advice ☑ ☒ ☒ ☑ ☑ ☑ ☑ ☑ ☑ ☑ ☑ ☒ ☑ ☑ ☑ ☑ ☑ ☑ ☑ ☑ ☒ ☑ ☑ ☑ ☑ ☑ ☑ ☑ ☒ ☑ ☒ ☒ ☑ ☑ ☑ ☑ ☒ ☑ ☑ ☑ ☑ ☑ ☑ ☑ ☑ ☒ ☑ ☑ ☑ ☑ ☑ ☑ ☒ ☑ ☑ ☑ ☑ ☒ ☑ ☑ ☑ ☑ ☑ ☑ ☑ ☑ ☑ ☑ ☑ ☑ ☑ ☒ ☑ ☑ ☑ ☑ ☑ ☑ x r
5
If error probability is sufficiently small, will show there should be at least one random tape which works for all 2n inputs of length n Then, can give that random tape as advice One such random tape if average (over x) error probability is less than 2-n ☑ ☒ ☒ ☑ ☑ ☑ ☑ ☑ ☑ ☑ ☑ ☒ ☑ ☑ ☑ ☑ ☑ ☑ ☑ ☑ ☒ ☑ ☑ ☑ ☑ ☑ ☑ ☑ ☒ ☑ ☒ ☒ ☑ ☑ ☑ ☑ ☒ ☑ ☑ ☑ ☑ ☑ ☑ ☑ ☑ ☒ ☑ ☑ ☑ ☑ ☑ ☑ ☒ ☑ ☑ ☑ ☑ ☒ ☑ ☑ ☑ ☑ ☑ ☑ ☑ ☑ ☑ ☑ ☑ ☑ ☑ ☒ ☑ ☑ ☑ ☑ ☑ ☑ x r
5
If error probability is sufficiently small, will show there should be at least one random tape which works for all 2n inputs of length n Then, can give that random tape as advice One such random tape if average (over x) error probability is less than 2-n BPP: can make worst error probability < 2-n ☑ ☒ ☒ ☑ ☑ ☑ ☑ ☑ ☑ ☑ ☑ ☒ ☑ ☑ ☑ ☑ ☑ ☑ ☑ ☑ ☒ ☑ ☑ ☑ ☑ ☑ ☑ ☑ ☒ ☑ ☒ ☒ ☑ ☑ ☑ ☑ ☒ ☑ ☑ ☑ ☑ ☑ ☑ ☑ ☑ ☒ ☑ ☑ ☑ ☑ ☑ ☑ ☒ ☑ ☑ ☑ ☑ ☒ ☑ ☑ ☑ ☑ ☑ ☑ ☑ ☑ ☑ ☑ ☑ ☑ ☑ ☒ ☑ ☑ ☑ ☑ ☑ ☑ x r
5
6
BPP ⊆ Σ2P
6
BPP ⊆ Σ2P So BPP ⊆ Σ2P ∩ Π2P
6
7
x∈L: “for almost all” r, M(x,r)=yes
7
x∈L: “for almost all” r, M(x,r)=yes x∉L: M(x,r)=yes for very few r
7
x∈L: “for almost all” r, M(x,r)=yes x∉L: M(x,r)=yes for very few r L = { x| for almost all r, M(x,r)=yes }
7
x∈L: “for almost all” r, M(x,r)=yes x∉L: M(x,r)=yes for very few r L = { x| for almost all r, M(x,r)=yes } If it were “for all”, in coNP
7
x∈L: “for almost all” r, M(x,r)=yes x∉L: M(x,r)=yes for very few r L = { x| for almost all r, M(x,r)=yes } If it were “for all”, in coNP L = { x| ∃a small “neighborhood”, ∀r’, for some r “near” r’, M(x,r)=yes }
7
x∈L: “for almost all” r, M(x,r)=yes x∉L: M(x,r)=yes for very few r L = { x| for almost all r, M(x,r)=yes } If it were “for all”, in coNP L = { x| ∃a small “neighborhood”, ∀r’, for some r “near” r’, M(x,r)=yes } Note: Neighborhood of r is small (polynomially large), so can go through all of them in polynomial time
7
Space of random tapes = {0,1}m Yesx = {r| M(x,r)=yes }
8
x∈L: |Yesx|>(1-2-n)2m Space of random tapes = {0,1}m Yesx = {r| M(x,r)=yes }
8
x∉L: |Yesx|<2-n2m x∈L: |Yesx|>(1-2-n)2m Space of random tapes = {0,1}m Yesx = {r| M(x,r)=yes }
8
x∈L: Will show that there exist a small set of shifts of Yesx that cover all r’ s
x∉L: |Yesx|<2-n2m x∈L: |Yesx|>(1-2-n)2m Space of random tapes = {0,1}m Yesx = {r| M(x,r)=yes }
8
x∈L: Will show that there exist a small set of shifts of Yesx that cover all r’ s x∉L: Yesx very small, so its few shifts cover only a small region
x∉L: |Yesx|<2-n2m x∈L: |Yesx|>(1-2-n)2m Space of random tapes = {0,1}m Yesx = {r| M(x,r)=yes }
8
9
“A small set of shifts”: P = {u1,u2,...,uk}
9
“A small set of shifts”: P = {u1,u2,...,uk} P(r)={ r⊕u1,r⊕u2,...,r⊕uk} where r, ui are m-bit strings, and k is “small” (poly(n))
9
“A small set of shifts”: P = {u1,u2,...,uk} P(r)={ r⊕u1,r⊕u2,...,r⊕uk} where r, ui are m-bit strings, and k is “small” (poly(n)) For each x∈L, does there exist a P s.t. P(Yesx) := ∪r∈Yes(x) P(r) = {0,1}m?
9
“A small set of shifts”: P = {u1,u2,...,uk} P(r)={ r⊕u1,r⊕u2,...,r⊕uk} where r, ui are m-bit strings, and k is “small” (poly(n)) For each x∈L, does there exist a P s.t. P(Yesx) := ∪r∈Yes(x) P(r) = {0,1}m? Yes! For all large S (like Yesx) can indeed find a P s.t. P(S) = {0,1}m
9
“A small set of shifts”: P = {u1,u2,...,uk} P(r)={ r⊕u1,r⊕u2,...,r⊕uk} where r, ui are m-bit strings, and k is “small” (poly(n)) For each x∈L, does there exist a P s.t. P(Yesx) := ∪r∈Yes(x) P(r) = {0,1}m? Yes! For all large S (like Yesx) can indeed find a P s.t. P(S) = {0,1}m In fact, most P work (if k big enough)!
9
10
Probabilistic Method (finding hay in haystack)
10
Probabilistic Method (finding hay in haystack) To prove ∃P with some property
10
Probabilistic Method (finding hay in haystack) To prove ∃P with some property Define a probability distribution over all candidate P’ s and prove that the property holds with positive probability (often even close to one)
10
Probabilistic Method (finding hay in haystack) To prove ∃P with some property Define a probability distribution over all candidate P’ s and prove that the property holds with positive probability (often even close to one) Distribution s.t. easy to prove positive probability of property holding
10
11
Probabilistic method to find P = {u1,u2,...,uk}, s.t. for all large S, P(S) = {0,1}m
11
Probabilistic method to find P = {u1,u2,...,uk}, s.t. for all large S, P(S) = {0,1}m Distribution over P’ s: randomized experiment to generate P
11
Probabilistic method to find P = {u1,u2,...,uk}, s.t. for all large S, P(S) = {0,1}m Distribution over P’ s: randomized experiment to generate P Pick each ui independently, and uniformly at random from {0,1}m
11
Probabilistic method to find P = {u1,u2,...,uk}, s.t. for all large S, P(S) = {0,1}m Distribution over P’ s: randomized experiment to generate P Pick each ui independently, and uniformly at random from {0,1}m Pr(over P)[P(S) ≠ {0,1}m] = Pr(over P)[∃z z∉P(S)]
11
Probabilistic method to find P = {u1,u2,...,uk}, s.t. for all large S, P(S) = {0,1}m Distribution over P’ s: randomized experiment to generate P Pick each ui independently, and uniformly at random from {0,1}m Pr(over P)[P(S) ≠ {0,1}m] = Pr(over P)[∃z z∉P(S)]
11
Probabilistic method to find P = {u1,u2,...,uk}, s.t. for all large S, P(S) = {0,1}m Distribution over P’ s: randomized experiment to generate P Pick each ui independently, and uniformly at random from {0,1}m Pr(over P)[P(S) ≠ {0,1}m] = Pr(over P)[∃z z∉P(S)]
11
Probabilistic method to find P = {u1,u2,...,uk}, s.t. for all large S, P(S) = {0,1}m Distribution over P’ s: randomized experiment to generate P Pick each ui independently, and uniformly at random from {0,1}m Pr(over P)[P(S) ≠ {0,1}m] = Pr(over P)[∃z z∉P(S)] ≤ Σz Pr(over P)[z∉P(S)]
11
Probabilistic method to find P = {u1,u2,...,uk}, s.t. for all large S, P(S) = {0,1}m Distribution over P’ s: randomized experiment to generate P Pick each ui independently, and uniformly at random from {0,1}m Pr(over P)[P(S) ≠ {0,1}m] = Pr(over P)[∃z z∉P(S)] ≤ Σz Pr(over P)[z∉P(S)] = Σz Pr(over u1..uk)[∀i z⊕ui ∉ S]
11
Probabilistic method to find P = {u1,u2,...,uk}, s.t. for all large S, P(S) = {0,1}m Distribution over P’ s: randomized experiment to generate P Pick each ui independently, and uniformly at random from {0,1}m Pr(over P)[P(S) ≠ {0,1}m] = Pr(over P)[∃z z∉P(S)] ≤ Σz Pr(over P)[z∉P(S)] = Σz Pr(over u1..uk)[∀i z⊕ui ∉ S] = Σz Πi Pr (over ui)[z⊕ui ∉ S]
11
Probabilistic method to find P = {u1,u2,...,uk}, s.t. for all large S, P(S) = {0,1}m Distribution over P’ s: randomized experiment to generate P Pick each ui independently, and uniformly at random from {0,1}m Pr(over P)[P(S) ≠ {0,1}m] = Pr(over P)[∃z z∉P(S)] ≤ Σz Pr(over P)[z∉P(S)] = Σz Pr(over u1..uk)[∀i z⊕ui ∉ S] = Σz Πi Pr (over ui)[z⊕ui ∉ S] = Σz Πi Pr (over ui)[ui ∉ z⊕S]
11
Probabilistic method to find P = {u1,u2,...,uk}, s.t. for all large S, P(S) = {0,1}m Distribution over P’ s: randomized experiment to generate P Pick each ui independently, and uniformly at random from {0,1}m Pr(over P)[P(S) ≠ {0,1}m] = Pr(over P)[∃z z∉P(S)] ≤ Σz Pr(over P)[z∉P(S)] = Σz Pr(over u1..uk)[∀i z⊕ui ∉ S] = Σz Πi Pr (over ui)[z⊕ui ∉ S] = Σz Πi (|Sc|/2m) = Σz Πi Pr (over ui)[ui ∉ z⊕S]
11
Probabilistic method to find P = {u1,u2,...,uk}, s.t. for all large S, P(S) = {0,1}m Distribution over P’ s: randomized experiment to generate P Pick each ui independently, and uniformly at random from {0,1}m Pr(over P)[P(S) ≠ {0,1}m] = Pr(over P)[∃z z∉P(S)] < Σz Πi 2-n ≤ Σz Pr(over P)[z∉P(S)] = Σz Pr(over u1..uk)[∀i z⊕ui ∉ S] = Σz Πi Pr (over ui)[z⊕ui ∉ S] = Σz Πi (|Sc|/2m) = Σz Πi Pr (over ui)[ui ∉ z⊕S]
11
Probabilistic method to find P = {u1,u2,...,uk}, s.t. for all large S, P(S) = {0,1}m Distribution over P’ s: randomized experiment to generate P Pick each ui independently, and uniformly at random from {0,1}m Pr(over P)[P(S) ≠ {0,1}m] = Pr(over P)[∃z z∉P(S)] < Σz Πi 2-n ≤ Σz Pr(over P)[z∉P(S)] = Σz Pr(over u1..uk)[∀i z⊕ui ∉ S] = Σz Πi Pr (over ui)[z⊕ui ∉ S] = Σz Πi (|Sc|/2m) = 2m.(2-n)k = 1 = Σz Πi Pr (over ui)[ui ∉ z⊕S]
11
Probabilistic method to find P = {u1,u2,...,uk}, s.t. for all large S, P(S) = {0,1}m Distribution over P’ s: randomized experiment to generate P Pick each ui independently, and uniformly at random from {0,1}m Pr(over P)[P(S) ≠ {0,1}m] = Pr(over P)[∃z z∉P(S)] So (with |S|>(1-2-n)2m and k=m/n), ∃P, P(S) = {0,1}m < Σz Πi 2-n ≤ Σz Pr(over P)[z∉P(S)] = Σz Pr(over u1..uk)[∀i z⊕ui ∉ S] = Σz Πi Pr (over ui)[z⊕ui ∉ S] = Σz Πi (|Sc|/2m) = 2m.(2-n)k = 1 = Σz Πi Pr (over ui)[ui ∉ z⊕S]
11
x∉L: |Yesx|<2-n2m x∈L: |Yesx|>(1-2-n)2m Space of random strings = {0,1}m Yesx = {r| M(x,r)=yes }
12
For each x∈L, ∃P (of size k=m/n) s.t. P(Yesx)={0,1}m
x∉L: |Yesx|<2-n2m x∈L: |Yesx|>(1-2-n)2m Space of random strings = {0,1}m Yesx = {r| M(x,r)=yes }
12
For each x∈L, ∃P (of size k=m/n) s.t. P(Yesx)={0,1}m For each x∉L, P(Yesx) ⊊ {0,1}m
x∉L: |Yesx|<2-n2m x∈L: |Yesx|>(1-2-n)2m Space of random strings = {0,1}m Yesx = {r| M(x,r)=yes }
12
For each x∈L, ∃P (of size k=m/n) s.t. P(Yesx)={0,1}m For each x∉L, P(Yesx) ⊊ {0,1}m | P(Yesx) | ≤ k| Yesx | = (m/n) 2-n2m < 2m
x∉L: |Yesx|<2-n2m x∈L: |Yesx|>(1-2-n)2m Space of random strings = {0,1}m Yesx = {r| M(x,r)=yes }
12
For each x∈L, ∃P (of size k=m/n) s.t. P(Yesx)={0,1}m For each x∉L, P(Yesx) ⊊ {0,1}m | P(Yesx) | ≤ k| Yesx | = (m/n) 2-n2m < 2m L = { x| ∃P ∀r’ for some r∈P-1(r’) M(x,r)=yes }
x∉L: |Yesx|<2-n2m x∈L: |Yesx|>(1-2-n)2m Space of random strings = {0,1}m Yesx = {r| M(x,r)=yes }
12
13
Not known!
13
Not known! Usual attempt: L = { (M,x,1t) | M(x)=yes in time t with probability > 2/3}
13
Not known! Usual attempt: L = { (M,x,1t) | M(x)=yes in time t with probability > 2/3} Is indeed BPP-Hard
13
Not known! Usual attempt: L = { (M,x,1t) | M(x)=yes in time t with probability > 2/3} Is indeed BPP-Hard But in BPP?
13
Not known! Usual attempt: L = { (M,x,1t) | M(x)=yes in time t with probability > 2/3} Is indeed BPP-Hard But in BPP? Just run M(x) for t steps and accept if it accepts?
13
Not known! Usual attempt: L = { (M,x,1t) | M(x)=yes in time t with probability > 2/3} Is indeed BPP-Hard But in BPP? Just run M(x) for t steps and accept if it accepts? If (M.x.1t) in L, we will indeed accept with prob. > 2/3
13
Not known! Usual attempt: L = { (M,x,1t) | M(x)=yes in time t with probability > 2/3} Is indeed BPP-Hard But in BPP? Just run M(x) for t steps and accept if it accepts? If (M.x.1t) in L, we will indeed accept with prob. > 2/3 But M may not have a bounded gap. Then, if (M,x,1t) not in L, we may accept with prob. very close to 2/3.
13
14
BPTIME(n) ⊊ BPTIME(n100)?
14
BPTIME(n) ⊊ BPTIME(n100)? Not known!
14
BPTIME(n) ⊊ BPTIME(n100)? Not known! But is true for BPTIME(T)/1
14
15
Probabilistic computation
15
Probabilistic computation BPP ⊆ P/poly (so if NP ⊆ BPP, then PH=Σ2P)
15
Probabilistic computation BPP ⊆ P/poly (so if NP ⊆ BPP, then PH=Σ2P) BPP ⊆ Σ2P ∩ Π2P
15
Probabilistic computation BPP ⊆ P/poly (so if NP ⊆ BPP, then PH=Σ2P) BPP ⊆ Σ2P ∩ Π2P Coming up
15
Probabilistic computation BPP ⊆ P/poly (so if NP ⊆ BPP, then PH=Σ2P) BPP ⊆ Σ2P ∩ Π2P Coming up Basic randomized algorithmic techniques
15
Probabilistic computation BPP ⊆ P/poly (so if NP ⊆ BPP, then PH=Σ2P) BPP ⊆ Σ2P ∩ Π2P Coming up Basic randomized algorithmic techniques Saving on randomness
15