Theory of Computation
Mort YaoTextbook:
- Michael Sipser. Introduction to the Theory of Computation, 3rd edition.
Supplementary reading:
- Neil Jones. Computability and Complexity: From a Programming Perspective. [PDF]
1 Formal Languages and Automata
- Preliminaries
- Finite languages
- Regular languages
- Context-free languages
- *Context-sensitive languages
2 Computability
- Church-Turing thesis
- Turing machines
- Turing completeness
- Lambda calculus
- Combinatory logic
- Recursive function
- Cellular automaton
- Abstract rewriting system
- Algorithm
- Decidability
- Decidable languages
- Undecidability
- Logical theories
- Reducibility
- Many-one reductions
- Turing reductions, Turing equivalence and Turing degree
- Recursion theorem
- Algorithmic information theory
3 Complexity
- Overview
- Time complexity
- P and NP
- Space complexity
- Savitch’s theorem
- PSPACE
- PSPACE-completeness
- L and NL
- NL-completeness
- NL=coNL
- Provable intractability
- Hierarchy theorems
- Relativization
- Circuit complexity
- Advanced topics
- Approximation algorithms
- Probabilistic algorithms
- BPP
- Alternation
- Interactive proof systems
- IP=PSPACE
- Parallel computation
- NC
- P-completeness
- Cryptography