Lecture Summaries
Lecture summaries
Every week,
specific sections of the textbook
will be posted as readings.
You will be expected to read these sections
to prepare for the following week's lectures and tutorials.
At the end of each week,
a short summary of
the material covered during lecture
will be posted.
All summaries will be plain text (ASCII) files,
unless otherwise indicated.
- Week 1 (Sep 10–14);
readings: section 3.1 (and review chapters 0, 1, 2 as needed)
Additional example of TM description.
- Week 2 (Sep 17–21);
readings: sections 3.2, 3.3.
Formal details of the equivalence
between regular TMs and 2-way infinite TMs.
- Week 3 (Sep 24–28);
readings: section 4.1.
- Week 4 (Oct 1–5);
readings: section 4.2.
- Week 5 (Oct 8–12);
readings: section 5.1.
- Week 6 (Oct 15–19);
readings: section 5.3, problem 5.28.
- Week 7 (Oct 22–26);
readings: sections 7.1, 7.2.
- Week 8 (Oct 29–Nov 2);
readings: section 7.3, 7.4.
- Week 9 (Nov 5–9);
readings: section 7.4.
Detailed write up of reduction
CNF-SAT ≤p 3SAT.
- Week 10 (Nov 12–16);
readings: section 7.5.
- Week 11 (Nov 19–23);
readings: sections 8.1, 8.2.
- Week 12 (Nov 26–30);
readings: sections 8.3, 8.4.
- Week 13 (Dec 3–7);
readings: sections 9.1, 10.1.
Course outline
Lecture/tutorial topics
The following topics will be covered in this course,
in the order listed.
For each topic,
we have indicated
the approximate number of weeks required to cover that topic as well as
a list of the relevant sections in the textbook.
- Computability Theory
[6 weeks]
(Chapters 3, 4, 5 in the textbook)
- Turing machines: definitions and examples
(section 3.1)
- Other models of computation, the Church-Turing thesis
(sections 3.2, 3.3)
- Diagonalization, the Halting problem
(sections 4.1, 4.2)
- Decidability and recognizability, examples
(sections 4.2, 5.1)
- Reducibility, examples
(sections 5.1, 5.2)
- Mapping reducibility, examples
(section 5.3)
- Complexity Theory
[7 weeks]
(Chapters 7, 8, 10 in the textbook)
- Models of efficient computation
(sections 7.1, 7.2)
- P, NP, coNP, examples
(section 7.2, 7.3)
- Polytime reducibility, NP-completeness
(section 7.4)
- Cook's theorem, more NP-completeness
(section 7.5)
- Self-reducibility
(not in textbook)
- Space complexity and other complexity classes
(sections 8.1, 8.2, 8.3, 9.1)
Learning objectives
By the end of this course,
students should
|