CS
2110
Theory of Computation
Fall 2008
Instructor
Kirk Pruhs
Email: kirk@cs.pitt.edu
Phone : 412-624-8844
TA
Christine Chung
Email: chung@cs.pitt.edu
Class Time and
Location
Monday, Wednesday, Friday: 11:30 - 12:45 in 5313 Sennott Square. The course is scheduled three
times per week to allow me to miss some weeks to travel for academic
conferences/collaborations. The total number of meetings will be the
same as a normal two lecture per week course.
Announcements
- Class is
canceled Monday September 15, Wednesday September 17 and Friday
September 19 as I will be at the European algorithms conference.
- Everyone
should join the Google Group http://groups.google.com/group/cs2110/
which you should use for questions etc. To get an invitation, send
Christine your gmail address.
- Homeworks
assignments can be found here. These will
be update frequently, so check often.
Course
Description
The initial
plan is to spend a few weeks covering the classic (pre 1970) results
that are the foundations of theoretical computer science, and then
loosely follow the first eleven chapters of the text
by Arora and Boaz.
If there is time left after this, I will pick an
advanced topic or two from the text to cover. I have not taught theory
of computation in a
while, so all plans are fluid and subject to change based on how class
goes.
Course Format
I will give
all of the lectures. There will be homework assignments and a final
exam, that will count equally in the final grade. For computer science
PhD students, the preliminary exam will be the final exam.
Tentative
Schedule
Historical
(pre 1970) Results (7 lectures)
- Formalizing
Computation (Church, Turing 1930's)
- Finite
state machines cannot count
- Undecidable
Problems
(Church, Turing 1930's)
- Halting,
proof diagonization
- Term
rewriting,
proof reduction
- Logic,
Proofs and Computation
- Goedel's
Incompleteness Theorems (1930's)
- Formalizing
Information
- Source
coding theorem (Shannon circa 1940's)
- Noisy
channel coding theorem (Shannon
circa 1940's)
- Kolmogorov
complexity (circa 1950's)
- Noncomputability
of Kolmogorov complexity
- Formalizing
games and competition
- Existence
of mixed Nash equilibrium (von Neumann and Nash circa 1940's and 1950's)
- Introduction
to mechnaism design and inefficiency of equilibrium (circa 2000's)
P, PH and PSPACE Chapters 2, 3, 4 and 5 (1970's) (5 lectures)
Circuits Chapter 6 (1970's) (1.5 lectures)
- Definition of (uniform) NC
- Circuit Value Problem NC hard for P
- Parallel Computation Thesis (Wikepedia)
- NLogSpace and LogSpace in NC
- Definition of P/Poly
- Karp-Lipton Theorem
Randomization Chapter 7 (1970's) (1.5 lectures)
- Random polynomial
time algorithm for primality (Soloway and Strassen 1977)
- Definition of BPP,
RP, co-RP, ZPP
- Why these classes
seem to not have complete problems
- ZPP in BPP
- BPP in P/Poly
- BPP in polynomial
time hierarchy
Interactive Proofs Chapter 8 (1980's) (3 lectures)
- Examples: Uno card
color, graph non isomorphism
- Definitions of AM
and IP
- AM protocol for
approximate set size
- GNI in AM[2] and
IP[k] in AM[k+2]
- If GI is
NP-complete then the polynomial time hierachy collapses
- IP=PSPACE
- History of IP=PSPACE result, great reading
about how research happens in the real world
Cryptography Chapter 9 (Mostly 1980's) (2 lectures)
- One time pad private key
- Public key cryptography
- Definition of one-way function
- Definition of Pseudo-random
generators
- Statement of results that one way
functions imply pseudo-random generators which implie private key
cryptography with smallish keys and derandomization of BPP
- Definition of perfect zero
knowledge
- Zero knowledge proof of graph
isomorphism
Energy (probably .5 lecture)
- Billiard ball circuits
- Reversable computation
- Minimum energy computation
-
Quantum Computation Chapter 10 (Mostly 1990's) ( 4 lectures)
- Two 1/2 silver mirror experiment
- EPR and the parity game
- Provably secure quantum
cyrptography, Heisenberg uncertainty principle
- Simon's algorithm
- Grover's algorithm
- Just a few hints at Shor's
algorithm (popular
description)
Approximation Algorithms Chapter 11 (Mostly 1990's) (1.5 lectures)
- Statement of PCP theorem
- Hardness of approximation of MAXSAT
- How to use PCP to prove hardness
of approximation by reduction