算法和计算复杂度 5 The Polynomoial-Time Hierarchy
Idea: arithmetic hierarchy from recursion theory.
Halting problem is a recursive enumerable language that is undecidable.
The polynomial-time hierarchy considers polynomial time and instead of .
Oracle Turing Machines
An oracle Turing machine is equipped with an additional tape, the query tape, and has three new special states . The query tape is a write-only tape.
The operation of is defined relative to an oracle language .
Denote together with oracle language by .
Whenever enters the state :
- Let be the string of symbols written to the query tape. The query tape is reinitialized to a black tape.
- If , computation resumes in the state .
- If , computation resumes in the state .
Define and for an oracle Turing machine with an oracle language to be the number of computation steps and number of cells of work tape used during computation on input . The same way we define time-bounded and space-bounded oracle Turing machines.
Then we need to define oracle versions of complexity classes. Straightforward to define time-bounded complexity classes, but be careful to define space-bounded complexity classes.
.
❗Problem for non-deterministic space-bounded oracle Turing machine: it may write very long strings to the oracle tape.
Solution: Requiring the oracle Turing machine to behave deterministically in the time between writing the first symbol to the oracle tape and making the oracle query. (deterministic oracle access)
Thus we define as the class of languages computed by a space-bounded non-deterministic oracle Turing machine with deterministic oracle access to oracle .
The definition can be extended to other complexity classes.
and for any oracle language .
The oracle may be chosen from some class of languages. Let be a class of languages.
Similarly we have , and .
This again extends to all other complexity classes such as .
Turing Reductions
📖Definition 17 (Turing reductions). Let and be languages. We say that log-space Turing machine reduces to (), if . Similarly we say polynomial time Turing reduces to (), if .
It also satisfies transitivity.
🤔Lemma 2. Transitivity.
🤔Proposition 3. The class are all closed under log-space Turing reductions. The class are all closed under polynomial-time Turing machine.
The Polynomial-time Hierarchy via Oracles and Quantifiers
For a class of language , denote the class of complements of languages of .
📖Definition 18 (polynomial-time hierarchy). Let . For , define further , and . Finally, let Polynomial Hierarchy .
The classes are said to make up level of the polynomial-time hierarchy, and denotes the entire polynomial-time hierarchy.
Note that , , .
On second level, we have , continuing ad infimum.
Straightforward:
🎯Theorem 27. .
Using polynomial space simply simulate the non-deterministic Turing machine same way as in proof of Theorem 10.
Then prove an equivalent definition of the classes and in terms of quantifiers.
🎯Theorem 28. Let be any language and let . Then iff there is a polynomial and another language s.t.
\forall x:[x\in L\Lrarr\exist y:|y|\le q(|x|)\and\langle x,y\rangle\in L'].
看不懂了。
🤔Corollary 3. Let be any language and let . Then iff there is a polynomial and another language s.t.
🤔Corollary 4. Let be any language and let . Then iff there is a polynomial and another language s.t.
where is if is odd, and if is even. Likewise, iff there is a polynomial and another language s.t.
where is if is even, and if is odd.
Generalize whether to question whether for .
🎯Theorem 29. If for some then .
继续看 天书。
Completeness in the Polynomial-time Hierarchy
Problem
Instance: Quantified Boolean formula with no free variables , where for all and for even and for odd .
Question: Is true?
Problem
Instance: Quantified Boolean formula with no free variables , where for all and for odd and for even .
Question: Is true?
🎯Theorem 30. is complete for and is complete for .
前面的推论 4 都没懂……这个证明就更不懂了
In case of , we ended up with a CNF formula .
In case of , we ended up with a DNF formula .
🎯Theorem 31. If has a complete language, then collapses.
This follows since has complete problems.
Collapses 在此处指多项式层次结构中某一层以上的所有级别都重合的情况。
The Karp-Lipton Theorem
A possible way to prove would be to show that there is some language in that is not computed by a family of polynomial size Boolean circuits, i.e., that .
This is stronger than since . It turns out that it is not stronger than the assumption that the polynomial-time hierarchy does not collapse.
🎯Theorem 32. Suppose that . Then .
Proof by Theorem 29, Corollary 4.
继续看不懂……