This page, http://www.cs.uiowa.edu/~hzhang/c131/, is always under construction.
22C:131 Limits of Computation
Attention:
Final exam in the final week, May 16, 2:15pm (Close Book and Notes, except 3 three sheets of letter-size papers)
Sample solutions
to Homework 11 are available.
1:30-2:20 MWF, 118 MacLean Hall
Goals and Objectives
This course is a mathematical exploration of the limits of the power
of computers. Some of the questions we ask and attempt to answer are
the following. Are there problems that cannot be solved on any
computer? How does one determine if a given problem can or cannot be
computationally solved? If we place bounds on the resources (time and
space) available to a computer, then what can be said about which
problems can and which problems cannot be solved on a computer? How
does the power of a computer change, if it has access to random bits?
What happens when we relax the notion of solving a problem to
"approximately" solving a problem - does this fundamentally change
which problems can and which problems cannot be solved on a computer?
In attempting to answer these questions we will study the following
topics:
- Computation models: Finite State Automata.
- Turing machines. Definitions and examples.
Turing-decidable and Turing-recognizable languages.
- Enhancements of TMs: multi-tape TMs, non-deterministic TMs.
Equivalence of these and the standard TM.
- Diagonalization. Acceptance problem is undecidable;
Acceptance problem is recognizable; the complement of the Acceptance problem is unrecognizable.
- Reductions. Examples of other undecidable languages. Rice's theorem. Post's Correspondence Problem (PCP) is undecidable.
- Running time of Turing Machines. The classes P, NP, NP-hard, and NP-complete.
- Cook-Levin Theorem, some reductions.
- Space complexity, Savitch's Theorem, PSPACE.
Quantified boolean formula satisfiability is PSPACE-complete. So is Generalized Geography.
- L (deterministic log space) and NL (non-deterministic log space).
Log space reductions and NL-completeness. PATH is NL-complete.
- The space heirarchy and the time heirarchy theorems.
Prerequisite
Undergraduate Algorithms (22C:31) or its equivalent.
Textbook
Introduction to the Theory of Computation (second edition)
by Professor Michael Sipser.
The book is available in Union Store and
the latest errata can be found at
http://www-math.mit.edu/~sipser/book.html
Homeworks (TEN homeworks, each counts for three percent of final score)
LATE-DUE HOMEWORK ARE NOT ACCEPTED.
In general you will be better off turning in what you have on time
rather than seeking extra time to complete your work. There will be no
make-up exams in general and exceptions will be rare and only for
students whose reasons are included in the University's policy on
"Excused Absences from Examinations".
Solutions will be provided on the course page for all graded work.
- Homework 1 (30 points) (due date: Feb. 1)
Sample solutions
Page 84: Problem 1.5 (c.-h.)
Page 84: Problem 1.6 (all 14 languages)
- Homework 2 (30 points) (due date: Feb. 8)
Sample solutions
Page 85: Problem 1.9
Page 86: Problem 1.16
Page 86: Problem 1.17
Page 88: Bonus Problem 1.32 (5 points)
- Homework 3 (30 points) (due date: Feb. 15)
Sample solutions
Page 159: Problem 3.2 (b-e)
Page 160: Problem 3.8 (b-c)
- Homework 4 (30 points) (due date: Feb. 22)
Sample solutions
Page 160: Problem 3.7
Page 161: Problem 3.15 (d)
Page 161: Problem 3.16 (d)
- Homework 5 (30 points) (due date: Feb 29)
Sample solutions
Page 183: Problem 4.3
Page 184: Problem 4.15
Page 184: Problem 4.19
- Homework 6 (30 points) (due date: Mar 7)
For all problems in this homework, you
are not allowed to use Rice's Theorem (Prob. 5.28)
Page 211: Problem 5.13
Page 212: Problem 5.14
Page 212: Problem 5.23
- Homework 7 (30 points): (due date: Mar 14)
Page 242: Problem 6.4
Page 294: Problem 7.6
Page 295: Problem 7.9
Page 295: Problem 7.10
- Homework 8: (due date: Apr 11)
Page 295: Problem 7.12
Page 295: Problem 7.17
Page 296: Problem 7.20
- Homework 9: (due date: Apr 18)
Page 296: Problem 7.21
Page 296: Problem 7.23
Page 297: Problem 7.24
Page 298: Problem 7.34
- Homework 10: (due date: May 2)
Page 329: Problem 8.4
Page 329: Problem 8.6
Page 330: Problem 8.11
Page 361: Problem 9.12
- Homework 11 (all bonus problems) (due date: May 7)
Sample solutions
Problem 1: (Page 411: 10.2) Show that 12 is not pseudoprime because it fails some Fermat test.
Problem 2: Find all the numbers a in Z_{21}^+ satisfying a^{20} = 1 (mod 21),
where $a^b$ means exp(a, b). Identify which of them will pass Square root test.
Problem 3: Suppose a probabilistic TM $E$ will randomly print one of the numbers in { 1, 2, 3, 4, 5}.
Given e = 0.01, design E such that the difference of probabilities of printing any two of them
is less than 0.01. For any 0 < e < 1/4, how to design E?
Exams (One midterm and one final exam)
Midterm on March 28 (30 percent of final score)
Final exam in the final week, May 16, 2:15pm (35 percent of final score)
Policies
For the policies on ACADEMIC DISHONESTY and PROCEDURE FOR COMPLAINT,
see the Student Academic Handbook,
http://www.clas.uiowa.edu/students/academic_handbook/index.shtml
of the Colleage of Liberal Arts and Sciences.
The instructor of this course will follow the policies outlined at
http://www.clas.uiowa.edu/faculty/teaching/new_policytemplate.shtml
for ACCOMMODATIONS FOR DISABILITIES, UNDERSTANDING SEXUAL HARASSMENT,
REACTING SAFELY TO SEVERE WEATHER.
Class Participation (5 percent of final score)
Lecture Notes
You are expected to study all the material in each chapter covered
in the class even if that material is not explicitly discussed in
class or in the homework. Material
presented in class, but not in the book will not appear on tests.
The lecture notes are a supplement to the course textbook. They
are supposed to help you understand the textbook material better,
they are a replacement for neither the textbook nor the lecture
itself.
Please only print the lecture notes on the day of the class
as it's updating.
-
1 Introduction
PDF
-
2 Finite Automata
PDF
-
3 Turing Machines
PDF
-
4 Variants of Turing Machines
PDF
-
5 Decidability
PDF
-
6 Reducibility
PDF
-
7 History of Computation
PDF
-
8 Mapping and Turing Reducibility
PDF
-
9 Time Complexity
PDF
-
10 The Class P
PDF
-
11 The Class NP
PDF
-
Reviews for Midterm
PDF
-
12 The NP Complete Problems
PDF
-
13 Additional NP Complete Problems
PDF
-
14 Space Complexity
PDF
-
15 Intractability
PDF
-
16 Advanced Topics
PDF
-
17 Summary
PDF
Hantao Zhang
Updated