


Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
A lecture note from cs221: computational complexity course by prof. Salil vadhan at harvard university. The lecture focuses on the polynomial hierarchy and its definition through oracles. The document also includes proofs for theorems related to the polynomial hierarchy and its relation to np and co-np.
Typology: Study notes
1 / 4
This page cannot be seen from the preview
Don't miss anything!



CS221: Computational Complexity Prof. Salil Vadhan
10/18 Scribe: Saurabh Sanghvi
To review, last lecture we defined the following:
k
ΠkP
We know, of course that PH ⊆ PSPACE. We can think of the PH as a more slight or benign generalization of NP, or thinking about the AP/PSPACE model, as games where you fix the number of rounds.
Why, one might ask, do we care about the complexity of games? A large focus of study is in protocols, involving the interaction of algorithms. Thinking about games is a helpful way to analyze these interactions.
Recall the definition of QBF from last lecture. Define, similarly, the following for each k:
QBFk = {ϕ(X 1 ,... , Xk) : ∃X 1 ∀X 2... QXk ϕ(X 1 ,... , Xk), ϕ an arbitrary Boolean formula }
Here each Xi represents a group of Boolean variables (xi, 1 , xi, 2 ,... , xi,ni ). Just as we found that QBF was PSPACE-complete, we can show the following for each k:
Theorem 1 QBFk is ΣkP-complete.
Proof : That QBFk ∈ ΣkP follows from logic similar to what we saw before for QBF, and so we will just show QBFk is ΣkP-hard.
Given L ∈ ΣkP, by definition we have a polynomial time relation R, polynomial p with:
x ∈ L ⇔ ∃y 1 ∀y 2... Qyk R(x, y 1 ,... yk), where each yi ∈ { 0 , 1 }p(|x|)
Last time at this point we used Cook–Levin to replace R with a formula of the form 3-CNF formula. We’ll do basically the same thing here, but this time we’ll need to be sure that we don’t increase the number of alternations in the process.
Then by the proof of the Cook–Levin theorem we can replace R(x, y 1 ,... , yk) with ∃z ϕR(x, y 1 ,... , yk, z). It is easy to see that this replacement will not increase the number of alternations.
Otherwise, suppose Q = ∀. Then we can apply Cook-Levin to ¬R to get ∃z ϕ¬R(x, y 1 ,... yk, z). Negating, and then pushing the negation through, we get ∀z (¬ϕ¬R)(x, y 1 ,... yk, z) (where (¬ϕ¬R) will now be in 3-DNF — but this is fine). We can then replace R with this and not increase the number of alternations.
Another way of defining PH is through oracles, which you may remember from our definition of Cook reductions. In fact, this is the usual way it is defined. If we let A be some function or language, then we can define the following:
Definition 2 PA^ is the class of language decided in polynomial time with an “oracle” for A. Similarly, NPA^ is the class decided in nondeterministic polynomial time, with access to such an oracle.
In order to make sense of this, we need to define what it means to compute with access to an oracle:
Definition 3 Formally, an oracle TM M is a TM with an extra “oracle” tape and a special oracle- query state. When M goes into the query state, its oracle is applied to the contents of the oracle tape. Running an oracle TM M with oracle A is denoted M A.
Important: The operation of adding oracles is an operation on machines, not an operation on language classes. Phrased differently, CA^ is not defined for an arbitrary class C; it depends on the machine used to define C. For instance, complexity classes not defined with respect to properties of the machines deciding them will not make sense with an oracle attached. Additionally, LA^ is not well-defined, because there are disagreements on how to charge for the space used on the query tape, and different formulations are inequivalent.
Even so, most classes we have seen can be thought of in the context of an oracle, and in fact, most of the results we have shown apply within the context of oracles, as well.
We can also talk about machines with access to an oracle in any given class via the following:
Conversely, suppose L ∈ NPΣk−^1 P. By the certificate characterization of NPA, ∃R ∈ PΣk−^1 P such that x ∈ L ⇔ ∃y, |y| ≤ p (|x|)R(x, y). By the lemma, R ∈ ΣkP. We can then combine in the ∃y, and so L ∈ ΣkP.