CS 154 -- Automata and Complexity Theory -- Winter 2012
[lecture notes] [homeworks] [exams]
Trevisan, Gates 474, Tel. 650 723-8879, email trevisan at stanford dot edu
- Ryan Williams, Gates 464, Tel. 650 723 6690, email rrwilliams at stanford dot edu
- Michael Abercrombie, email mabercr at stanford dot edu
- Kevin Leung, email kkleung at stanford dot edu
Classes are Tuesdays-Thursdays, 9:30-10:45, In NVDIA auditorium, Huang Engineering center
You can ask questions using piazza
- Luca: Mondays and Wednesdays, 2:30-3:30pm, 474 Gates
- Ryan: Tuesdays and Thursdays, 5:30-6:30pm, 464 Gates
- Michael: Wednesdays, 6-8pm, B26A Gates
- Kevin: Mondays 5:30-6:30pm and Tuesdays 2-3pm, B26B Gates
Grading: the homeworks are worth 50% of the grade, the final 30% and the midterm 20%. We will drop the lowest homework grade in computing the homework grade average.
- Micheal Sipser Introduction to the theory of computation (2nd Edition), Thomson
- Late policy: there is no late policy, late assignments will not be accepted.
If you are unable to submit your homework because of extenuating circumstances such as a family
of medical emergency, talk to Luca or Ryan about it.
- Collaboration versus cheating: make sure you are familiar with our policy on collaboration
- How to write your solution: The TAs will split the grading by problems, not by students, so it is important that you write every problem on a separate sheet of paper, and that your solution for each problem can be read independently (and does not depend on results that you prove while solving a different problem).
Write your name, student ID, homework number, and problem number
on top of every page.
Write legibly. Your TAs may mark your solution as incorrect if they cannot read your handwriting.
The description of your proofs
should be as clear as possible (which does not mean
long -- in fact, typically, good clear explanations are also
- Submitting the homework:
If you are an in-class student, you can (1) hand in your homework in class, (2) drop off
your homework in the CS 154 dropbox in the Gates 1B lobby, or (3) email your homework.
If you are an SCPD student, you can (1) physically mail your homework to your SCPD liason
or (2) email your homework to us, cc-ing your SCPD liason.
If you are emailing your homework,
prepare your scanned images into a single pdf file
consisting of 8.5x11 pages (or write your solution in LaTeX and compile it to pdf).
Name your file FirstnameLastname-HW#.pdf (for example: AlanTuring-HW3.pdf)
and email to email@example.com.
- Regrades: For regrades, you will need to submit a written justification and
drop by during office hours to defend your solutions.
Your TAs reserve the right to regrade the whole problem set.
- Piazza For all homework questions (that do not divulge solutions), post
- 01/10. Introduction, summary of the content of the course
Readings: Sipser chapter 0
- 01/12 Review on automata, equivalence of deterministic and non-deterministic automata, regular expressions, equivalence of automata and regular expressions.
Readings: Sipser 1.1, 1.2, 1.3
- 01/17 Equivalence of automata and regular expression (continued); Pumping lemma and applications
Readings: Sipser 1.4
- 01/19 , Myhill-Nerode theorem; State minimization
Readings: Notes 1
- 01/24 Streaming algorithms
Readings: Notes 2
- 01/26 Turing machines
Readings: Sipser 3, slides
- 01/31 Decidability, Recognizability, Enumeration, and undecidability
Readings: Sipser 4, 5.1, slides
- Turing's original paper is available online. After 75 years, it is still uncannily modern.
- 02/02 Reductions
Readings: Sipser 5.3, slides (with bonus material)
- 02/07 Rice's theorem, recursion theorem
Readings: Sipser 6.1, Notes 3, slides
- 02/09 Logic
Readings: Sipser 6.2, Notes 4, slides
- 02/14 Midterm
- 02/16 Kolmogorov complexity
Readings: Notes 5, Slides
- 02/21 Review of P, NP, reductions, hierarchy theorem
Readings: Sipser 7.1, 7.2, 7.3, 9.1, Slides
- 02/23 Cook's theorem
Readings: Sipser 7.4, Notes 6, slides
- 02/28 NP-completeness of clique, vertex cover, independent set and subset sum
Readings: Sipser 7.5, Notes 6, Slides
- 03/01 NP-completeness of steiner tree, partition, scheduling, bin packing
Readings: Sipser 7.5, notes 6
- 03/06 Space-bounded complexity, PSPACE-completeness, Savitch's theorem
Readings: Sipser 8.1, 8.3
L, NL, log-space reductions, NL-completeness
Readings: Sipser 8.2, 8.4
- 03/13 Randomized algorithms
- 03/15 Zero knowledge and identification protocols
Readings: Notes 7
- Myhill-Nerode theorem and state minimization
- Streaming algorithms
- Rice's theorem
- Kolmogorov complexity
Homeworks are out on Thursdays and are due the following Thursday.
- Homework 1 is due Jan 19
- Homework 2 is due Jan 26
- Homework 3 is due Feb 2
- Homework 4 is due Feb 9
- Homework 5 is due Feb 23
- Homework 6 is due Mar 1
- Homework 7 is due Mar 8
- Homework 8 is due Mar 15
The midterm was in class, on February 14
The final exam will be on Thursday, March 22, from 12:15 to 3:15pm, in the Nvidia Auditorium. You can use one double-sided sheet of notes, and the exam is otherwise closed-book.