


Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
A lecture note from cs221: computational complexity course, taught by prof. Salil vadhan at harvard university. The lecture covers the concepts of randomized complexity and circuit complexity. The definition of bpp (bounded-error probabilistic polynomial-time), the bpp amplification lemma, and the relationship between bpp and the polynomial hierarchy. The lecture also introduces zpp (zero-error probabilistic polynomial-time) and the relationship between zpp and rp (recognizable probabilistic polynomial-time) and co-rp. The document concludes with the discussion on circuit complexity and the choice of basis.
Typology: Study notes
1 / 4
This page cannot be seen from the preview
Don't miss anything!



CS221: Computational Complexity Prof. Salil Vadhan
11/04 Scribe: Ethan Abraham
1 Plan for Lecture 1
2 Recap 1
3 Randomized Complexity 1
4 Circuit Complexity 4
Definition 1 L ∈ BPP if ∃ a probabilistic polynomial-time Turing Machine M such that
We also recall the following lemma:
Lemma 2 (BPP Amplification Lemma) If L ∈ BPP, then for all poly- nomials p, L has a BPP algorithm with error probability ≤ 2 −p(n).
What do we know?
What don’t we know?
However, we do have the following theorem, that gives some bound on how large BPP can be:
Theorem 3 (Sipser) BPP ⊆ Σ 2 P ∩ Π 2 P
Based on our knowledge of the polynomial hierarchy, we have the following immediate corollary:
Corollary 4 P = NP ⇒ BPP = P ⇒ BPP 6 = EXP, so either P 6 = NP or BPP 6 = EXP.
Proof of Theorem (Lautemann): Suppose L ∈ BPP. By the BPP Amplification Lemma, we can assume that L has a BPP algorithm with error probability 2−n. Thus ∃ a polynomial relation R ∈ P and a polynomial p(n) such that, for a random r ← {R 0 , 1 }p(n):
x ∈ L ⇒ Pr r [R(x, r) = 1] ≥ 1 − 2 −n
x /∈ L ⇒ Pr r [R(x, r) = 0] ≤ 2 −n
Basically, the relation is hard-coding the possible random choices into a prechosen random string. Let Ax = {r ∈ { 0 , 1 }p(n)^ : R(x, r) = 1}. Ax represents which random choices will give an accepting computation. In very non-technical terms, if x ∈ L, Ax is a large subset of { 0 , 1 }p(n), while if
We have defined RP, co-RP, andBPP with respect to probabilistic algo- rithms which always halt within a polynomial number of steps (a.k.a. strict polynomial time). We can also consider algorithms that have expected poly- nomial running time and zero error.
Definition 9 L ∈ ZPP ⇔ ∃ a probabilistic, error-free TM M for L and a polynomial p such that ∀x, (^) E(T (M (x))) ≤ p(|x|), where T (M (x)) is the random variable denoting the number of steps taken by M on x.
Proposition 10 ZPP = RP ∩ co-RP.
For a sketch of the proof, if we have an RP and a co-RP algorithm for some language L, we can just run both algorithms in parallel. If they halt on the same answer (accept or reject) that is the answer. This will happen “almost all” of the time. Sometimes, one will make a mistake, and they will halt on different answers. In this case, we just repeat the run, using different random choices.
So far, we have spoken only about the complexity of functions defined on an infiinite set of inputs. Can we talk about the complexity of finite functions? If we have a function f : { 0 , 1 }n^ → { 0 , 1 }, we define the circuit complexity of f to be the number of gates (including input gates) in the smallest circuit computing f. This definition, we note, is dependent on the basis, the set of gates, that we use to construct circuits. Any universal one, ie one that allows us to construct every possible 1-ary and 2-ary function, can be used.
Although the choice of basis affects the circuit complexity, it affects it by at most a constant factor.