直观上,在相同条件下最优化问题的难度高于存在性问题。判定一个解是否合法比判定该解是否是满足某最优条件的最优解要花费更多的计算资源。从逻辑刻画的角度,判定问题L形如x∈L⟺∃u φ(x,u)=1。而最优解问题形如x∈L⟺∃u1∀u2 ψ(x,u1,u2)。所以直观上,一个NP问题的最优化问题的难度比NP更难。
MIN-DNF
比如,考虑一下MIN-DNF问题,它是一个⟨φ,k⟩的集合,其中的每个⟨φ,k⟩满足:存在一个长度不超过k的与φ有相同语义的DNF。也即MIN-DNF={⟨φ,k⟩∣IsDNF(φ)∧∃ϕ (IsDNF(ϕ)∧∣ϕ∣≤k∧∀u φ(u)⇔ϕ(u))}。通过对k二分,这就可以看作是SAT的最优化版本:对于给定的φ,我们要判定φ是否是所有DNF的等价表述中长度最短的那个。
注意到,要验证⟨φ,k⟩是否属于MIN-DNF只需枚举所有长度不超过k的DNF,然后判定φ⇔ϕ是否是个valid formula,也即是否成立φ⇔ϕ∈SAT。因此,MIN-DNF可以被一个带神谕SAT的非确定性图灵机多项式时间解决。所以我们有MIN-DNF∈NPSAT。既然SAT是NP-complete的,也就有MIN-DNF∈NPNP。我们认为最优化问题的难度高于存在性问题的直观就是,NP⊊NPNP。
多项式谱系(Polynomial Hierarchy)
那么,什么样的问题是比最优化问题更难的问题?从逻辑刻画的角度,我们注意到由单个存在量词∃u,φ变成∃u1∀u2,φ以后,可能加大了问题的难度——难度来自于存在量词与全称量词的交替。那么如果再出现一次量词的交替,比如∃u1∀u2∃u3∀u4,φ之后,难度可能进一步加大。我们注意到,这样一个存在量词与全称量词交替的形式恰好是我们曾定义过的QBF(量化布尔公式),它们可以看作一类二人博弈的形式。比如,围棋这一游戏的最优策略应当满足“你的任何一步棋我都能给出最佳的应对”,这就对应着量词的交替。
正如我们看到了交换一次量词让我们从NP类来到了NPNP类,随着量词交换次数的不断增加我们能得到这一个复杂性类的谱系(hierarchy):NP,NPNP,NPNPNP,NPNPNPNP……尽管这个序列可以无限延续下去,但由于我们证明过QBF是PSPACE-complete的,因此这整个序列中的任何一个都应当属于PSPACE类(对应的直观是,对围棋最优策略的探索只需要棋盘大小的空间)。因此我们把这个谱系称为多项式谱系(polynomial hierarchy)。
为了方便表示,我们引入一下记号:
- Σ0p=P,Σi+1p=NPΣip;
- Πip=Σip;
- Δi+1p=PΣip;
- PH=i≥0⋃Σip;
- PHi=Σip∪Πip,称为多项式谱系的第i层;
由定义可以验证,Σip⊆PΣip=Δi+1p⊆NPΣip=Σi+1p,Πip=Σip⊆PΣip=PΣip=Δi+1p=Δi+1p⊆NPΣip=Σi+1p=Πi+1p。合并以上两个关系,有Σip∪Πip⊆Δi+1p⊆Σi+1p∪Πi+1p,这说明多项式谱系的每一层都包含上一层,也即我们对于“谱系”这一说法是well-defined的。
无限谱系假设
注意到,多项式谱系的第0层PH0=P,第1层PH1=NP。所以如果我们相信P=NP,就意味着相信多项式谱系的第1层严格包含第0层。我们自然地进一步推测,多项式谱系的每一层都严格包含前一层。这意味着相信从难度上,优化问题是严格难于判定问题的,等等。事实上,复杂性理论的很多定理都把这一假设作为前提(就好像把P=NP作为前提一样),我们把多项式谱系每一层都严格包含前一层这一假设称为无限谱系假设(Infinite Hierarchy Hypothesis):∀i∈N,PHi⊊PHi+1。
如果P=NP,那么Σ1p=NPP=PP=P, 归纳可得∀i∈N,Σip=P。这样就得到∀i∈N,PHi=P。所以PH=P。此时多项式谱系坍缩成了多项式时间复杂性类。
如果对于某个k有Σkp=Σk+1p,也即如果多项式谱系的某一层发生了坍缩,那么容易证明PH=Σkp,也就是这一层以后的谱系都坍缩到这一层。
还可以证明,如果对于某个k成立Σkp=Πkp,那么PH=PHk。可见Σkp和Πkp只要有一方被完全被包含在另一方,谱系就会坍缩到这一层。
多项式谱系中的完全问题
Umans定理告诉我们,MIN-DNF是第二层中的完全问题(记为Σ2p-complete)。MIN-DNF是一个两个量词的量化布尔公式问题(2-QBF问题)。我们可以证明,i-QBF一定是Σip-complete的。
我们自然要追问,是否存在一个PH-complete问题?这其实是容易回答的。假如存在这样的一个问题L,那么一定存在一个k使得L∈PHk。那么对任意k′>k,PHk′中任何问题都可以归约到PHk,可见PHk之后的所有层都会坍缩到k层,导致PH=PHk。
而既然存在PSPACE完全问题(比如QBF),所以如果PH=PSPACE,那么也就存在PH完全问题,谱系就会坍缩。所以只要我们相信无限谱系假设,就成立PH⊊PSPACE。
交替图灵机(Alternating Turing Machine, ATM)
我们引入多项式谱系时,用的是计算的逻辑刻画。因为逻辑刻画表示存在量词和全称量词很方便。而在复杂性理论中,往往我们需要一个具体的类似图灵机的模型,这样通常会让解决问题变得方便。下面我们引入交替图灵机,它也刻画多项式谱系。
如何在图灵机的计算过程中引入量词?我们可以用一个类似非确定性图灵机的刻画。如果说确定性图灵机的计算过程是一个线性的链表,那么非确定性图灵机的计算过程就可以看作一棵二叉树。从量词的角度,我们可以认为非确定性图灵机的计算过程本身带有全称量词∀。那么我们可以取非确定性图灵机的整棵二叉树的一个导出子树,在含有全称量词的状态让节点的两个子节点都落在导出子树中,在含有存在量词的状态让节点有至少一个节点落在导出子树中,这样就把量词引入了图灵机。下面严格地定义交替图灵机:
交替图灵机是一台非确定图灵机,其每个非终止节点上带有一个额外的标记,这个标记要么是∃要么是∀。称交替图灵机A接受输入x,如果该非确定性图灵机的状态树上存在一个导出子树,满足:根节点在导出子树内;叶节点恰好是所有的接受状态;标记为∀的节点的两个儿子都在导出子树中;标记为∃的节点至少有一个儿子在导出子树中。
因为交替图灵机是非确定性图灵机,所以其时间函数和空间函数的定义可以继承非确定性图灵机,也即所有计算路径上的时间都不超过其时间函数,所有计算路径的空间都不超过其空间函数。分别记为ATIME, ASPACE,类似地可以定义AP,AEXP,AL,APSPACE等的复杂性类。
Chandra-Kozen-Stockmeyer定理:
-
NSPACE(S(n))⊆ATIME(S2(n)):?
-
ATIME(S(n))⊆SPACE(S(n)):?
-
ASPACE(S(n))⊆c>0⋃TIME(cS(n)):?
-
TIME(S(n))⊆ASPACE(logS(n)):?
根据Chandra-Kozen-Stockmeyer定理,容易得到AP=PSPACE,AL=P,等等。可见,从指数增长的谱系角度,我们有:经典图灵机的某一时间复杂性类等于交替图灵机同量级的对数的空间复杂性类;经典图灵机的某一空间复杂性类等于交替图灵机同量级的时间复杂性类。特别地,AP=PSPACE告诉我们多项式谱系中的问题都可以用交替图灵机多项式时间判定。
自然地,我们可以通过量化布尔公式的交替图灵机判定方法刻画多项式谱系。