# CMPSCI 601: Theory of Computation

### Due by Wednesday 14 May 2003 9:05 a.m.

#### (Off-campus students make arrangements with Kazu)

(Revisions to Question 1 made on 4 May 2003.)

• Question 1 (10 points + 5 extra credit): Prove the first Lemma from Lecture 23: that if T is any binary tree with n nodes, where n > 1, there is an edge in T that divides it into two pieces, each with at most 2n/3 nodes. Assume that each node in the tree has either zero or two children. You may want to prove and use the lemma that in such a tree, the subtree under any node has odd size.

• Alternate Question 1 (10 points, points cannot be combined with original Question 1): Let T be any binary tree of n nodes, possibly with only children. Assume that n > 9. Prove that there is an edge dividing T into two pieces, with a nodes in the piece without the root, such that the numbers a and n-a+1 are each at most 3n/4. (If you need a larger lower bound on n it will cost you only a point as long as it is constant.)

(This version reflects the use of the Lemma in the Theorem about CFL's. When the tree is divided along the edge, the subproblem containing the root must contain a node representing the other tree.)

• Question 2 (10 points): Prove the second Lemma from Lecture 23: that if a, b, and c are any three nodes in a rooted binary tree, such that none is an ancestor of another, there exists a node d in the tree that is an ancestor of exactly two of them.

• Question 3 (40 points): If we have any definition of "addition" and "multiplication" on individual items, we can define multiplication on n-by-n matrices of those items. If A and B are such matrices, C=AB is defined to be the matrix such that for any i and j from 1 to n, Ci,j is the "sum", over all k, of Ai,k "times" Bk,j. Define ITMULT to be the problem of inputting n matrices A1,...,An and returning the product A1A2...An. The definition of the ITMULT problem of course varies as we vary the definition of addition and multiplication.

• (a,10) Using the observations about arithmetic in Lecture 24, prove that ITMULT over the integers is in ThC1. Note: Assume that your input matrices have entries with at most n bits. How big could the entries of your output matrix be, in big-O terms?

• (b,15) Consider boolean matrix multiplication, where items are 0 or 1, "addition" is OR, and "multiplication" is AND. (Equivalently, we use boolean arithmetic where 1 + 1 = 1 and multiplication is normal.) Prove that ITMULT over this domain is NL-complete. (Hint: Consider the LEVELLED-REACH problem from HW#5 Question 12.) (Extraneous dollar signs removed 10 May.)

• (c,15) Consider the min-plus domain, where entries are integers, "addition" means taking the minimum and "multiplication" means ordinary addition. The Floyd-Warshall algorithm for all-pairs-shortest-path in a graph with positive weights consists of taking the weight matrix of the graph and raising it to the (n-1)'st power in this domain. (See [CLRS], Chapter 25.2) You don't have to prove this, but do prove that ITMULT in the min-plus domain is in AC1.

• Question 4 (0 points):THERE IS NO QUESTION 4. Actually, if you want an extra question, you can prove that CRAM[login] (poly-many processors with O(logi) parallel time) is the same as ACi, ignoring uniformity issues. You could use either the circuit or the ATM characterization of ACi. But please don't hand this problem in, as Kazu already has enough to grade.

• Question 5 (20 points): Prove that the SUCCINCT-REACH problem, defined in Lecture 24, is PSPACE-complete. This problem is to take a graph, whose set of nodes is exactly {w: w is a string of length n}, and whose edge predicate is defined by a circuit given to you as part of the input, and solve a given REACH problem on it. Typo fixed in this question 5 May 2003.

• Question 6 (20 points): Do Problem 11.5.18 in [P]. This problem uses definitions from Lecture 25.