This page summarizes the lectures and mentions the suggested reading assignments. This summary is quite brief, and its intention is to help the student and instructor recollect what was covered.
Week 1
- Meeting 1: We introduce Turing Machines as a formal model for algorithms. We motivate the need for such a model by the type of questions we want to address in this course. We described in full detail Turing Machines for two problems -- (a) to determine if a given string of 0's and 1's has a 1 or not, and (b) to determine if a given string of 0's and 1's is a palindrome. The material in this meeting was mostly from Section 1.2 of the text.
- Meeting 2: Turing Machines compute functions. Running Time. The impact of restricting the alphabet -- Claim 1.5 of the text.
- Reading for the week: Section 1.2 and 1.3 of the text.
Week 2
- Meeting 1: The impact of the number of tapes: Claim 1.6. Encoding TM's
as 0-1 strings, from Section 1.4. Brief mention of the universal Turing Machine.
- Meeting 2: The Universal TM from Section 1.5, and the proof that UC is uncomputable (Theorem 1.10).
- Reading: Section 1.4 and 1.5.
Week 3
- Meeting 1: Halt is uncomputable (Theorem 1.11). Languages, undecidability, and the undecidability of the language Hello-World. This is not from the text; see these notes.
- Meeting 2: Undecidability of Accepts-all-Strings (see notes above).
- Reading: My notes, and Section 1.6.
Week 4
- Meeting 1: The class P of languages decidable in polynomial time. (Section 1.6). The equation efficient computation = polynomial running time, and
criticisms of the idea.
- Meeting 2: Introduction to NP from Section 2.1. Notes on some example
problems in `content' within ICON.
- Reading: Sections 1.6 and 2.1.
Week 5
- Meeting 1: More on NP, from Section 2.1. P is contained in NP, which is contained in EXP.
- Meeting 2: Nondeterministic Turing machines. The examples reviewed in
class are here.
- Reading: 2.1, and 2.2.
Week 6
- Meeting 1: Graph Isomorphism is in NP. P vs NP -- the big question. Towards NP-completeness via
poly-time reducibility. The material is from Section 2.2.
- Meeting 2: NP-completeness of TMSAT (Section 2.2).
Week 7
- Meeting 1: No meeting.
- Meeting 2: Cook-Levin Theorem, Theorem 2.10 of the text. See Notes within
`Content' of ICON. This proof is different from the book's, which uses
oblivious TMs.
Week 8
- Meeting 1: Completing Proof of Cook-Levin Theorem. Properties of the Reduction. Proving Other Problems NP-complete. See notes within `Content' of ICON.
- Meeting 2: Decision vs Search. The class coNP. See notes in ICON.
Week 9
- Meeting 1: coNP, complete problems for coNP -- the complement of CNF-SAT, and Tautology. Is NP = coNP? The class (NP intersect coNP). See notes in ICON.
- Meeting 2: The Time Hierarchy theorem from Section 3.1; for clarity, we proved a simpler version in class. Introduction to Space Complexity from Chapter 4.
Week 10
- Meeting 1: Relation between space complexity and time complexity classes
(Section 4.1.1). See notes on ICON.
- Meeting 2: Midterm
Week 11
- Meeting 1: Quantified Boolean Formulae. The Language TQBF. This is introduced in Section 4.2 of the book, but we covered this material in much greater detail. See notes on ICON.
- Meeting 2: TQBF is in PSPACE. Beginning of the proof that TQBF is PSPACE-hard.
Week 12
- Meeting 1: TQBF is PSPACE-hard.
- Meeting 2: Savitch's Theorem. The QBF game. A glimpse of the generalized geography game.
- Note: The material is from Section 4.2. See our notes on ICON as well. The generalized geography game is described in a handout on ICON, and is not covered in the text.
Week 13
- Meeting 1: Boolean Circuits, Circuit Families and their size, Languages decided by circuit families.
- Meeting 2: The languages decided by polynomial sized circuit families, and the relationship of this class with P. The language circuit satisfiability.
- All material is from Section 6.1. See our notes on ICON as well.
Week 14
- Meeting 1: Some examples of randomized algorithms. See notes on ICON.
- Meeting 2: The classes BPP, RP, coRP and ZPP
Week 15
- Meeting 1: ZPP = RP intersect coRP. Review for the final.
- Meeting 2: BPP is contained in P/poly. See notes on ICON.