Polynomial Hierarchy
In the last lecture, we saw that $\texttt{Clique} \in \texttt{NP}$, where $$\texttt{Clique} = \{ \langle G, k \rangle \mid G \text{ is an undirected graph with a clique of size } k \}.$$ What about the following related problems? $$\overline{\texttt{Clique}} = \{ \langle G, k \rangle \mid G \text{ is an undirected graph with no clique of size } k \}$$ and $$\texttt{MAX-CLIQUE} = \{ \langle G, k \rangle \mid G \text{ is an undirected graph with a clique of size } k \text{ and no clique of size } k+1 \}$$
The two problems above are related to $\texttt{Clique}$, but are not known to be in $\texttt{NP}$. These problems seem to be of a different nature than $\texttt{Clique}$, as in the case of $\overline{\texttt{Clique}}$, how can we (efficiently) certify that a graph has no clique of size $k$? In the case of $\texttt{MAX-CLIQUE}$, how can we (efficiently) certify that a particular clique is the largest one?
These problems, and many others, belong to a more general class of problems called the Polynomial Hierarchy.
To motivate the definition of the Polynomial Hierarchy, we will first introduce the class $\texttt{coNP}$.
The class $\texttt{coNP}$
Given a language $L$, we define its complement as $\overline{L} = \{ x \mid x \notin L \}$. This yields the following definition:
$$\texttt{coNP} = \{ L \mid \overline{L} \in \texttt{NP} \}$$
Note that $\texttt{coNP}$ is not the complement of $\texttt{NP}$, as in particular they have a non-empty intersection (see Homework 2, exercise 1.1).
A more enlightening way to define $\texttt{coNP}$ is as follows:
Definition 1: A language $L \subseteq \{0,1\}^*$ is in $\texttt{coNP}$ if there is a polynomial $p : \mathbb{N} \to \mathbb{N}$ and a polynomial-time Turing machine $M$ such that for all $x \in \{0,1\}^*$, we have $$x \in L \iff \forall y \in \{0,1\}^{p(|x|)}, \quad M(x,y) = 1.$$
The following proposition shows that both definitions are equivalent:
Proposition 1: A language $L$ is in $\texttt{coNP}$ (according to definition 1) if and only if $\overline{L}$ is in $\texttt{NP}$.
Now, with the above definitions, we can see that $\overline{\texttt{Clique}} \in \texttt{coNP}$.
Open question 1: Is $\texttt{NP} = \texttt{coNP}$?
If you solve the above question, you also prove that $\texttt{P} \neq \texttt{NP}$. However, it is important to note that it is not known whether $\texttt{P} \neq \texttt{NP}$ implies that $\texttt{NP} \neq \texttt{coNP}$.
The Polynomial Hierarchy
Even after defining $\texttt{NP}$ and $\texttt{coNP}$, there are still problems that are not known to be in either class, such as the $\texttt{MAX-CLIQUE}$ problem. Note that $\texttt{MAX-CLIQUE}$ seems to require both existential and universal quantifiers to be expressed.
This motivates us to define the slightly more general class $\Sigma_2^p$.
Definition 2: A language $L \subseteq \{0,1\}^*$ is in $\Sigma_2^p$ if there are polynomials $p, q : \mathbb{N} \to \mathbb{N}$ and a polynomial-time Turing machine $M$ such that for all $x \in \{0,1\}^*$, we have $$x \in L \iff \exists y \in \{0,1\}^{p(|x|)} \forall z \in \{0,1\}^{q(|x|)}, \quad M(x,y,z) = 1.$$
If we interchange the order of the quantifiers in the above definition, we obtain the class $\Pi_2^p$.
Note that, with the above definitions, we have $\texttt{MAX-CLIQUE} \in \Sigma_2^p \cap \Pi_2^p$. To see this, note that we have have as the existential witness the clique of size $k$, and as the universal witness the sets of vertices of size $k+1$.
If we added more quantifiers, we would obtain the classes $\Sigma_k^p$ and $\Pi_k^p$ for $k \geq 3$. We have now arrived at the definition of the Polynomial Hierarchy.
Definition 3: The Polynomial Hierarchy is the class $$\texttt{PH} = \bigcup_{k \geq 0} \Sigma_k^p = \bigcup_{k \geq 0} \Pi_k^p.$$
From the above definition, two natural questions arise:
- How strong is $\texttt{PH}$?
- Is $\texttt{PH}$ a proper hierarchy?
- Does $\texttt{PH}$ contain a complete problem (under Karp reductions)?
A first upper bound on $\texttt{PH}$ is given by the following proposition:
Proposition 2: $\texttt{PH} \subseteq \texttt{EXP}$.
Proof: Let $L \in \texttt{PH}$, then $L \in \Sigma_k^p$ for some $k$. Let $p_1, p_2, \ldots, p_k : \mathbb{N} \to \mathbb{N}$ be the polynomials and $V$ be the polynomial-time Turing machine that witnesses that $L \in \Sigma_k^p$. Then, we can construct a polynomial-time Turing machine $M$ that decides $L$ in exponential time by simulating the computation of $V$ on all possible witnesses of length $p_1(n), p_2(n), \ldots, p_k(n)$.
We say that the Polynomial Hierarchy collapses if $\texttt{PH} = \Sigma_k^p$ for some $k$.
The next proposition shows that items 2 and 3 cannot happen at the same time.
Proposition 3: If the polynomial hierarchy does not collapse, then $\texttt{PH}$ has no complete problem under Karp reductions.
Proof: We will prove this by the contrapositive. That is, we will show that if $\texttt{PH}$ has a complete problem under Karp reductions, then the polynomial hierarchy collapses.
Let $L$ be a complete problem for $\texttt{PH}$ under Karp reductions. Since $L \in \texttt{PH}$, we have $L \in \Sigma_k^p$ for some $k \geq 1$. Let $M$ be the polynomial-time Turing machine that witnesses that $L \in \Sigma_k^p$. Fix any language $A \in \texttt{PH}$. As $L$ is complete for $\texttt{PH}$, we have $A \leq_P L$. Let $f : \{0,1\}^* \to \{0,1\}^*$ be the polynomial-time computable function that reduces $A$ to $L$. This implies that $A \in \Sigma_k^p$, because for any $x \in \{0,1\}^*$, we have that $x \in A \iff f(x) \in L$, which implies that $$x \in A \iff \exists y_1 \forall y_2 \ldots Q_k y_k \quad M(f(x), y_1, y_2, \ldots, y_k) = 1,$$ where $Q_k$ is either $\exists$ or $\forall$ depending on the parity of $k$.
Acknowledgements & References
This lecture was based on these resources:
- Lecture notes by Prof. Eric Blais.
- [AB09, Chapter 5]