CMPS 132 Home Page
Computability and Computational Complexity
Winter 2005
Manfred K. Warmuth
Organisational
Class: TTh 12-1:45, Social Sciences I, Rm. 149
Office hours: We 10-11, Th 2-3: E2 357
Prerequisites: CMPS 130 - CMPS 101 - CE 16
Textbook: Martin - Introduction to Languages and the Theory of Computation (Errata)
Final: March 15, 8:00-11:00 am
TA: Jay Kreps jay@cse.ucsc.edu
Office Hours: Mon. 5:00-6:00, E2 Rm. 489
Sections:
Monday 3:30-4:40 pm in Social Science I, 153
Wednesday 2:30-3:40 pm at Baskin Whiteboards (Jack's Lounge)
Final Review Sessions
Manfred - Sa March 12, 1:00-3:00, Jack Baskin 372
Jay - Mo March 14, 3:30-4:40 in SSI 153
Pictures of your classmates
Summary of lectures
1: General introduction
Self referential paradoxes
Proof of the Halting Problem at programming language level
Definition of Turing Machines and its motivation
Examples
Turing acceptable
Read Chapter 9
Syllabus
Policies, grading
Halting Problem
Homework 1
2: Definition of Turing computable
Variations of Turing machines and
alternates to Turing machines
(2 stacks and queue machine)
Mankala Turing machine
3: Simulation of nondeterministic Turing machines
by deterministic ones
Church-Turing Thesis
Comparison between RAM and Universal Turing Machine
Encodings and construction of Universal Turing Machine
Closure properties of Turing acceptable and Turing decidable
Read Chapter 10
"Life" implementation of Turing Machines
Homework 1 Solutions
Homework 2
4: Equivalence of Turing enumerable and Turing acceptable
Universal grammars and equivalence with Turing acceptable
Linear bounded automata and the Chomsky hierarchy
5: Defs of countable and uncountable
The countably infinite union of countably infinite sets
is countably infinite
Diagonalization argument that shows that the power set of
a countably infinite set is uncountable
Read Chapter 11
General proof that |S| less than 2^|S|: Brookshear
Proof of Schroeder-Bernstein Theorem
Homework 2 Solutions
Homework 3
6: SA - a Turing acceptable language
that is not Turing decidable
NSA - a language that is not Turing acceptable
There exists a Turing decidable language that is
not context sensitive
Decision problems
Definition of the Halting Problem
7: Solutions to HW3
Proof that the rationals are countably infinite
Alternate proofs
Definition of the language H corresponding
to the Halting Problem
H is Turing acceptable but not Turing decidable
Homework 3 Solutions
Homework 4
8: Various proofs that H is not Turing decidable
including Turing's original proof based on the
computable reals
Reductions between decision problems
9: Some more reductions
Rice's Theorem and how to apply it
Sample Midterm Questions
Sample Midterm
Solutions to Sample Midterm
Homework 4 Solutions
10: Review for midterm
11: Midterm (till Section 11.4)
Lasts entire class period
Midterm W05 Solutions
12: The Post Correspondence Problem
Undecidable problem for Context Free languages
Finish Chapter 11
Busy Beaver Function
Read Chapter 12
Homework 5
13: Defs of primitive
There exist total computable functions that
are not primitive recursive
Ackermann function
14: Def of mu-recursive functions
Equivalence between partial computable functions
and mu-recursive functions
Alternate defs of partial computable functions
Growth rates
Homework 5 Solutions
Homework 6
15: The class P
The class NP
Various definitions
SAT
16: NP-completeness
Poly-time reductions
Reduction of SAT to 3SAT
Homework 6 Solutions
Homework 7
17: More reductions
Homework 8
3colorability reduction from CRLS
Homework 7 Solutions
Fun links:
Wikipedia on NP-completeness
The video game Tetris is NP-hard
A compendium of NP-complete optimization problems
18: More reductions
Weak and strong NP-completeness of number problems
19: How to deal with NP-completeness
Approximation algorithms
Homework 8 Solutions
Sample final
Additional sample final questions
Solutions to additional sample final questions
20: Review
THANKS TO EVERYONE FOR A REWARDING CLASS