


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 transcript of lecture 22 of cs221: computational complexity, taught by prof. Salil vadhan at harvard university. The lecture focuses on the proof that the parity function cannot be computed by circuits of constant depth and unbounded fan-in (ac0), using the probabilistic method and algebra. The proof has implications for the computational complexity of various functions.
Typology: Study notes
1 / 4
This page cannot be seen from the preview
Don't miss anything!



CS221: Computational Complexity Prof. Salil Vadhan
11/18 Scribe: Nicholas Shiftan
Note: This lecture was delivered by Emanuele Viola.
Before we begin today’s proof, we need to offer somes definitions and notations.
Definition 1 AC 0 is the class of languages that can be decided by circuits with constant depth and unbounded fan-in.
Recall that X¯ := X 1 , ...Xn. Then we can define the Parity (⊕) function as follows:
⊕( X¯) =
i
Xi mod 2
In other words, the Parity function on a binary string returns true if the string has an odd number of 1s, and false otherwise.
For the purpose of this lecture, all circuits discussed will be over the basis {∨, ¬}. We can still express an AND relationship, though, using DeMorgan’s Law:
α ∧ β = ¬(¬α ∨ ¬β)
Thus our decision to use this basis will increase our circuit depth by at most a constant factor.
We can now offer the actual theorem:
Theorem 2 ⊕ cannot be computed by circuits of depth d and size 2 n
o( (^1) d )
Proof: This proof is attributed to Smolensky. It uses a number of tools, including arithmetization, algebra, and the probabilistic method. The basic idea is simple; we will prove two facts:
It is trivial to conclude that ⊕ 6 ∈ AC 0 once we have proved these two facts.
Claim 3 Let C have size s and depth d. C is 99% approximated by a polynomial of degree log(s)O(d) over Z 3 = { 0 , 1 , 2 } = { 0 , 1 , − 1 }
Proof: By construction. We will show to how map OR gates and NOT gates to such polynomials. Consider first an OR gate with input X = {X 1 , ..., Xn}. Then,
OR(X) = 1 −
i
(1 − Xi)
Now, this polynomial returns the correct answer 100% of the time, but its degree (n) is too high. Before we can show how to lower its degree (at the cost of a slight probability of error), we need to offer another definition:
Definition 4 A probabilistic polynomial pR of degree d is a distribution on polynomials of degree d such that pR computes f with error ≤ if ∀x,
P R
{pR(x) 6 = f (x)} ≤ ≤
Then, if we pick a 1 , ..., an ∈ Z 3 at random, we can offer such a probabilistic polynomial p¯a for the OR function: p¯a( X¯) =
aixi where ¯a ∈ Zn 3
Clearly, if OR(¯x) = 0, then p¯a(¯x) = 0 for every ¯a. So we just need to show that if ¯x 6 = 0, then pa¯(¯x) 6 = 0 with high probability. This follows from the fact that
i aixi^ is a nonzero polynomial of degree 1 in ¯a. Thus, by the Schwartz-Zippel Lemma (the lemma we used to analyze the randomized algorithm for Identity Testing), if we choose ¯a randomly in Zn 3 , we have
P ¯a {p¯a(¯x) = 0} ≤^
Now, a nice property of Z 3 is that the only nonzero elements are { 1 , 2 } = { 1 , − 1 }, both of whose squares are 1. Thus p^2 a(X) computes OR with probability 23 , and has degree 2. But, of course, we can amplify this probability, by taking the OR of k probabilistic polynomials:
pR( X¯) = OR
p^2 ¯a 1 ( X¯), p^2 ¯a 2 ( X¯), ..., p^2 ¯ak ( X¯)
The degree of this polynomial is 2k, and it’s error probability is
3
)k
. So, if we let k = log 3 100 s, then our degree is O(log s), and our error probability is (^1001) s.
Now consider NOT gates. This is far simpler, as we need only one straightforward equation:
¬x = 1 − x
Clearly, this arithmetization introduces no error into our equation. Now, let ˆp be our ”final poly- nomial”, which we can obtain by composing together all the probabilistic polynomials associated with the circuit gates (using different random bits for each). Then ˆp has degree (log s)O(d). So what is the error of ˆp? For all x, the union bound tells us that:
R
{ˆpR(x) 6 = C(x)} ≤ s
100 s
Furthermore,
P x,R
{pˆR(x) = C(x)} ≥ 99% =⇒ ∃p s.t. (^) P x
{pˆ(x) = C(x)} ≥ 99%
And so the proof is complete.
Now, we’re ready to tackle the other half of this proof.
Claim 5 ⊕ cannot be 99% approximated by a polynomial of degree α
n (for some α) over Z 3.
Proof: By contradiction. Suppose that ⊕ can be 99% approximated by a polynomial of degree α
n (for all values of α). Thus it follows that there must exist some set S such that |S| = 99% · 2 n and such that there exists a polynomial p of degree α
n such that ⊕(x) = p(x), for all x ∈ S.
By assumption, if we replace the ⊕′^ X¯ with p′( X¯) without changing the function on S. Then the degree of the first sum is n 2 and the degree of the second is, after substitution, n/2 + α
n. Thus it follows that the total degree is n 2 + α
n. Thus every function f : S 7 → Z 3 can be written as a polynomial of degree ≤ α
n + n 2.
This, however, leads us to a contradiction; a simple counting argument shows us that there are more functions on S than polynomials of degree ≤ α
n + n 2. (We will do all our counting log 3 for simplicity) log 3 (# functions on S) = |S| = 99%2n
log 3 (# polynomials of degree α
n + n 2 ) =
n 2 +α√n ∑
i=
n i
n 2 ∑
i=
n i
n 2 +α√n ∑
i= n 2
n i
2 n 2
n 2 +α
√n ∑
i= n 2
n i
2 n 2
n 2 +α
√n ∑
i= n 2
2 n √ n
2 n 2
Thus there exist values of α (any value less than .49) such that there are more functions on S than polynomials of degree n 2 + α
n. Since a contradiction has been forced, it follows that our assumption must have been false. Thus ⊕ cannot be 99% approximated by a polynomial of degree α
n for all values of α.
To conclude our proof, suppose we have a circuit computing ⊕ in degree d and size s. From the first claim, we know that the circuit can be approximated by a poly. of degree log(s)O(d). And from the second lemma, we know that the circuit cannot be approximated by a polynomial of degree α
n. Thus, it follows that
log(s)O(d)^ ≥ α
n log(s) ≥ nΩ(^
1 d )
s ≥ 2 n
Ω( (^1) d )
And our proof is complete.