Homework 1

This homework covers the material from lectures 1 to 5.

Due date: May 27th, 10pm Waterloo time.

PDF version of Homework 1.

LaTeX template, in case you want to write it in LaTeX.

Required Exercises

Problem 1 - Simulations Between Classses (20 points)

Part 1 (10 points)

Prove that any algebraic formula Φ of size s can be simulated by an ABP of size O(s).

Part 2 (10 points)

Prove that an ABP of size s can be simulated by a circuit of size poly(s).

Problem 2 - Another Proof that Permanent in VNP (20 points)

In this question we will study the complexity of certain polynomials with {0,1} coefficients.

  1. Given a 3-CNF formula Φ over the boolean variables w1,,wn, define the polynomial fΦ(x1,,xn) as the polynomial whose coefficient of the monomial x1w1xnwn equals Φ(w1,,wn).

Prove that fΦVNP.

  1. Generalize the statement of part (1) to hold if instead we have Φ being any boolean formula of polynomial size.

  2. Use part (2) to conclude that the permanent polynomial PerVNP.

Problem 3 - Some families in VP (20 points)

Part 1 (10 points)

Consider the elementary symmetric polynomial of degree d in n variables.

ESd(x1,,xn)=S[n] |S|=diSxi

  1. Prove that for any pair (n,d) where nd the elementary symmetric polynomial can be computed by a circuit of size poly(n,d) and depth 3. That is, the elementary symmetric polynomials can also be computed really fast in the parallel model.

Hint: Consider the polynomial p(x1,,xn,t)=i=1n(t+xi)

Part 2 (10 points)

The Schur polynomials are an important family of polynomials in algebraic combinatorics and representation theory. These polynomials generalize the elementary symmetric polynomials as well as the complete homogeneous symmetric polynomials.

They are defined as follows: given a partition λ:=(λ1,λ2,,λn) where λ1λn0, we have sλ(x1,,xn):=TST(λ)i=1nxiti where ST(λ) is the set of all semi-standard Young Tableaux of shape λ and ti counts the number of occurrences of the element i in the tableau T.

Prove that for any partition λ of d into n parts, sλ can be computed by a circuit of size poly(n,d).

Hint: you do not need to know anything about tableaux to solve this problem! You may want to look up this wikipedia page for an alternative way to write these polynomials and use division elimination.

Problem 4 - Homogenization via Interpolation (20 points)

In lecture we saw how to efficiently compute the homogeneous component of a circuit of any degree, by transforming the circuit. Here we will new see how to efficiently compute the homogeneous component of a circuit via interpolation.

Let Φ(x1,,xn) be a circuit of size s computing a polynomial f(x1,,xn) of degree d. Let f(x1,,xn)=i=0dfi(x1,,xn) be the decomposition of f into its homogeneous components.

Let t be a new formal variable and consider the polynomial f(tx1,,txn) computed by Φ(tx1,,txn).

Use interpolation to extract the degree k homogeneous component of f from the polynomial computed by Φ(tx1,,txn).

Problem 5 - Matrix Multiplication and Circuit Complexity (20 points)

Let X,Y be two n×n matrices. We say that a circuit Φ computes the product of X and Y if Φ contains n2 gates gij such that gij computes the dot product of the i-th row of X and the j-th column of Y. As we have discussed in class, such circuits capture all algebraic ways to compute the product of two matrices.

Let ω be the exponent of matrix multiplication, where ω is defined as follows:

ω:=infαR O(nα) size algebraic circuit computing XY.

Let X=(xij), Y=(yij) and Z=(zij) be three symbolic n×n matrices.

Let P(X,Y,Z):=i,j=1nzijk=1nxikykj. Note that the coefficient of zij in P is the dot product of the i-th row of X and the j-th column of Y. That is, it computes the i,j-th entry of the product of X and Y.

  1. Let Φ be a circuit of size s computing P. Show that ωlogn(s).

  2. Let Ψ be a circuit of size s:=nα computing the product of X and Y. Show that Ψ can be transformed into a circuit of size O(s) computing P.

Thus, we have reduced the problem of computing the exponent of matrix multiplication to the problem of computing the size of a circuit computing a specific polynomial.

Next