Lecture Dates | Book Sections | Comments |
---|---|---|
05-03, 05-05 | none | Our penultimate lecture we be on Karp's 21 NP-Complete Problems In the final class session, we will summarize the contents of the course and discuss the final exam. |
04-26, 04-28 | 7.5 | This week we will be using the Cook-Levin Theorem to prove that various problems are NP-complete. |
04-19, 04-21 | 7.3, 7.4 | These sections cover NP and NP completeness. The first proven instance of an NP-Complete problem is 3-SAT, which was proven to be NP-complete by Cook and Levine. We will be covering this proof in-depth, as it is quite famous and is something every computer science student should see at least once. |
04-12, 04-14 | 7.1, 7.2, 7.3 | This week we will begin discussing Time Complexity and the classic complexity classes of P and NP. |
04-05, 04-07 | 5.3, 6.2 | Chapter 5 ends with a formal statement of Mapping Reducibility, which we used last lecture to prove the undecidability of several problems. We then move on to Chapter 6, which we will beging by discussing the decidability of logical theories. |
03-31 | 4.2, 5.1 | We complete our discussion of decidable and
recursively enumerable
languages before moving on to Chapter 5, covering
Karp Reducibility
and basic complexity theory.
Video: 04-01. |
03-22, 03-24 | 4.1, 4.2 | We will begin discussing Decidability this week by proving that the Halting Problem is undecidable. |
03-08, |
3.1, 3.2, |
This week we will complete last the discussion of
Turing Machines
and variants before stating the
Church-Turing Thesis.
Video: 03-08. |
03-01, 03-03 | 2.3, 3.1 | Section 2.3 proves a version of the pumping lemma for context-free languages, which will be our main tool to prove that a language is not context-free. This completes part one of the book, and we begin the second part by discussing Turing Machines. |
02-22, 02-24 | 2.2 | This week we finish discussing Context Free Grammars and Pushdown Automata, including proving their equivalence. |
02-08, 02-10 | 2.1, 2.2 | This week we begin covering Context Free Grammars (CFGs) and their associated machine model, Pushdown Automata. CFGs were first defined by the linguist Noam Chomsky as a way of describing grammar in human languages. |
02-01, 02-03 | 1.3, 1.4 | This week we will prove that regular expressions and finite state automata describe the same class of languages (the Regular Languages). This is a very famous result due to the mathematician Kleene (read more about it here) We will also begin our discussion of the Pumping Lemma, which is our main technique to prove that a given language is not regular. |
01-25, 01-27 | 1.1, 1.2, 1.3 | Section 1.2 introduces the concept of non-deterministic models of computation. You can read more about deterministic finite state automata here and non-deterministic finite state automata here. Section 1.3 introduces regular expressions. Regular expressions are a basic tool that every working computer scientist should be familiar with. |
01-18, 01-20 | 1.1 | We will not cover chapter 0, as this is prerequisite material. If you are
unfamiliar with standard mathematical conventions, you should take the time
to read it carefully.
Videos: 01-20. |