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: Introduction to the course. Finite automata: examples and definition. Pages 31--40 from Chapter 1 of text.
- Meeting 2: The process of designing finite automata. Operations on Languages. Closure under the union operation. Pages 39--47 from Chapter 1 of text.
Week 2
- Meeting 1: Nondeterministic finite automata, examples, and formal definition. Pages 47--54 of text.
- Meeting 2: Two views of what it means for an NFA to accept a string. Equivalence of NFA's and DFA's (Theorem 1.39). Pages 54--58 of text.
Week 3
- Meeting 1: Proof of the statement: if two languages are regular, their concatenation is regular. A similar result for the star operator. Introduction to regular expressions, from Section 1.3. Pages 58--64 of text.
- Meeting 2: Examples of regular expressions and the language corresponding to them. Proof of the statement: if a language is described by a regular expression, it is regular. Intro to GNFA's and what it means for a GNFA to accept a string. Pages 65--70.
Week 4
- Meeting 1: Given a GNFA with more than 3 states, how we can construct an equivalent GNFA with one less state. Proof of the statement: If a language is regular, then it is described by some regular expression. Pages 71--76.
- Meeting 2: The pumping lemma. Using it to show that certain langauages are not regular. Section 1.4, pages 77--81.
Week 5
- Meeting 1: Proof of the pumping lemma, and more examples of nonregular languages. pages 77--82. Introduction to context free grammars. Section 2.1, pages 102--103.
- Meeting 2: More examples of context free grammars. Formal definition of CFG and what it means to derive a string. Designing CFG's. Pages 103--107 from Section 2.1.
Week 6
- Meeting 1: Ambiguity in context free grammars. Pushdown automata (PDA's) and examples. Pages 107--116. Note that we skipped the part on Chomsky Normal Form.
- Meeting 2: One more PDA example. Equivalence of PDAs and context free grammars (Theorem 2.20). Proof of one direction of this, namely, that if a language is context free then there is a PDA that recognizes it. Pages 115--120 from Section 2.2.
Week 7
- Meeting 1: Equivalence of PDAs and context free grammars (Theorem 2.20). Proof of the other direction, namely, that if a PDA recognizes some language, then it is context free.
- Meeting 2: Midterm.
Week 8
- Meeting 1: Example illustrating the proof that if a PDA recognizes some langauage, then it is context free. The pumping lemma for CFL's, and an application to show that a particular language is context-free. (Section 2.3)
- Meeting 2: More examples of languages that are not context-free. Overview of pumping lemma proof. (Section 2.3)
Week 9
- Meeting 1: Turing Machines: Introduction, formal definition, and an example. Pages 165--173 from Section 3.1.
- Meeting 2: Another example, and definitions leading to Turing-recognizable and decidable languages. Pages 165--173 from Section 3.1.
Week 10
- Meeting 1: Example 3.11 from page 174: an implementation-level description of a Turing machine. Multi-tape and non-deterministic Turing Machines, and equivalence with deterministic Turing Machines. Pages 176--180 of Section 3.2.
- Meeting 2: Church-Turing thesis: TM as model for algorithm. The story of Hilbert's tenth problem. Representing graphs, automata, grammars, etc. using strings that can be input to a Turing machine. Pages 181--187 of Chapter 3.
Week 11
- Meeting 1: Decidable problems concerning automata. Pages 193--197 of Chapter 4.
- Meeting 2: Decidable problems concerning context-free grammars. Pages 198-200 from Chapter 4.
Week 12
- Meeting 1: Defining the notion of two sets having the same size. Countable sets and examples. The set of real numbers is uncountable. Diagonalization as a technique for showing this. Pages 201--2016 of Section 4.2.
- Meeting 2: Midterm.
Week 13
- Meeting 1: Proof that some languages are not Turing-recognizable. This is corollary 4.18 on page 206.
- Meeting 2: Proof of the undecidability of the language corresponding to the problem -- given a Turing machine and an input string, does the TM accept the string? The complement of this language is not Turing recognizable. Pages 207--210 of text.
Week 14
- Meeting 1: Undecidability of Halt_{TM}, E_{TM}, EQ_{TM}, and Regular_{TM}, shown via reductions. Pages 215--220 of Chapter 5. We skipped the portion of Section 5.1 devoted to Reduction via Computation histories, and Section 5.2.
- Meeting 2: Mapping Reducibility from Section 5.3. Examples, and consequences. Regular_{TM} is undecidable, and its complement is undecidable as well. Pages 234--238 of Section 5.3.
Week 15
- Meeting 1: EQ_{TM} is undecidable, and its complement is undecidable as well -- Theorem 5.30 in Chapter 5. A_{TM} is not mapping reducible to E_{TM} -- exercise 5.5. Review for Final.
- Meeting 2: Sample exam distributed, and parts of it reviewed for final.