next up previous
Next: Textbooks Up: CS 505: (Graduate) Computability Previous: Prerequisites

Material Covered

  1. Overview of the history of the subject (0.5-1 lecture)

    Hilbert's 1900 lecture, Gödel, Turing, and Church, etc.

  2. Computability theory: What can we compute? (2.5-3 weeks)

    Turing machines, Church-Turing thesis, decidability, halting problem, Reductions between problems, Rice's Theorem. (Sipser text, Chapters 3, 4, and parts of 5 and 6).

  3. Complexity theory: How fast can we compute it?

    1. Classic time and space classes (6 weeks)

      Sipser text, Chapters 7-9

      Roughly speaking, the hierarchy

      \begin{displaymath}
\mbox{L} \subseteq \mbox{NL} \subseteq \mbox{P} \subseteq
\mbox{NP} \subseteq \mbox{PSPACE}
\end{displaymath}

      Specific topics will include

      • Complexity measures--especially time, also space
      • P and NP, SAT, poly-time reducibility

      • NP-completeness

      • Cook-Levin theorem
      • PSPACE, TQBF, Savitch's theorem

      • Games, Generalized Geography
      • L and NL, NL $=$ coNL
      • Hierarchy theorems

      • Provably intractable problems, oracles

    2. Probabilistic and alternating classes (1.5-2 weeks)

      Sipser text Chapter 10.2-10.3 has a brief overview; Papadimitriou has more.

      • Alternating time and space and the polynomial hierarchy

      • Probabilistic Computation

      • BPP

  4. Advanced topics as time allows selected from (hoping for 3-5.5 weeks):
    1. Approximation algorithms.
    2. Intro to computational learning theory.
    3. Interactive proofs.
    4. Intro to modern cryptography.


next up previous
Next: Textbooks Up: CS 505: (Graduate) Computability Previous: Prerequisites
Robert Sloan 2003-08-24