PP와 BPP 정의의 차이점에 대한 구체적인 이해


9

PPBPP 가 어떻게 정의되어 있는지 혼란 스럽습니다 . 가정하자χ 언어의 특징적인 기능입니다 L. M 은 확률 적 튜링 머신입니다. 다음 정의가 맞습니까?
BPP={L:Pr[χ(x)M(x)]12+ϵxL, ϵ>0}
PP={L:Pr[χ(x)M(x)]>12}

정의가 틀리면 수정을 위해 최소한의 변경을 시도하십시오 (예 : 계수기 또는 일부 수정 된 모델을 사용하는 다른 동등한 정의를 제공하지 마십시오). 두 정의에서 확률에 대한 조건을 올바르게 구별 할 수 없습니다.

미묘한 점에 대한 명확한 통찰력을 가진 일부 구체적인 예는 매우 도움이 될 것입니다.

답변:


10

나에게 맞는 것 같습니다. BPP와 PP의 차이점은 BPP의 경우 확률이1/2 PP에 대해서는 일정 할 수 있지만1/2+1/2n. 따라서 BPP 문제의 경우 적은 수의 반복으로 확률 증폭을 수행 할 수 있지만 일반적인 PP 문제의 경우에는 그렇지 않습니다.


12

Vor의 대답은 표준 정의를 제공합니다. 차이점을 좀 더 직관적으로 설명하려고 노력하겠습니다.

허락하다 M 언어에 대한 경계 오류 확률 다항식 시간 알고리즘 L 적어도 확률로 올바르게 대답합니다 p12+δ. 허락하다x 입력이되고 n 입력의 크기

임의의 특징 PP 의 알고리즘 BPP알고리즘은 합격 확률 사이 의 양의 간격 입니다xL 그리고 받아 들일 확률 xL. 에 대한 필수 사항BPP 그 차이는 적어도 nO(1). 이 차이가 왜 중요한지 설명하려고 노력할 것입니다.BPP 효율적인 알고리즘으로 간주되어야합니다. P) 반면 PP 비효율적 인 것으로 간주 PP 포함 NP). 이 모든 것이이 차이에서 비롯됩니다.

먼저 살펴 보자 PP 더 신중하게.

알고리즘이 최대를 사용하는 경우 r(n) 실행 중 임의의 비트이며 오류 확률이 2r(n) 오류 확률은 실제로 0알고리즘이 잘못 응답하도록하는 임의의 비트를 선택할 수 없습니다.

또한, 실행 시간이있는 알고리즘 t(n) 이상 사용할 수 없습니다 t(n) 임의의 비트, 따라서 최악의 경우 런타임에 확률 알고리즘 오류 t(n) ~보다 낫다

비슷한 주장으로 우리는 그것을 받아 들일 확률 사이의 차이가 xL 그리고 받아 들일 확률 xL 너무 작은 것은 우리와 거의 차이가없는 경우와 비슷합니다. PP 케이스.

이제 향해 가자 BPP.

확률 알고리즘에서 우리는 정답에 대한 확률을 높일 수 있습니다. 정확성 확률을 높이고 싶다고 가정 해 봅시다.1ϵ 예를 들어 오류 확률 ϵ=2n (지수 적으로 작은 오류).

아이디어는 간단합니다 : 실행 M 몇 번이고 대다수의 대답을 받아들입니다.

몇 번이나 달리 야합니까 M 최대 오차 확률을 얻기 위해 ϵ? Θ(δ1lgϵ)타임스. 이 답변의 맨 아래에 증거가 제공됩니다.

이제 우리가 논의하고있는 알고리즘이 다항식 시간이어야한다는 것을 고려해 봅시다. 그것은 우리가 달릴 수 없다는 것을 의미합니다Mpolynomially 여러 번 이상. 다시 말해,Θ(δ1lnϵ)=nO(1)또는 더 간단히

δ1lgϵ=nO(1)

이 관계는 오류 확률에 따라 경계 오류 확률 알고리즘을 클래스로 분류합니다. 오차 확률간에 차이가 없습니다ϵ2n 또는 양의 상수 (예 : n) 또는 12nO(1). 우리는 다항식 시간 안에 남아있는 동안 이것들 중 하나에서 다른 것으로 갈 수 있습니다.

그러나 δ 너무 작습니다 0, 2n, 또는 nω(1) 우리는 정확성 확률을 높이고 오류 확률을 충분히 줄일 수있는 방법이 없습니다. BPP.

여기서 요점은 BPP우리는 오류 확률을 기하 급수적으로 효율적으로 줄일 수 있으므로 답에 대해 거의 확신을 갖게되므로이 알고리즘 클래스를 효율적인 알고리즘으로 생각하게됩니다. 오류 확률은 너무 낮아서 하드웨어 오류가 발생할 가능성이 높거나 컴퓨터에 유성이 떨어지면 확률 알고리즘에 의해 오류가 발생할 가능성이 높습니다.

그건 사실이 아니야 PP, 우리는 오류 확률을 줄이는 방법을 모릅니다. 우리는 답을 얻기 위해 동전을 던지는 것처럼 거의 그대로 남아 있습니다. 그런 상황에).


이 섹션은 오류 확률을 얻는 증거를 제공합니다. ϵ 간격이있는 알고리즘으로 시작할 때 (12δ,12+δ) 우리는 달려야한다 M Θ(δ1lgϵ) 타임스.

허락하다 Nk 실행되는 알고리즘이다 M ...에 대한 k대부분의 답변에 따라 시간과 대답. 간단하게하기 위해k 홀수이므로 관계가 없습니다.

경우를 고려하십시오 xL. 경우xL유사하다. 그때

Pr{M(x) accepts}=p12+δ
정확성 확률을 분석하려면 Nk 대부분의 확률을 추정해야합니다 k 수락합니다.

허락하다 Xi 만약 1이면 i일을 받아들이고 0 if it rejects. Note that each run is independent from others as they use independent random bits. Thus Xis are independent Boolean random variables where

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

Let Y=Σi=1kXi. We need to estimate the probability that majority accept, i.e. the probability that Yk2.

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

How to do it? We can use Chernoff bound which tells us the concentration of probability near the expected value. For any random variable Z with expected value μ, we have

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

which says that the probability that Z is αμ far from its expected value μ is exponentially decreases as α increases. We will use it to bound the probability of Y<k2.

Note that by linearity of expectation we have

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

Now we can apply the Chernoff bound. We want an upper-bound on the probability of Y<k2. The Chernoff bound will give an upper-bound on the probability of |Y(k2+kδ)|>kδ which is sufficient. We have

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

and if we pick α such that αkp=kδ we are done, so we pick α=δp2δ2δ+1.

Therefore we have

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

and if you do the calculations you will see that

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

we have

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

We want the error to be at most ϵ, so we want

eΘ(kδ)ϵ

or in other words

Θ(δ1lgϵ)k

One essential point here is that in the process we will use many more random bits and also the running time will increase, i.e. the worst-case running-time of Nk will be roughly k times the running-time of M.

Here the mid point of the gap was 12. But in general this doesn't need to be the case. We can adopt a similar method for other values by taking other fractions in place of majority for accepting.


7

Using your notation:

BPP={L: a probabilistic polynomial-time Turing Machine M, and a costant 0<c1/2 such that xPr[χL(x)=M(x)]12+c}

PP={L: a probabilistic polynomial-time Turing Machine M such that xPr[χL(x)=M(x)]>12}

The difference has been pointed out by adrianN, and you can also take a look at Wikipedia PP vs BPP

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.