University of Maryland
CMSC652 Complexity Theory
Professor Jonathan Katz
Final Exam
Instructions:
The completed exam must be turned in by 3:30 on Dec. 19. You may hand it to me in
person or (1) email me a pdf; (2) slide it under my door; (3) put it in my

Notes on Complexity Theory
Last updated: October, 2011
Lecture 12
Jonathan Katz
1
Randomized Time Complexity
Is deterministic polynomial-time computation the only way to dene feasible computation? Allowing probabilistic algorithms, that may fail with tiny

Notes on Complexity Theory
Last updated: October, 2011
Lecture 13
Jonathan Katz
1
Randomized Time Complexity
1.1
How Large is BPP ?
We know that
P ZPP = RP coRP RP coRP BPP PSPACE.
We currently do not have a very good unconditional bound on the power of B

Notes on Complexity Theory
Last updated: October, 2011
Lecture 14
Jonathan Katz
1
Randomized Space Complexity
1.1
Undirected Connectivity and Random Walks
A classic problem in RL is undirected connectivity (UConn). Here, we are given an undirected
graph a

Notes on Complexity Theory
Last updated: October, 2011
Lecture 15
Jonathan Katz
1
Randomized Space Complexity
1.1
1.1.1
Undirected Connectivity and Random Walks
Markov Chains
We now develop some machinery that gives a dierent, and somewhat more general, p

Notes on Complexity Theory
Last updated: October, 2011
Lecture 16
Jonathan Katz
1
Interactive Proofs
Let us begin by re-examining our intuitive notion of what it means to prove a statement. Traditional mathematical proofs are static and are veried determi

Notes on Complexity Theory
Last updated: October, 2011
Lecture 17
Jonathan Katz
1
Graph Non-Isomorphism is in AM
The proof system we showed earlier for graph non-isomorphism relied on the fact that the veriers
coins are kept hidden from the prover. Is thi

Notes on Complexity Theory
Last updated: October, 2011
Lecture 18
Jonathan Katz
1
The Power of IP
We have seen a (surprising!) interactive proof for graph non-isomorphism. This begs the question:
how powerful is IP ?
1.1
coN P IP
As a warm-up we show that

Notes on Complexity Theory
Last updated: November, 2011
Lecture 19
Jonathan Katz
1
IP = PSPACE
A small modication of the previous protocol gives an interactive proof for any language in PSPACE,
and hence PSPACE IP . Before showing this, however, we quickl

Notes on Complexity Theory
Last updated: November, 2011
Lecture 20
Jonathan Katz
1
Zero-Knowledge Proofs
(The following notes just sketch what was covered in class.)
In the complexity-theoretic setting of interactive proofs for some language L, we are con

Notes on Complexity Theory
Last updated: November, 2011
Lecture 21
Jonathan Katz
1
Probabilistically Checkable Proofs
Work on interactive proof systems motivates further exploration of non-interactive proof systems
(e.g., the class N P ). One specic quest

Notes on Complexity Theory
Last updated: November, 2011
Lecture 22
Jonathan Katz
1
N P PCP(poly, 1)
We show here a probabilistically checkable proof for N P in which the verier reads only a constant
number of bits from the proof (and uses only polynomiall

Notes on Complexity Theory
Last updated: November, 2011
Lecture 23
Jonathan Katz
1
1.1
The Complexity of Counting
The Class #P
P captures problems where we can eciently nd an answer; N P captures problems where we can
eciently verify an answer. Counting t

Notes on Complexity Theory
Last updated: November, 2011
Lecture 24
Jonathan Katz
1
The Complexity of Counting
We explore three results related to hardness of counting. Interestingly, at their core each of these
results relies on a simple yet powerful tech

Notes on Complexity Theory
Last updated: November, 2011
Lecture 25
Jonathan Katz
1
Time-Bounded Derandomization
Randomization provides unconditional benets in many settings; examples include cryptography
(where random keys are used to provide protection a

Notes on Complexity Theory
Last updated: October, 2011
Lecture 11
Jonathan Katz
1
Non-Uniform Complexity
1.1
Circuit Lower Bounds for a Language in 2 2
We have seen that there exist very hard languages (i.e., languages that require circuits of size
(1 )2n

Notes on Complexity Theory
Last updated: October, 2011
Lecture 10
Jonathan Katz
1
1.1
Non-Uniform Complexity
The Power of Circuits
Last time we saw that every function f : cfw_0, 1n cfw_0, 1 could be computed by a circuit of size
n 2n , and noted that thi

University of Maryland
CMSC652 Complexity Theory
Professor Jonathan Katz
Homework 1
Due at the beginning of class on Sept. 14
A
I suggest to use L TEXwhen typing up your solutions. It will yield more readable solutions, and will provide you with a skill t

University of Maryland
CMSC652 Complexity Theory
Professor Jonathan Katz
Homework 2
Due at the beginning of class on Sept. 28
A
I suggest to use L TEXwhen typing up your solutions.
1. An undirected graph G can be k -colored if each of its vertices can be

University of Maryland
CMSC652 Complexity Theory
Professor Jonathan Katz
Homework 3
Due at the beginning of class on Oct. 17
A
I suggest to use L TEXwhen typing up your solutions.
1. Assume s(n), t(n) n are space/time-constructible.
(a) Prove that nspace(

University of Maryland
CMSC652 Complexity Theory
Professor Jonathan Katz
Homework 4
Due at the beginning of class on Nov. 16
A
I suggest to use L TEXwhen typing up your solutions.
1. Prove Claim 3 in the notes for lecture 12. Prove also that ZPP = RP coRP

University of Maryland
CMSC652 Complexity Theory
Professor Jonathan Katz
Homework 5
Due at the beginning of class on Dec. 12
1. Arora-Barak, Exercise 11.2. (This result was mentioned in class, but without a rigorous proof.)
2. Arora-Barak, Exercise 11.8.

Notes on Complexity Theory
Last updated: August, 2011
Lecture 1
Jonathan Katz
1
Turing Machines
I assume that most students have encountered Turing machines before. (Students who have not
may want to look at Sipsers book [3].) A Turing machine is dened by

Notes on Complexity Theory
Last updated: December, 2011
Lecture 2
Jonathan Katz
1
Review
The running time of a Turing machine M on input x is the number of steps M takes before it
halts. Machine M is said to run in time T () if for every input x the runni

Notes on Complexity Theory
Last updated: October, 2011
Lecture 3
Jonathan Katz
1
Natural N P -Complete Problems
Last time we saw a non-natural N P -complete language. Other important N P -complete languages are SAT (satisable boolean formulae in conjuncti

Notes on Complexity Theory
Last updated: September, 2011
Lecture 4
Jonathan Katz
1
Diagonalization
In this lecture and the next one, we discuss two types of results that are related by the technique
used in their proofs. Both kinds of results are also fun

Notes on Complexity Theory
Last updated: September 14, 2011
Lecture 5
Jonathan Katz
1
Diagonalization, Continued
1.1
Ladners Theorem
We know that there exist N P -complete languages. Assuming P = N P , any N P -complete language
lies in N P \ P . Are ther

Notes on Complexity Theory
Last updated: September, 2011
Lecture 6
Jonathan Katz
1
Space Complexity
We dene some of the important space-complexity classes we will study:
Denition 1
PSPACE
def
=
c space(n
NPSPACE
def
=
c nspace(n
L
def
=
space(log n)
NL
de

Notes on Complexity Theory
Last updated: September, 2011
Lecture 7
Jonathan Katz
1
1.1
Conguration Graphs and the Reachability Method
NL and NL-Completeness
Coming back to problems on graphs, consider the problem of directed connectivity (denoted conn).
H

Notes on Complexity Theory
Last updated: September, 2011
Lecture 8
Jonathan Katz
1
The Polynomial Hierarchy
We have seen the classes N P and coN P , which are dened as follows:
L N P if there is a (deterministic) Turing machine M running in time polynomia