Polynomial Hierarchy




CS254

Chris Pollett

Oct. 24, 2011

Outline

The Polynomial Hierarchy

The Polynomial Hierarchy - Definition 1

Definition. For `i ge 1`, a language `L` is in `Sigma_i^p` if there exists a `p`-time TM M and a polynomial `q` such that
`x in L \iff exists u_1 \in {0,1}^(q(|x|))forall u_2 \in {0,1}^(q(|x|)) ... Q_iu_i\in {0,1}^(q(|x|)) M(x, u_1 ..., u_i) = 1`.
where `Q_i` is either `exists` or `forall` depending on whether `i` is even or odd. We write `\Pi^p_i` for the languages which have the rolls of `exists` and `forall` interchanged in the above. Alternatively, it consists of the class of complements of `Sigma_i^p` languages. Lastly, we define`PH = cup_i Sigma_i^p`.

It should be reasonably clear that `Sigma_i^p subseteq Pi_(i+1)^p subseteq Sigma_(i+2)^p`. Also, `NP = Sigma_1^p` `coNP = Pi_1^p`

Theorem. `PH` is contained in `PSPACE`.

(Sketch). Use auxiliary tapes to cycle over possibilities for `u_i`'s.

Quiz

Which of the following are not ruled out by our current state of knowledge?

  1. Nondeterministic `PSPACE` might equal `EXP`
  2. `NL` might equal `EXP`.
  3. `L` is strictly contained in `NL`.

On Collapse

Theorem.
(1) For every `i ge 1`, if `Sigma_i^p = Pi_i^p` then `PH = Sigma_i^p`.
(2) If `P = NP` then `PH =P`; that is, the hierarchy collapses to `P`.

Proof. (1) The idea is a basically a proof by induction on `j ge i`. We show `Sigma_j^p = Pi_i^p`. The base case `j=i` is by assumption. So consider some `j > i`. Let `L` be a language in `Pi_(j+1)^p`, it can be defined as a formula consisting of a `forall` followed by a `Sigma_j^p` formula. Rewrite the `Sigma_j^p` formula as a `Pi_i^p` formula using the induction hypothesis, then collapse the adjacent `forall` quantifiers to make the whole thing `Pi_i^p`. This shows `Pi_(j+1)^p` is in `Pi_i^p`. As we are assuming `Pi_i^p =Sigma_i^p`, we are closed under complement so we also get `Sigma_(j+1)^p = Pi_i^p`. (2) Follows by (1) noting that `P` is closed under complement.

On Collapse II

Theorem. If there exists a language `L` that is `PH`-complete, then there exists an `i` such that `PH = Sigma_i^p`.

Proof. Since `L in PH`, `L` is in `Sigma_i^p` for some `i`. Since `L` is PH-complete we can reduce any problem in `PH` to `L`. But every language `p`-reducible to `Sigma_i^p` is itself `Sigma_i^p`.

Alternating Time

Definition. (Alternating Time) For every `T: NN -> NN`, we say that an alternating TM runs in time `T(n)` if for every input `x in {0,1}^star` and for every possible sequence of transition function choices, `M` halts after at most `T(|x|)` steps. We write `ATIME(T(n))` for the languages accepted by ATM's in `c cdot T(n)` steps.