CMSC 679: Theory of Computation Instructor: Howard E. Motteler Office: TF 111 Phone: 455-2590 Office hours: before class Text: Lewis & Papadimitriou. Readings from others, including Rodgers and Machtey & Young. Grading: 2 midterms and a final, one of which may be a take-home exam. Exercises will periodically be given, and it is strongly reccomended that you do these, although they are not graded. Solutions will (usually) be given. The weighting of the exams is 100 pts for each midterm, and 150 pts for the final, for a total of 350. Topics: * Introduction to Computability Church's Thesis and Effective Computability Primitive recursive functions * Basic Recursive Function Theory Recursive functions. S1-1 functions, composition functions, universal functions. Acceptable programming systems. Recursion theorems. Rice's theorem and some extensions to Rices's theorem. Recursive and RE sets. Reducability. Roger's isomorphism theorem. The arithmetic hierarchy. * Turing machines and other models of computation Turing machines, markov algorithms, RAM models, and recursive functions are all shown to be equivalent. * Complexity theory and NP-completeness Introduction to time and space measures. "hard" and "complete" problems. Cook's theorem, NP-completeness. Survey of some common NP-complete problems. * Logic Propositional logic. Truth assignments, tautologies, logical consequence. Resolution, compactness. Introduction to first order logic: well formed formulas, rules of inference, models. Compactness and completeness.