对PP和BPP定义之间差异的具体理解


9

我对如何定义PPBPP感到困惑 。让我们假设是语言的特征函数。M是概率图灵机。以下定义是否正确:χL
BPP={L:Pr[χ(x)M(x)]12+ϵxL, ϵ>0}
PP={L:Pr[χ(x)M(x)]>12}

如果定义错误,请尝试进行最小的更改以使它们正确(即不要给出使用计数机或某些修改型号的其他等效定义)。我无法正确区分两个定义上的概率条件。

一些具体的例子,对细微之处有清晰的了解,将非常有帮助。

Answers:


10

在我看来,这是正确的。BPP和PP之间的区别在于,对于BPP,概率必须大于一个常数,而对于PP,则概率可能是。因此,对于BPP问题,您可以通过少量重复来进行概率放大,而对于一般PP问题,则不能。1/2 1/2+1/2n


12

Vor的答案给出了标准定义。让我尝试更直观地解释差异。

令为语言的有界错误概率多项式时间算法,该语言以至少概率正确回答。令为输入,为输入大小。MLp12+δxn

任意算法与算法的区别在于,接受的概率与接受的概率之间存在正差PPBPPxLxL的本质在于,间隙至少为。我将尝试解释为什么这种区别很重要,并允许我们考虑将视为高效算法(甚至可以推测等于),而将视为效率低下(实际上是包含BPPnO(1)BPPPPPPPNP)。所有这些都来自这个差距。

让我们从更仔细地查看。PP

请注意,如果算法在执行过程中最多使用随机位,并且错误概率小于则错误概率实际上为,那么将无法选择任何随机位使算法答案错误。r(n)2r(n)0

此外,运行时间为的算法不能使用超过随机位,因此,如果在最坏情况下运行时间为的概率算法的错误优于t(n)t(n)t(n)

通过类似的论点,我们可以证明接受的概率与接受的概率之差太小的情况类似于我们几乎没有差别的情况就像情况一样。xLxLPP

现在让我们走向。BPP

在概率算法中,我们可以提高正确回答的概率。假设我们想将正确概率提高到,例如误差概率(指数小误差)。1ϵϵ=2n

这个想法很简单:多次运行并得到大多数答案。M

多少次我们应该运行获得错误概率至多?次。该答案的底部给出了证明。MϵΘ(δ1lgϵ)

现在让我们考虑一下我们正在讨论的算法需要是多项式时间。这意味着我们不能多次运行换句话说,或更简单MΘ(δ1lnϵ)=nO(1)

δ1lgϵ=nO(1)

该关系根据有界错误概率算法的错误概率将其分类。错误概率为或正常数(即不随改变)或之间没有区别。在保留多项式时间的同时,我们可以从其中一个获取另一个。ϵ2nn12nO(1)

但是,如果太小,说,,甚至那么我们没有提高正确性概率,充分减少错误概率的一种方式进入。δ02nnω(1)BPP

这里的要点是,在我们可以按指数方式有效地降低错误概率,因此我们几乎可以肯定答案,这就是我们将这类算法视为有效算法的原因。与概率算法造成的错误相比,可以大大降低错误概率,以致更有可能发生硬件故障,甚至流星落在计算机上。BPP

并非如此,我们不知道有什么方法可以降低错误概率,而我们几乎就像投掷硬币来获得答案一样,正在回答问题(我们并不完全是,概率是不是一半,但是非常接近这种情况)。PP


本节提供的证明是,当我们从带有间隙的算法开始时,要获得错误概率,我们应该运行次。ϵ(12δ,12+δ)M Θ(δ1lgϵ)

让是运行的算法为次,然后回答根据多数人的答案。为了简单起见,让我们假设为奇数,因此我们没有联系。NkMkk

考虑。的情况下是相似的。然后 要分析的正确性概率,我们需要估计以下概率:该运行接受。xLxL

Pr{M(x) accepts}=p12+δ
Nkk

让是1,如果个运行接受并为,如果它拒绝。请注意,每次运行都独立于其他运行,因为它们使用独立的随机位。因此是独立的布尔型随机变量,其中 Xii0Xi

E[Xi]=Pr{Xi=1}=Pr{M(x) accepts}=p12+δ

令。我们需要估计多数接受的概率,即的概率。Y=Σi=1kXiYk2

Pr{Nk(x) accepts}=Pr{Yk2}

怎么做?我们可以使用切尔诺夫边界,它告诉我们概率集中在期望值附近。对于任何具有期望值随机变量,我们有Zμ

Pr{|Zμ|>αμ}<eα24μ

它说的是,概率是远离其预期值是指数地减小增加。我们将使用它来限制的概率。ZαμμαY<k2

请注意,根据期望的线性度,我们有

E[Y]=E[Σi=1kXi]=Σi=1kE[Xi]=kpk2+kδ

现在我们可以应用切尔诺夫界。我们想要一个的概率的上限。Chernoff边界将给出的概率的上限就足够了。我们有Y<k2|Y(k2+kδ)|>kδ

Pr{|Ykp|>αkp}<eα24kp

如果我们选择使得完成,那么我们选择。ααkp=kδα=δp2δ2δ+1

因此,我们有

Pr{Y<k2}Pr{|Y(k2+kδ)|>kδ}Pr{|Ykp|>αkp}<eα24kp

如果您进行计算,您将看到

α24kpδ24δ+2k=Θ(kδ)

我们有

Pr{Y<k2}<eΘ(kδ)

我们希望错误最多为,所以我们想要ϵ

eΘ(kδ)ϵ

或者换句话说

Θ(δ1lgϵ)k

这里最重要的一点是,在此过程中,我们将使用更多的随机位,并且运行时间也会增加,即,最坏情况下的运行时间约为的运行时间的倍。NkkM

差距的中点是。但总的来说,情况并非必须如此。通过采用其他分数代替多数来接受,我们可以对其他值采用类似的方法。12


7

使用符号:

BPP={L:一个概率多项式时间的图灵机并且有一个余弦,因此M,0<c1/2xPr[χL(x)=M(x)]12+c}

PP={L:一个概率多项式时间图灵机,使得MxPr[χL(x)=M(x)]>12}

adrianN指出了差异,您也可以看看Wikipedia PP vs BPP

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.