Computational Complexity: Lecture 18 - Randomized Computation and Circuit Complexity, Study notes of Computational Methods

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

2010/2011

Uploaded on 10/28/2011

thecoral
thecoral 🇺🇸

4.5

(30)

395 documents

1 / 4

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
CS221: Computational Complexity Prof. Salil Vadhan
Lecture 18: Randomized Computation
and Circuit Complexity
11/04 Scribe: Ethan Abraham
Contents
1 Plan for Lecture 1
2 Recap 1
3 Randomized Complexity 1
4 Circuit Complexity 4
1 Plan for Lecture
Randomized Computation (Papadimitrou §11.1 - §11.2, Thm. 17.12)
Circuit Complexity (Papadimitrou §11.4)
2 Recap
Definition 1 LBPP if a probabilistic polynomial-time Turing Machine
M such that
xLPr [M(x)accepts]2/3
x /LPr [M(x)rejects]1/3.
We also recall the following lemma:
Lemma 2 (BPP Amplification Lemma) If LBPP, then for all poly-
nomials p,Lhas a BPP algorithm with error probability 2p(n).
1
pf3
pf4

Partial preview of the text

Download Computational Complexity: Lecture 18 - Randomized Computation and Circuit Complexity and more Study notes Computational Methods in PDF only on Docsity!

CS221: Computational Complexity Prof. Salil Vadhan

Lecture 18: Randomized Computation

and Circuit Complexity

11/04 Scribe: Ethan Abraham

Contents

1 Plan for Lecture 1

2 Recap 1

3 Randomized Complexity 1

4 Circuit Complexity 4

1 Plan for Lecture

  • Randomized Computation (Papadimitrou §11.1 - §11.2, Thm. 17.12)
  • Circuit Complexity (Papadimitrou §11.4)

2 Recap

Definition 1 L ∈ BPP if ∃ a probabilistic polynomial-time Turing Machine M such that

  • x ∈ L ⇒ Pr [M (x)accepts] ≥ 2 / 3
  • x /∈ L ⇒ Pr [M (x)rejects] ≤ 1 / 3.

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).

3 Randomized Complexity

3.1 Bounds on BPP

What do we know?

  • P ⊆ RP, P ⊆ co-RP
  • RP ⊆ NP, RP ⊆ BPP
  • co-RP ⊆ BPP, co-RP ⊆ co-NP

What don’t we know?

  • We don’t know the relationship between BPP and NP.
  • We don’t even know that BPP 6 = NEXP. This is downright insulting.

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

3.2 ZPP

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.

4 Circuit Complexity

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.

  • S = {∧, ∨, ¬}, our usual basis.
  • B 2 = {all 2-ary functions}
  • {∨, ⊕}, which represents multiplication and addition mod 2.
  • {nand}

Although the choice of basis affects the circuit complexity, it affects it by at most a constant factor.