답변:
Vor의 대답은 표준 정의를 제공합니다. 차이점을 좀 더 직관적으로 설명하려고 노력하겠습니다.
허락하다 언어에 대한 경계 오류 확률 다항식 시간 알고리즘 적어도 확률로 올바르게 대답합니다 . 허락하다 입력이되고 입력의 크기
임의의 특징 의 알고리즘 알고리즘은 합격 확률 사이 의 양의 간격 입니다 그리고 받아 들일 확률 . 에 대한 필수 사항 그 차이는 적어도 . 이 차이가 왜 중요한지 설명하려고 노력할 것입니다. 효율적인 알고리즘으로 간주되어야합니다. ) 반면 비효율적 인 것으로 간주 포함 ). 이 모든 것이이 차이에서 비롯됩니다.
먼저 살펴 보자 더 신중하게.
알고리즘이 최대를 사용하는 경우 실행 중 임의의 비트이며 오류 확률이 오류 확률은 실제로 알고리즘이 잘못 응답하도록하는 임의의 비트를 선택할 수 없습니다.
또한, 실행 시간이있는 알고리즘 이상 사용할 수 없습니다 임의의 비트, 따라서 최악의 경우 런타임에 확률 알고리즘 오류 ~보다 낫다
비슷한 주장으로 우리는 그것을 받아 들일 확률 사이의 차이가 그리고 받아 들일 확률 너무 작은 것은 우리와 거의 차이가없는 경우와 비슷합니다. 케이스.
이제 향해 가자 .
확률 알고리즘에서 우리는 정답에 대한 확률을 높일 수 있습니다. 정확성 확률을 높이고 싶다고 가정 해 봅시다. 예를 들어 오류 확률 (지수 적으로 작은 오류).
아이디어는 간단합니다 : 실행 몇 번이고 대다수의 대답을 받아들입니다.
몇 번이나 달리 야합니까 최대 오차 확률을 얻기 위해 ? 타임스. 이 답변의 맨 아래에 증거가 제공됩니다.
이제 우리가 논의하고있는 알고리즘이 다항식 시간이어야한다는 것을 고려해 봅시다. 그것은 우리가 달릴 수 없다는 것을 의미합니다polynomially 여러 번 이상. 다시 말해,또는 더 간단히
이 관계는 오류 확률에 따라 경계 오류 확률 알고리즘을 클래스로 분류합니다. 오차 확률간에 차이가 없습니다 인 또는 양의 상수 (예 : ) 또는 . 우리는 다항식 시간 안에 남아있는 동안 이것들 중 하나에서 다른 것으로 갈 수 있습니다.
그러나 너무 작습니다 , , 또는 우리는 정확성 확률을 높이고 오류 확률을 충분히 줄일 수있는 방법이 없습니다. .
여기서 요점은 우리는 오류 확률을 기하 급수적으로 효율적으로 줄일 수 있으므로 답에 대해 거의 확신을 갖게되므로이 알고리즘 클래스를 효율적인 알고리즘으로 생각하게됩니다. 오류 확률은 너무 낮아서 하드웨어 오류가 발생할 가능성이 높거나 컴퓨터에 유성이 떨어지면 확률 알고리즘에 의해 오류가 발생할 가능성이 높습니다.
그건 사실이 아니야 , 우리는 오류 확률을 줄이는 방법을 모릅니다. 우리는 답을 얻기 위해 동전을 던지는 것처럼 거의 그대로 남아 있습니다. 그런 상황에).
이 섹션은 오류 확률을 얻는 증거를 제공합니다. 간격이있는 알고리즘으로 시작할 때 우리는 달려야한다 타임스.
허락하다 실행되는 알고리즘이다 ...에 대한 대부분의 답변에 따라 시간과 대답. 간단하게하기 위해 홀수이므로 관계가 없습니다.
경우를 고려하십시오 . 경우유사하다. 그때
허락하다 만약 1이면 일을 받아들이고 if it rejects. Note that each run is independent from others as they use independent random bits. Thus s are independent Boolean random variables where
Let . We need to estimate the probability that majority accept, i.e. the probability that .
How to do it? We can use Chernoff bound which tells us the concentration of probability near the expected value. For any random variable with expected value , we have
which says that the probability that is far from its expected value is exponentially decreases as increases. We will use it to bound the probability of .
Note that by linearity of expectation we have
Now we can apply the Chernoff bound. We want an upper-bound on the probability of . The Chernoff bound will give an upper-bound on the probability of which is sufficient. We have
and if we pick such that we are done, so we pick .
Therefore we have
and if you do the calculations you will see that
we have
We want the error to be at most , so we want
or in other words
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 will be roughly times the running-time of .
Here the mid point of the gap was . 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.