CMPSCI 501: Theory of Computation
David Mix Barrington
Spring, 2014
Homework Assignment #2
Posted Monday 10 February 2014
Due on paper in class, Wednesday 19 February 2014
There are thirteen questions for 75 total points plus 10 extra
credit.
All are from
the textbook, Introduction to the Theory of Computation
by Michael Sipser (second edition).
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 green added 11 Feb 2014.
- Problem 1.45 (10): Hint: Assume you have a DFA for A
and build an NFA or DFA for A / B. Read the definition of "A / B" carefully --
it
is not the same, for example, as the set subtraction "A \ B". Partial credit (5 points) for proving this with the additional assumption that B is also a regular language, so you have a DFA for it. Another hint for the
full problem -- although B might be a bizarre uncomputable language, there are
only a finite number of facts about it that are relevant.
- Problem 1.64 parts (a) and (c) (10):
In part (a), you can easily show that if A is non-empty,
there must be a string in A of
length
at most k - 1.
- Problem 1.64 part (b) (10 XC):
All you need is an example, for some k, of an NFA with k states such
that the complement of its language is non-empty and has a shortest
string that is longer than k. There is an example with a one-letter
input alphabet.
- (Problem 1.64 part (d)): We'll give up to ten
extra-extra-credit
points for a good answer to this, but it's too hard a problem to
actually assign. Remember that if you use an outside source you
must
cite it.
- Exercise 2.6 part (b) only (5)
- Exercise 2.9 (5)
- Exercise 2.10 (5)
- Exercise 2.12 (5)
- Exercise 2.13 (10)
- Exercise 2.14 (10)
- Problem 2.20 (5) Note the similarity to 1.45 above.
- Problem 2.30 part (a) only (5)
- Problem 2.45 (10)
Last modified 11 February 2014