Lecture 36 - Notes
Goals
Announcements
- Final Exam Study Guide is out - find it here, or linked from the final exam
row on the Schedule table.
- End-of-quarter special case for the homework resubmission policy:
- Final deadline for resubmissions is 11:59pm Monday, December
9th.
- Friday’s class is optional. Ask me anything!
- I’ll give priority to 301-related questions, but really, ask me
anything!
- A9 and Week 9 survey due tonight
- I am recruiting students for my research group. Please fill out this form by the end of
Friday and come talk to me with questions if you’re interested.
Notes
Mostly the same as L35!
A few things to address today:
- Why is the Church-Turing Thesis a thesis, not a theorem?
- (Re \(\cup\) over)view of the
Chomsky Hierarchy
- Are there any practical / applicable problems that are undecidable?
Sure:
- Equivalence of Turing machines (and therefore programs) - relevant
for compilers, interpreters, etc.
- Equivalence of context-free grammars - relevant for parsers,
etc.
- Halting problem - relevant for autograders (well, sort of)
Here’s a prettier picture of the Chomsky Hierarchy (credit to Logan
Sizemore):

- A final distinction: undecidable languages can still be
enumerable
A language is enumerable (sometimes called
recursively enumerable) if there exists a Turing
machine that can generate all strings in the language. We may be able to
do this even if we can’t solve the decision problem (in particular,
reject strings not in the language) in finite time.
Example: The set of halting turing machines