CMPS 132 Home Page
Computability and Computational Complexity
Winter 2004
Manfred K. Warmuth
Organisational
Class: TTh 4-5:45, Porter 250
Office hours: We,F 10-11, 331 Baskin Engineering
Prerequisites: CMPS 130 - CMPS 101 - CE 16
Textbook: Martin - Introduction to Languages and the Theory of Computation (Errata)
Final: March 18, 4-7 pm, in same classroom
TA: Jay Kreps jay@cse.ucsc.edu
Office hours: Monday 10:00 in BE 354I (Inside the Grad. Room)
Section: Thursday, 6:00-7:00 p.m., Jack's Lounge
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
Simulation of nondeterministic Turing machines
by deterministic ones
3: Church-Turing Thesis
Comparison between RAM and Universal Turing Machine
"Life" implementation of Turing Machines
Encodings and construction of Universal Turing Machine
Closure properties of Turing acceptable and Turing decidable
Read Chapter 10
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
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: Definition of the language H corresponding
to the Halting Problem
H is Turing acceptable but not Turing decidable
Various proofs that H is not Turing decidable
including Turing's original proof based on the
computable reals
Homework 3 Solutions
Alternate proofs that rationals are countable.
Homework 4
8: Reductions between decision problems
Sample Midterm Questions
Sample Midterm
9: Some more reductions
Rice's Theorem and how to apply it
Solutions to Sample Midterm
Review for midterm
Homework 4 Solutions
Fermat's Theorem checker in Python
10: Midterm (till Section 11.4)
Lasts entire class period
Midterm W04 Solutions
11: The Post Correspondence Problem
Undecidable problem for Context Free languages
Finish Chapter 11
Homework 5
12: Finish undecidable problem for Context Free languages
Busy Beaver Function
Read Chapter 12
13: Defs of primitive and mu-recursive functions
There exist total computable functions that
are not primitive recursive
Equivalence between partial computable functions
and mu-recursive functions
Alternate defs of partial computable functions
Homework 6
Homework 5 Solutions
14: Growth rates
The class P
15: The class NP
Various definitions
SAT
Homework 7
Homework 6 Solutions
16: NP-completeness
Poly-time reductions
Reduction of SAT to 3SAT
17: More reductions
Homework 8
Problem 34-3 from CLRS
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
Final Exam Solutions
THANKS TO EVERYONE FOR A REWARDING CLASS
Thanks to Noah Constant for correcting some of the homework solutions!