CS 2110 Theory of Computation

Email:
kirk@cs.pitt.edu

Office: 6415 Sennot Square

Office hours: 2:00-3:00 Mon, Wed, Fri. If you can catch me in
my office on these days, I'm probably happy to talk to you
unless I have a paper/grant deadline.

Michael Nugent

Email: mpn1@pitt.edu

Office: 6406 Sennot Square

Office hours: 2:00-3:30 Tuesday and 10:30-12 Thursday

Class Time and Location

Monday, Wednesday,
Friday: 10:00 - 11:15 in room 6516 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.

- Homeworks assignments can be found here. These will be updated frequently, so check often.
- Join the group https://groups.google.com/forum/#!forum/cs-2110-pitt-fall-2013
which will be used for announcements, questions about the
homework, etc.

We will 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.

`Old Final exams`

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. You may work in groups of size 3 or 4 on the
homeworks. You may talk to others in the class about the
homework, but may not consult any outside source (e.g. other
students, the www, other texts ...) to help solve the homework
problems. Solutions are due at the start of class when they
are due, and must be written using LaTeX. Figures
may be hand drawn.

Tentative
Schedule

Historical (pre 1970) Results Chapter 1

- Formalizing Computation (Church, Turing 1930's) (notes)

- Finite state machines cannot count
- Church-Turing Thesis
- Evidence: Simulation
- Undecidable Problems (Church, Turing 1930's) (notes)
- Halting, proof diagonization
- Term rewriting, proof reduction
- Logic, Proofs and Computation (notes)

- Goedel's Incompleteness Theorems (1930's)

- Formalizing Information (notes)

- Entropy
- Source coding theorem (Shannon circa 1940's)

- Kolmogorov complexity (circa 1950's)

- Noncomputability of Kolmogorov complexity

P, PH and PSPACE Chapters 2, 3, 4 and 5 (1970's)

- Time and Space
- Definition of LogSpace, P, PSpace, ExpTime
- Constant Time and Space speed-up theorems
- LogSpace in P and PSpace is in ExpTime
- Time and space hiearchy theorems
- Machine based complete problems for P, PSpace, EXPTIME
- Circuit Value Problem is log space complete for P

- TQBF is polynomial time complete for PSpace
- PSpace hardness of some game, see for example this list
- PH and Alternation
- Definition of PH
- PH in PSpace
- Machine based complete problems for PH
- Why no obvious complete problems for NP intersect CoNP
- Cook-Levin Theorem
- NP-completeness of THEOREMS
- PSPACE = APTIME
- Baker, Gill, Soloway
- Ladner's Theorem

Circuits Chapter 6 (1970's)

- Definition of (uniform) NC
- Parallel Computation Thesis (Wikepedia)
- NLogSpace and LogSpace in NC
- Definition of P/Poly
- Karp-Lipton Theorem

Randomization Chapter 7 (1970's)

- 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)

- 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]
- #P in IP
- IP=PSPACE

- If GI is NP-complete then the polynomial time hierachy collapses
- History of IP=PSPACE
result, great reading about how research happens in the real
world

Cryptography Chapter 9 (Mostly 1980's)

- One time pad private key
- Public key cryptography
- Definition of one-way function
- Definition of Pseudo-random generators
- Definition of semantic security

- One way functions imply pseudo-random generators which
imply private key cryptography with smallish keys

- Pseudo-random generators imply derandomization of BPP
and BPP subset subexponential time

- Definition of perfect zero knowledge
- Zero knowledge proof of graph isomorphism

Energy

- Billiard ball circuits
- Reversable computation

- Minimum energy computation

Quantum Computation Chapter 10 (Mostly 1990's)

- Two 1/2 silvered mirror experiment
- EPR and the parity game
- Provably secure quantum cyrptography, Heisenberg
uncertainty principle

- Simon's algorithm
- Grover's algorithm
- Shor's algorithm (popular description)

Approximation Algorithms Chapter 11 (Mostly 1990's)

- Statement of PCP theorem
- Hardness of approximation of MAXSAT

- How to use PCP to prove hardness of approximation by reduction
- NP subset PCP(poly, 1)

Information Theoretic Lower Bounds Chapers 12 and 13

- Sorting lower bound
- Element Uniqueness lower bound
- Communication complexity and the tiling lower bound for
equality

- Yao's minimax technique for sorting