CMPSCI 741: Circuit Complexity Theory
David Mix Barrington
Fall, 2006
This is the home page for CMPSCI 741.
CMPSCI 741 is an advanced graduate course in circuit complexity theory and
will deal with circuit complexity classes, examples of algorithms in circuit
models, and lower bounds. There are two texts, Vollmer's Introduction to
Circuit Complexity (first edition, Springer Verlag) and the notes from the
PCMI 2000 undergraduate complexity lectures by Alexis Maciel and I, available
on the web at an address I gave in the first lecture (we don't want to link to
these).
Instructor Contact Info:
David Mix Barrington, 210 CMPSCI
building, 545-4329, office hours MTuWThF 11-12.
I generally answer my email fairly
reliably.
The course will meet for two lecture meetings a week, TuTh 1:00-2:15 in
room 140, Computer Science Building.
Announcements (5 October 2006):
- (17 Oct) Here's the summary of last week's lectures:
- Lecture 10, 10 October: We discussed various versions of the class
TC0, proving that the DLOGTIME-uniform version is equal to the
descriptive complexity class FOM -- first-order logic with majority quantifiers
and the BIT predicate. We briefly discussed the version of FOM without BIT
(and allowing majority quantifiers to act only on single variables), and I
suggested another possible final project topic, "The Descriptive Complexity
Approach to LOGCFL" by Lautemann, McKenzie, Schwentick, and Vollmer (STACS
1999). This paper proves, among other things, that FOM without BIT cannot
recognize the unary language of strings whose length is a perfect square.
We developed integer arithmetic through multiplication of long integers in FOM,
following PCMI lecture A6.
- Lecture 11, 12 October: Following PCMI lecture A7, we proved a weak
version of the Prime Number Theorem using Kolmogorov complexity, then applied
this to show that the word problem for the free group on two generators is in
LOGSPACE, and that threshold functions with poly-log thresholds are in FO.
This also provides a warmup for the next lecture where we will use Chinese
Remainder Representation to divide integers in FOM. That presentation will
follow the paper by Hesse, Allender, and Barrington in JCSS 2002.
- (5 Oct) Hmm... I have gotten a little behind, haven't I? Here's the
summaries of the last several lectures:
- Lecture 6, 26 September: The inductive case of the FO = AC0
theorem, and the non-uniform base case. The base case, and the equivalence of
FO + BIT and FO + (PLUS, TIMES) with each other, require a more complicated
argument.
- Lecture 7, 28 September: We reviewed and finished the argument from PCMI
lecture A4, that FO + BIT and FO + (PLUS, TIMES) each have the capability to
define a sequence mechanism, and that this mechanism can then define the BITSUM
predicate we need to verify an alleged computation of a DLOGTIME Turing
machine.
- Lecture 8, 3 October: We reviewed the group theory presented in PCMI
lecture A5, with particular attention to the group S3 and what we
can compute with programs over it. At the end we proved the non-uniform case
of Barrington's Theorem, that programs over S5 are equivalent to
NC1.
- Lecture 9, 5 October: We proved the uniform case of Barrington's Theorem,
that DLOGTIME-uniform programs over S5 are equivalent to ALOGTIME
and hence to DLOGTIME-ECL-uniform NC1. We then showed that any
programs over any non-solvable finite group are also equivalent to
NC1. The complement of this result is that programs over any
solvable group can be computed in ACC0 (actually in
CC0, once we convince ourselves that the latter class is closed
under NC0 operations). I gave most of a proof of this, but got
hung up on a technical point (embarassing, as the result is in my Ph.D.
thesis). The reason is that I was trying to do too much:
Suppose we have a group G with a normal subgroup H, where G/H is cyclic
of order m
and (by the IH) we assume that iterated products in H can be computed in
CC0. I pick an element a such that the coset aH is a generator of
G/H. Then, given an iterated product in G, I write each element as a power
of a times an element of H. Then, as I said, I move all the a's to the right,
so each element of h in the product is conjugated by some power of a. Although
am is an element of H, it is not necessarily the identity of G, and
conjugating by it is not necessarily the identity operation on H. But
ag, where g is the order of G, is the identity of G. Thus
in order to find the effect of the conjugations, I only need to count the
a's to the left of a given place modulo g, and I can do this with a mod-g
counting gate. Thus these gates and the gates needed to multiply in H suffice
to multiply in G.
I also began talking about the class TC0, languages that can
be computed by circuits of O(10 depth, polynomial size, unbounded fan-in, and
gates for AND, OR, and MAJORITY. I asked you for homework to show that the
following problems can be solved in TC0:
- Sorting n n-bit binary numbers
- Multiplying two n-bit binary numbers, which depends on adding together
n n-bit numbers
- Recognizing the Dyck language, which we can think of as strings
of left and right parentheses of two types, such that the parentheses are
properly balanced. A context-free grammar for this language is:
S --> aSb
S --> cSd
S --> SS
S --> λ
It may be easier to start with the single-type parenthesis language,
where we drop the second rule of the grammar and have strings only over {a,b}.
- A language over {0,1} is symmetric if permuting the letters in
the string preserves membership -- that is, membership depends only on the
number of 0's and the number of 1's in the string. Ignoring uniformity issues,
prove that any symmetric language is in TC0.
I also made my first suggestion for a final project, on the paper
of Buss, Cook, Gupta, and Ramachandran (SIAM J. Comp., 1990). This paper
shows that the Boolean sentence value problem is in NC1.
- (22 Sept) In Lecture 4 on Tuesday, we proved the Ruzzo Alternation/Circuit
Theorem, that ACi for i≥1 is captured by ATM's with log space
and login alternations, that NCi for i≥1 is captured by
ATM's with log space and login time, and that AC0 is
captured by ATM's with O(log n) time and O(1) alternations. In most cases we
could define the uniform circuit classes by saying that the direct connection
language must be in DLOGTIME, but for NC1 we needed to say that the
extended connection language is in DLOGTIME. This material is in Vollmer.
In yesterday's Lecture 5 we stated a number of characterizations of
NC1 and AC0 and made a start on proving some of them
(after reviewing the relationship between these two circuit classes, DLOGSPACE,
and the regular languages. We defined finite monoids and gave the algebraic
characterization of the regular languages (see PCMI lecture A1). Our next task
will be to prove the BIS theorem, that AC0 = FO + BIT = ATM (log
time, O(1) alternations), from Lecture A4.
I also assigned two easy homework problems, and I've added a third one here:
- Using the Immerman-Szelepcsenyi Theorem (that NL = co-NL), prove that a
language is in NL iff it is the language of an ATM with O(log n) space and O(1)
alternations.
- Prove carefully that non-uniform PSIZE is equal to P/poly, the class of
languages of poly-time Turing machines that are given nO(1) bits
of advice, that depends only on the length of the input.
- (new) A branching program is a labeled DAG where each node has
out-degree 0 or 2, nodes of out-degree 0 are labeled "accept" or "reject", nodes
of out-degree 2 are labeled by input variables, and the edges out of a node of
out-degree 2 are labeled "0" and "1". Given a branching program with node
labels taken from {1,...,n}, and an input of n bits, there is a path from the
branching program's start node to some node of out-degree 0 defined by taking
the edge out of each node corresponding to the value of the node's variable.
A family of branching programs, one for each value of n, thus defines a
language. Define the class POLYBP to be the set of languages of branching
program sizes where the number of nodes in the program for length n is
nO(1). Give a characterization of non-uniform POLYBP. Define a
reasonble definition of "uniform POLYBP", and give a characterization of this
class in terms of Turing machines.
- (18 Sept) In Lecture 3, last Thursday, we reviewed alternating Turing
machines and the Alternation Theorem. We concentrated on the result that AL =
P, because tomorrow we'll do the Ruzzo Alternation/Circuit Theorem which shows
that various subclasses of P correspond to logspace ATM's with various resource
restrictions.
- (13 Sept) Yesterday we discussed the 2n1/(d-1) size
upper bound for depth-d unbounded fan-in AND-OR circuits for PARITY. We then
showed that P is equal to both P-uniform and L-uniform PSIZE, as in Lecture B5.
Finally, we showed that L is equal to L-uniform log-width polysize circuits.
This last result forced us to revise our definition of uniformity for leveled
circuits, so that the level number of a gate is available as part of the circuit
definition. Next time we will work through the Ruzzi Circuit-Alternation
Theorem, which is mentioned in Lecture B11 and proved in Lecture 24 of my Spring 2004 CMPSCI 601 notes.
- (7 Sept) We had our first lecture, in which I covered more or less the
material of PCMI lecture B1, on basic machine and circuit complexity classes.
I asked you to think about two problems. First, construct constant-depth
unbounded fan-in circuits (of AND, OR, and NOT gates) for the parity language,
using as few gates as you can. Second, review what you know about uniformity
conditions on circuit families, that will allow you to prove that the classes
P and "uniform PSIZE" are equal.
Last modified 18 October 2006