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 most of 5 and maybe part of 6; also Wegener 2.1).

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

    1. Basic Complexity Theory (5 weeks)

      Wegener text, Chapters 1-7.1. (Lighter coverage of most but not all topics in Sipser Chapters 7 and 10.2)

      Specific topics will include

      • Complexity measures--time complexity
      • P and NP, SAT, poly-time reducibility

      • Probabilistic classes, especially RP and BPP.

      • NP-completeness

      • Cook-Levin theorem

    2. More ``classic'' complexity theory (1.5-3.5 weeks).

      Wegener, Chapters 10 and 13. (Sipser covers some of this in Chapters 8 and 10.3.)

      • Structure of NP and co-NP

      • PSPACE, TQBF, Savitch's theorem

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

      • Oracles

      • Alternating time and space and the polynomial hierarchy

      • BPP

    3. Basic Complexity of Approximation Problems (1-1.5 weeks)

      Wegener Chapter 8; light sketch in Sipser 10.1.

  4. Advanced topics as time allows selected from (hoping for 3-5.5 weeks):
    1. More on complexity of Approximation algorithms--PCP
    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 2006-08-28