Complexity and Computability
ICSG704/ICSS481
Spring 2001
Instructor
bldg. 10, room 0A182,
(716) 4755193, spr@cs.rit.edu
http://www.cs.rit.edu/~spr
office hours TR 810pm
Lectures
Tuesday/Thursday, 68pm, 123105
Books and Other Reading
 M. Sipser,
Introduction to the Theory of Computation, PWS Publ, 1997
(required textbook).
 C. Papadimitriou,
Computational Complexity, AddisonWesley 1994
(complementary reading).
 M. Garey and D. Johnson,
Computers and intractability : a guide to the theory of NPcompleteness,
W. H. Freeman 1979 (suggested reference).
 D. Hofstadter,
Gödel, Escher, Bach : an eternal golden braid,
New York Basic Books 1979 (suggested reading).
 E. Nagel and J.R. Newman,
Gödel's Proof,
New York University Press 1958 (suggested reading).
 Journal articles.
Prerequisites
ICSS 380 or ICSG 700.
General knowledge of programming. Some background in combinatorics and
discrete mathematics are desirable.
Evaluation
Contents
Introduction to the complexity and computability theories.
Overview of basic complexity classes, with special focus on
NPtheory related problems. Study of problems complete in
NP and PSPACE. ChurchTuring thesis. Undecidability of
chosen classical problems. Some advanced topics in
computability, like degrees of unsolvability, recursion
theorem or Gödel's incompleteness theorem, are included.
Topics

Turing machines based computability
 ChurchTuring Thesis
 Hilbert's problems
 Diagonalization method
 (Non)decidablesolvablecomputablerecursive problems

Undecidable problems
 Halting problem
 Undecidability by reductions
 Program equivalence
 Printable = recursively enumerable (r.e.)
 Problems in formal languages

Selected advanced topics
 Beyond r.e.
 Recursion theorem
 Creative sets
 Arithmetical hierarchy
 Complexity of proving theorems
 Gödel's incompleteness theorem

Complexity Fundamentals
 Models of computation
 Computational problems, algorithms, complexity
 P versus NP
 Reducibility and completeness

NPcomplete problems
 Satisfiability problem
 Chosen graph problems
 Traveling salesman
 Knapsack
 Scheduling
 GareyJohnson catalog

Complexity classes
 NP, coNP, primality testing
 PSPACE, pebbling and games
 Logarithmic space, path problem
 Interactive proof systems

Hierarchies
 Time and space hierarchy
 Polynomial hierarchy
 Beyond PSPACE
 Other miscellaneous classes