Idea: arithmetic hierarchy from recursion theory.

Halting problem HALTHALT is a recursive enumerable language that is undecidable.

The polynomial-time hierarchy considers polynomial time and SATSAT instead of HALTHALT.

Oracle Turing Machines

An oracle Turing machine M?M^? is equipped with an additional tape, the query tape, and has three new special states qask,qyes,qnoq_{ask},q_{yes},q_{no}. The query tape is a write-only tape.

The operation of M?M^? is defined relative to an oracle language AA.

Denote M?M^? together with oracle language AA by MAM^A.

Whenever MAM^A enters the state qaskq_{ask}:

  • Let zz be the string of symbols written to the query tape. The query tape is reinitialized to a black tape.
  • If zAz\in A, computation resumes in the state qyesq_{yes}.
  • If z∉Az\not\in A, computation resumes in the state qnoq_{no}.

Define timeMA(x)time_{M^A}(x) and spaceMA(x)space_{M^A}(x) for an oracle Turing machine with an oracle language AA to be the number of computation steps and number of cells of work tape used during computation on input xx. 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.

DTIMEA(T(n)),DSPACEA(S(n)),NTIMEA(T(n))DTIME^A(T(n)),DSPACE^A(S(n)),NTIME^A(T(n)).

❗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 NSPACEA(S(n))NSPACE^A(S(n)) as the class of languages computed by a O(S(n))O(S(n)) space-bounded non-deterministic oracle Turing machine with deterministic oracle access to oracle AA.

The definition can be extended to other complexity classes.

PAP^A and NPANP^A for any oracle language AA.

The oracle may be chosen from some class of languages. Let C\mathcal C be a class of languages.

DTIMEC(T(n))=ACDTIMEA(T(n))DTIME^\mathcal C(T(n))=\bigcup_{A\in\mathcal C}DTIME^A(T(n))

Similarly we have DSPACEC(T(n))DSPACE^\mathcal C(T(n)), NTIMEC(T(n))NTIME^\mathcal C(T(n)) and NSPACEC(T(n))NSPACE^\mathcal C(T(n)).

This again extends to all other complexity classes such as PNPP^{NP}.

Turing Reductions

📖Definition 17 (Turing reductions). Let L1L_1 and L2L_2 be languages. We say that L1L_1 log-space Turing machine reduces to L2L_2 (L1TlogL2L_1\le_T^{\log}L_2), if L1LL2L_1\in L^{L_2}. Similarly we say L1L_1 polynomial time Turing reduces to L2L_2 (L1TPL2L_1\le_T^PL_2), if L1PL2L_1\in P^{L_2}.

It also satisfies transitivity.

🤔Lemma 2. Transitivity.

  • L1TlogL2,L2TlogL3L1TlogL3L_1\le_T^{\log}L_2,L_2\le_T^{\log}L_3\Rarr L_1\le_T^{\log}L_3
  • L1TPL2,L2TPL3L1TPL3L_1\le_T^{P}L_2,L_2\le_T^{P}L_3\Rarr L_1\le_T^{P}L_3

🤔Proposition 3. The class L,NL,P,PSPACE,EXPL,NL,P,PSPACE,EXP are all closed under log-space Turing reductions. The class P,PSPACE,EXPP,PSPACE,EXP are all closed under polynomial-time Turing machine.

The Polynomial-time Hierarchy via Oracles and Quantifiers

For a class of language C\mathcal C, denote coCco\mathcal C the class of complements of languages of C\mathcal C.

coC={LLC}co\mathcal C=\{\overline L|L\in\mathcal C\}

📖Definition 18 (polynomial-time hierarchy). Let Δ0P=Σ0P=Π0P=P\Delta_0^P=\Sigma_0^P=\Pi_0^P=P. For i0i\ge0, define further Δi+1P=PΣiP\Delta_{i+1}^P=P^{\Sigma_i^P}, Σi+1P=NPΣiP\Sigma_{i+1}^P=NP^{\Sigma_i^P} and Πi+1P=coNPΣiP\Pi_{i+1}^P=coNP^{\Sigma_i^P}. Finally, let Polynomial Hierarchy PH=i0ΣiPPH=\bigcup_{i\ge0}\Sigma_i^P.

The classes ΔiP,ΣiP,ΠiP\Delta_i^P,\Sigma_i^P,\Pi_i^P are said to make up level ii of the polynomial-time hierarchy, and PHPH denotes the entire polynomial-time hierarchy.

Note that Δ1P=PP=P\Delta_1^P=P^P=P, Σ1P=NPP=NP\Sigma_1^P=NP^P=NP, Π1P=coNPP=coNP\Pi_1^P=coNP^P=coNP.

On second level, we have PNP,NPNP,coNPNPP^{NP}, NP^{NP}, coNP^{NP}, continuing ad infimum.

Straightforward:

ΔiPΣiPΠiPΣiPΠiPΔi+1P\Delta_i^P\subseteq\Sigma_i^P\cap\Pi_i^P\subseteq\Sigma_i^P\cup\Pi_i^P\subseteq\Delta_{i+1}^P

🎯Theorem 27. PHPSPACEPH\subseteq PSPACE.

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 ΣiP\Sigma_i^P and ΠiP\Pi_i^P in terms of quantifiers.

🎯Theorem 28. Let LL be any language and let i1i\ge1. Then LΣiPL\in\Sigma_i^P iff there is a polynomial qq and another language LΠi1PL'\in\Pi_{i-1}^P s.t.

\forall x:[x\in L\Lrarr\exist y:|y|\le q(|x|)\and\langle x,y\rangle\in L'].

看不懂了。

🤔Corollary 3. Let LL be any language and let i1i\ge1. Then LΠiPL\in\Pi_i^P iff there is a polynomial qq and another language LΣi1PL'\in\Sigma_{i-1}^P s.t.

x:[xLy:yq(x)x,yL].\forall x:[x\in L\Lrarr\forall y:|y|\le q(|x|)\Rarr\langle x,y\rangle\in L'].

🤔Corollary 4. Let LL be any language and let i1i\ge1. Then LΣiPL\in\Sigma_i^P iff there is a polynomial qq and another language LPL'\in P s.t.

x:[xLqy1qy2Qiqyi:x,y1,y2,,yiL],\forall x:[x\in L\Lrarr\exist^qy_1\forall^qy_2\cdots Q_i^qy_i:\langle x,y_1,y_2,\cdots,y_i\rangle\in L'],

where QiQ_i is \exist if ii is odd, and \forall if ii is even. Likewise, LΠiPL\in\Pi_i^P iff there is a polynomial qq and another language LPL'\in P s.t.

x:[xLqy1qy2Qiqyi:x,y1,y2,,yiL],\forall x:[x\in L\Lrarr\forall^qy_1\exist^qy_2\cdots Q_i^qy_i:\langle x,y_1,y_2,\cdots,y_i\rangle\in L'],

where QiQ_i is \exist if ii is even, and \forall if ii is odd.

Generalize whether P=NP,NP=coNPP=NP,NP=coNP to question whether ΔiP=ΣiP,ΣiP=ΠiP\Delta_i^P=\Sigma_i^P,\Sigma_i^P=\Pi_i^P for i>1i\gt1.

🎯Theorem 29. If ΣiP=ΠiP\Sigma_i^P=\Pi_i^P for some i1i\ge1 then PH=ΣiPPH=\Sigma_i^P.

继续看 天书。

Completeness in the Polynomial-time Hierarchy

ΣiSAT\Sigma_iSAT Problem

Instance: Quantified Boolean formula with no free variables ψ=x1x2Qixiφ(x1,,xi)\psi=\exist x_1\forall x_2\cdots Q_ix_i\varphi(x_1,\cdots,x_i), where xj{0,1}njx_j\in\{0,1\}^{n_j} for all jj and Qi=Q_i=\forall for even ii and \exist for odd ii.

Question: Is ψ\psi true?

ΠiSAT\Pi_iSAT Problem

Instance: Quantified Boolean formula with no free variables ψ=x1x2Qixiφ(x1,,xi)\psi=\forall x_1\exist x_2\cdots Q_ix_i\varphi(x_1,\cdots,x_i), where xj{0,1}njx_j\in\{0,1\}^{n_j} for all jj and Qi=Q_i=\forall for odd ii and \exist for even ii.

Question: Is ψ\psi true?

🎯Theorem 30. ΣiSAT\Sigma_iSAT is complete for ΣiP\Sigma_i^P and ΠiSAT\Pi_iSAT is complete for ΠiP\Pi_i^P.

前面的推论 4 都没懂……这个证明就更不懂了

In case of Qi=Q_i=\exist, we ended up with a CNF formula φ\varphi.

In case of Qi=Q_i=\forall, we ended up with a DNF formula φ\varphi.

🎯Theorem 31. If PHPH has a complete language, then PHPH collapses.

This follows since PSPACEPSPACE has complete problems.

Collapses 在此处指多项式层次结构中某一层以上的所有级别都重合的情况。

The Karp-Lipton Theorem

A possible way to prove PNPP\neq NP would be to show that there is some language in NPNP that is not computed by a family of polynomial size Boolean circuits, i.e., that NP⊈P/polyNP\not\subseteq P/poly.

This is stronger than PNPP\neq NP since PP/polyP\subseteq P/poly. It turns out that it is not stronger than the assumption that the polynomial-time hierarchy does not collapse.

🎯Theorem 32. Suppose that NPP/polyNP\subseteq P/poly. Then PH=Σ2PΠ2PPH=\Sigma_2^P\cap\Pi_2^P.

Proof by Theorem 29, Corollary 4.

继续看不懂……