In the last lecture, we saw that , where
What about the following related problems?
and
The two problems above are related to , but are not known to be in .
These problems seem to be of a different nature than , as in the case of , how can we (efficiently) certify that a graph has no clique of size ?
In the case of , 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 .
The class
Given a language , we define its complement as .
This yields the following definition:
Note that is not the complement of , as in particular they have a non-empty intersection (see Homework 2, exercise 1.1).
A more enlightening way to define is as follows:
Definition 1: A language is in if there is a polynomial and a polynomial-time Turing machine such that for all , we have
The following proposition shows that both definitions are equivalent:
Proposition 1: A language is in (according to definition 1) if and only if is in .
Now, with the above definitions, we can see that .
Open question 1: Is ?
If you solve the above question, you also prove that .
However, it is important to note that it is not known whether implies that .
The Polynomial Hierarchy
Even after defining and , there are still problems that are not known to be in either class, such as the problem.
Note that seems to require both existential and universal quantifiers to be expressed.
This motivates us to define the slightly more general class .
Definition 2: A language is in if there are polynomials and a polynomial-time Turing machine such that for all , we have
If we interchange the order of the quantifiers in the above definition, we obtain the class .
Note that, with the above definitions, we have .
To see this, note that we have have as the existential witness the clique of size , and as the universal witness the sets of vertices of size .
If we added more quantifiers, we would obtain the classes and for .
We have now arrived at the definition of the Polynomial Hierarchy.
Definition 3: The Polynomial Hierarchy is the class
From the above definition, two natural questions arise:
- How strong is ?
- Is a proper hierarchy?
- Does contain a complete problem (under Karp reductions)?
A first upper bound on is given by the following proposition:
Proposition 2: .
Proof: Let , then for some .
Let be the polynomials and be the polynomial-time Turing machine that witnesses that .
Then, we can construct a polynomial-time Turing machine that decides in exponential time by simulating the computation of on all possible witnesses of length .
We say that the Polynomial Hierarchy collapses if for some .
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 has no complete problem under Karp reductions.
Proof: We will prove this by the contrapositive.
That is, we will show that if has a complete problem under Karp reductions, then the polynomial hierarchy collapses.
Let be a complete problem for under Karp reductions.
Since , we have for some .
Let be the polynomial-time Turing machine that witnesses that .
Fix any language .
As is complete for , we have .
Let be the polynomial-time computable function that reduces to .
This implies that , because for any , we have that , which implies that
where is either or depending on the parity of .
Acknowledgements & References
This lecture was based on these resources: