Who: Taught by Amit Chakrabarti
When: 10A hour, TTh 10:00-12:00, X-hr W 15:00-16:15
Where: Sudikoff 213
This course is designed as a follow-up to an introductory Theory of
Computation course, such as Dartmouth's CS
39. Students who have not yet taken such an introductory course
are required to do so before registering for CS 109.
In CS39, we
learned that the Turing Machine is a powerful abstraction that helps us reason
about computation. In this course, we shall continue from where CS39 left off,
and delve deeper into the mysteries of the Turing Machine and study five key
aspects of computation: time, space, nondeterminism, randomness and
interaction. The goal is to understand the power of each of these. The
course is structured into three major phases, as indicated in the following
plan.
Phase 1: Delving deeper into Nondeterminism, Time and Space |
1. | Mar 31 | Review of Turing Machines, Nondeterminism, DTIME, NTIME, P, NP | [Sip], Ch.3,4,5,7 | |
2. | Apr 2 | Review of reductions and NP-completeness | [Sip], Ch.7 | |
3. | Apr 7 | Space complexity; L and NL; Savitch's Theorem | [Sip], Ch.8 | Homework 1 |
4. | Apr 9 | NL completeness;
Immerman-Szelepcsenyi Theorem (NL = coNL) | [Sip], Ch.8 | Homework 2 |
5. | Apr 14 | Space and time hierarchy theorems, deterministic and nondeterministic | [Sip], Ch.8,9 | Homework 3 |
6. | Apr 16 | PSPACE; polynomial hierarchy (PH) | | Homework 4 |
7. | Apr 21 | PSPACE-completeness of TQBF; Introduction to circuits; Non-uniformity | [AB], Ch.6 | |
8. | Apr 23 | Shannon's Theorem; Computation with advice; Karp-Lipton Theorem | [AB], Ch.6 | Homework 5 |
Phase 2: The Power of Randomness |
9. | Apr 28 | Randomness; BPP; RP; Error reduction by repetition; Chernoff bounds | [AB], Ch.7 | Homework 6 |
10. | Apr 30 | Adleman's Theorem; Sipser-Gacs Theorem | [AB], 7.7 | |
11. | May 5 | Schwartz-Zippel Lemma; Valiant-Vazirani Theorem | [AB], Ch.7,9 | Homework 7 |
12. | May 7 | Foundations of cryptography, overview | [AB], Ch.10 | Homework 8 |
13. | May 12 | One-way functions, pseudorandom generators | [AB], Ch.10 | |
14. | May 14 | Equivalence of next-bit unpredictability and pseudorandomness | [AB], Ch.10 | Homework 9 |
Phase 3: The Power of Interaction |
15. | May 19 | Interactive proofs (IP); Arthur-Merlin games (AM); Graph Non-Isomorphism | [Sip], Ch.10 | |
16. | May 21 | Graph Isomorphism and NP-completeness; Arithmetization; LFKN Theorem | [AB], Ch.8 | Homework 10 |
17. | May 26 | Proof of LFKN Theorem; Shamir's Theorem (IP = PSPACE) | [Sip], 10.4 | |
18. | May 28 | Shamir's Theorem continued; PCP theorem | | HW 11 (nixed) |
19. | Jun 2 | Applications of the PCP theorem | | |
Announcements
- We did not get to cover the definition of NC and P-completeness in class. I suggest
you read this material up from [Sip], Ch. 10, Sec. 10.5. It's relatively easy material.
I will also talk about it during the X-hour on Wed Apr 29.
- The final exam will be a take-home 24-hour time limited exam. You will have a period
of about 6 days during which to do it, and you get to choose any contiguous 24-hour
interval during which to work on the exam. Further details will be announced later, as
necessary.
Textbooks and Such
There is no set textbook for the course, so it is vital to attend
class. However, there are three reference books that cover just about
everything we shall do in class, and I will be updating the schedule
table above with appropriate references. These reference books are:
- Introduction to the Theory of Computation (Second Edition).
Michael Sipser. Referred to above as [Sip].
- Computational Complexity. Christos Papadimitriou. Referred
to above as [Pap].
- Complexity Theory: A Modern Approach. Sanjeev Arora and
Boaz Barak. Available online.
Referred to above as [AB].
Administrative Details about Grading
Your goal is to earn at least 30 points over the
course of the term, at least 6 of which must be earned from a
final exam. There are two ways to earn points.
Homework: Starting Apr 1, there will be a short homework,
consisting of approximately 2 problems, given out after every class.
There will be a total of about 25 problems given out throughout the
term. Each problem will be worth 2 points. I strongly recommend that
you solve each homework before the next class, as this will help in your
understanding of the next class. By "solve", I mean solve for
yourself. You don't need to turn in everything, just turn in "enough" to
make progress towards the 30-point goal. If you score over 24 points
from your homeworks, the extra points will count towards extra credit.
Final exam: This will be a take-home exam given out at the
end of the course. The maximum possible score in the final exam will be
10 points, so you will have to earn at least 20 points from turning in
homework solutions.
Working together is allowed on homework problems (except when
indicated otherwise), but not on the final exam.
Similar courses taught by others: Luca Trevisan
(Berkeley) ,
Sanjeev Arora (Princeton)
Other courses taught by Amit Chakrabarti
Home
|