CMPSCI 501: Theory of Computation
David Mix Barrington
Spring, 2014
Homework Assignment #6
Posted Thursday 17 April 2014
Due on paper in class or to the main office by 4:00 p.m., Wednesday 30 April 2014
There are fourteen questions for 100 total points plus 10 extra
credit.
All but three are from
the textbook, Introduction to the Theory of Computation
by Michael Sipser (second edition). Problem numbers for the third
edition are given in square brackets after the original number.
The number in parentheses following each problem
is its individual point value.
Students are responsible for understanding and following
the academic honesty
policies indicated on this page.
Correction in purple made 29 April 2014.
- Exercise 8.2 (5):
- Exercise 8.4 (5):
- Problem 8.10 (5):
- Problem 8.14 [8.15] (10) Note that for some reason Sipser exchanged the numbers of Problems 8.14 and 8.15 between the second and third edition -- I want the problem about two-person PUZZLE, not Cat-and-Mouse.
- Problem 8.17 (5):
- Problem 8.19 (10):
- Problem 8.20 (10): (Hint: Use the result that the composition of two
logspace computable functions, from strings to strings, is itself logspace
computable. We will prove this in class with reference to NL-completeness.)
- Problem 8.22 (10)
- Problem 8.24 (10XC):
- Problem 8.26 (10): Note an error in the second edition that is noted
on Sipser's Errata page and corrected in the third edition -- the reduction
should be from the complement of the language BIPARTITE, not from BIPARTITE
itself.
- Problem 9.24 [9.23] (10): I accidently assigned the second edition's 9.23, not realizing that the numbering differed again. We
did the parity problem in lecture, so please do the addition problem.
9.23
- Problem F-1 (5): Show that the NIM language of Problem 8.19
is in the class NC1.
- Problem F-2 (5): The language IBMM (for "iterated boolean matrix
multiplication") is the set of tuples <M1,..., Mn, i, j> such that each Mi is an n by n matrix of booleans, and the
(i, j) entry of the product of the Mi's, in the given order, is a 1.
Place this language as low in the NC/AC hierarchy as you can. Boolean matrix
multiplication is defined in terms of "multiplication" (AND) and "addition"
(OR), or equivalently by adding "1 + 1 = 1" to the usual rules of arithmetic on
0 and 1 values..
- Problem F-3 (10): Repeat Problem F-2 for the similar language
IZ2MM where now the matrix multiplication is defined in terms of
the multiplication and addition operations in the field Z2, so that
now 1 + 1 = 0.
Last modified 29 April 2014