Sunteți pe pagina 1din 2

Sample Entrance Exam for CS 620

August 12, 2010

Document prepared by assistant professor Jeff Kinne on August 12, 2010. For further questions
about the exam, contact Jeff (at jkinne@indstate.edu or in his office, RO 156 Root Hall).

Background The course description for CS 620 Advanced Theory of Computation states that
taking 420/520 (the undergraduate version of the course) is a prerequisite. We experimented
with allowing courses at other universities to count for this prerequisite, and the results were not
desirable. The students did not in fact have the necessary background, and 620 degenerated into
being essentially the same as 420/520. This is a disservice to our students and to our program.
Thus, we have amended the prerequisite requirement. A student taking 420/520 at ISU and
obtaining a sufficient grade can take 620. Otherwise, we will offer an entrance exam into the
course. The exam is designed to (i) ensure that the student has the necessary background to
succeed in an advanced, graduate-level theory course, and (ii) ensure the student has knowledge of
the fundamental material covered in 420/520.

Exam format and syllabus The Michael Sipser text Introduction to the Theory of Computation
serves as the syllabus for the test. 420/520 generally covers chapters on background, regular
languages, context-free languages, the Church-Turing thesis, decidability, reducibility, and time
complexity (these are chapters 0-5, 7 in the text).
The exam consists of a number of questions, testing basic knowledge of this material. The
difficulty of these questions is at the level of the basic examples, exercises, and problems from the
Sipser text. We do not expect the student to remember every detail from a course that may have
been taken a few years ago, so we will be somewhat lenient in grading and the questions on this
exam will be easier than those that would be given to students taking the 420/520 course. For
example, the student should give reasonably correct answers to at least half of the questions to
pass this exam.
The student will be given a few hours to take the exam in the presence of a faculty member.
A student who has recently taken 420/520 and done well would likely finish the exam in 30-60
minutes.
On the next page is a sample exam.

1
1. Regular languages.

a) Give a deterministic finite automata for the set of binary strings corresponding to even
numbers. Leading zeros in the binary string are allowed, so 0010 is a valid binary string
representing the number 2.
b) Give a regular expression for the set of binary strings corresponding to odd numbers.
Leading zeros in the binary string are allowed, so 0011 is a valid binary string representing
the number 3.

2. Context-Free Languages.

a) Give an example of a problem that is not regular (there is no deterministic finite au-
tomata for the problem) but that can be decided by a deterministic pushdown automata
(a deterministic finite automata that also has access to a stack).
b) Give the pushdown automata for the problem.
c) Prove the problem is not regular.

3. Turing Machines.

a) Describe how a Turing Machine operates.


b) Draw a picture of and label the parts of a Turing Machine.

4. Decidability.

a) Explain what it means for a problem to be undecidable.


b) The following are all undecidable problems: (a) set of all Turing machine, input pairs
(M, x) such that M halts in finite time when given x as input (a.k.a. the halting
problem), (b) the set of all Turing machines that never accept any string (they compute
the empty set), (c) the set of pairs of Turing machines (M1 , M2 ) such that M1 and M2
accept the same set of strings (compute the same language).
Choose one of these problems, and prove that it is undecidable. You may use the fact
that the other two problems are undecidable.

5. Time Complexity.

a) What is meant by the notation O(n)? What is meant by O(n2 )?


b) List three well-known problems that can be computed in polynomial time. List one well-
known problem that either cannot be computed in polynomial time, or is conjectured to
require more than polynomial time to solve.
c) Explain what an NP problem is and what is meant by the term NP-complete.

S-ar putea să vă placă și