CMPSCI 601: Theory of Computation
Offered through the PEEAS distance learning program
Homework Assignment #3
David Mix Barrington
Assignment posted Wed 8 Oct 2003
Due Mon 20 Oct 2003, faxed before 2:00 p.m. EDT
or express-mailed to arrive Tue 21 Oct 2003
(Deadline extended 15 October)
Make sure you have read the statement on academic honesty
on the homework assignment index page.
- Question 1 (10):
Let C be a boolean circuit of depth d. Prove that there exists a boolean
expression of length O(2d)
that computes the same function as C.
(Problem corrected 15 September.)
- Question 2 (20):
Consider boolean straight-line programs as in the example on slide
16 of Lecture #10.
- (a,10)
A straight-line program is said to be read-once if each gate
is used at most once on the right-hand side of an instruction. What
kind of circuit computes the same function as a read-once straight-line
program? Prove your answer, that is, prove that a function has a
circuit of size s with your condition if and only if it has a read-once
SLP of length s.
- (b,10) Consider straight-line programs where we can also have
instructions of the form "gate[i] = gate[j] xor gate[k]" where j and
k are less than i.
Prove that such a program can be simulated by
a program with only "and", "or", and "not" instructions. If the
program with "xor"'s has length s, what bound can you prove on the
length of your simulation? (correction made 17 Oct)
- Question 3 (20):
A groupoid is a set with a multiplication operation, which
need not be commutative or associative. The groupoid multiplication
problem GMP is to input a table for a groupoid G, a string w
of elements of G, and a target element t. The output is a boolean
saying whether it is possible, by giving w the right parenthesization,
to have w multiply to t. Show (by following the model of slide 6
of Lecture #9) that GMP is in the class P.
- Question 4 (30):
A queue machine (QM) is much like a PDA but has a queue instead
of a stack. Instead of pushing and popping from its stack as it reads
the input, it enqueues and dequeues characters from its queue.
Explain how a QM can decide the four languages on slide 11 of Lecture
#9. Use this fact to prove that the problem Σ*-QM,
of determining whether a given QM accepts all strings, is co-r.e.
complete.
- Question 5 (20): Consider the first-order vocabulary for
strings described on slide 11 of Lecture #11.
For each of the two sentences on that slide, determine exactly for
which strings the sentence is true. (Give a regular expression for
the language of strings making each sentence true.) Write a
first-order sentence over this vocabulary that is true for a string
iff it is in the language 10*1. Do the same for the
language of strings that contain the consecutive substring 101, that
is Σ*101Σ*.
Last modified 17 October 2003