CS4311: Introduction to Computation Theory hw7
CS 4311 Introduction to Computation Theory
Homework 8: Chapter 3
Due: Wednesday, 11/01/06, beginning of class
(Assigned: Wednesday, 10/25/06)
You are required to turn in answers to all the questions. However, only a random
subset of the questions will be graded.
While discussion with others is permitted and encouraged, the final work
should be done individually. You are not allowed
to work in groups.
The answers, comments, and programs (if any) must be the original
work of the author.
You are allowed to build on material supplied in the class. If you use
any other source than the current class notes and the textbook, specify it
clearly.
1. (parts of Exercise 3.2)
Give the sequence of configurations that M1 in Example 3.9 enters
when started on the following two strings: 1#1 and
0#1 . (in the older edition, it is example 3.5)
2. (Exercise 3.5) Examine the formal definition of a Turing
machine to answer the following questions and explain your
reasoning.
a. Can a Turing machine ever write the blank symbol on its
tape?
b. Can the tape alphabet be the same as the input alphabet?
c. Can a Turing machine's head ever be in the same
location in two successive steps?
d. Can a Turing machine contain just a single state?
3. (Exercise 3.7) Explain why the following is not a
description of a legitimate Turing machine.
Mbad = "The input is a polynomial p over variables
x1, ... ,
xk.
1. Try all possible settings of x1, ... , xk
to integer values.
2. Evaluate p on all these settings.
3. If any of these settings evaluates to 0, accept; otherwise,
reject."
4. Give both an implementation-level
description and a formal description of a Turing machine that recognizes
the following language over {0,1}:
{ w | w contains at least three 1s}.
5. Give only an implementation-level description
of a Turing machine that operates on an alphabet containing the symbols
{A,0,1,B}. Given an input, the machine should change all the
As that
are preceded by a 0 and followed by a 1 to B. For instance,
the substring 0A1 on the tape should become 0B1. Other
occurences of A should remain.