Para expandir meu comentário em uma resposta: a forma multiplicativa do limite de Chernoff diz que se a expectativa para a soma de variáveis binárias aleatórias independentes é , então a probabilidade de se perder ' muito longe 'dessa expectativa é: .X=∑ni=0XiμPr(X>(1+δ)μ)<(eδ(1+δ)(1+δ))μ
Agora, imagine um procedimento em que, dada uma string para testar, executamos tentativas de nosso algoritmo (para que alguns sejam escolhidos posteriormente) e aceitamos se pelo menos dessas tentativas aceitam . Podemos usar o limite de Chernoff para encontrar a probabilidade de falha em termos de seguinte maneira:σnBPP(0.90,0.95)n0.925nσn
Let denotam o resultado do th julgamento, e assim o número de tentativas bem-sucedidas. Podemos assumir de maneira conservadora que nossa probabilidade de falsos positivos é ; isso significa que, se fizermos tentativas independentes em uma string , o número esperado de sucessos será . (Observe que uma probabilidade de falso positivo menor que levará a um valor esperado ainda mais baixo e, portanto, a limites ainda mais apertados nas estimativas futuras.) Agora, vejamos a probabilidade de termos mais de falsos positivos (ou seja, , que ). Nós levamosXiiX=∑Xi.9nσ∉Lμ=E(X)=0.9n.90.925nX>0.925nδ=(0.9250.9)−1=136 ; então e, portanto, temos .(eδ(1+δ)(1+δ))≈.99961<29993000Pr(X>0.925n)<(29993000)0.9n
A partir daqui, deve ficar claro que, tomando suficientemente grandes, podemos reduzir essa probabilidade para . Portanto, para esse suficientemente grande , se aceitarmos a string apenas se o número de tentativas bem-sucedidas em for maior que , nossa probabilidade de aceitar uma string cairá abaixo de . Observe que este é constante , não depende do tamanho do nosso problema; já que estamos executando nosso polinomialn<13nσσ.925nσ∉L13nBPP(0.9,0.95)algoritmo um número constante de vezes, o tempo total de execução do nosso novo procedimento ainda é polinomial. Uma análise semelhante indo na outra direção mostrará que a probabilidade de um 'falso negativo' (que para uma string que está em nossa linguagem) será limitada por para alguns , e, novamente, podemos tome grande o suficiente para limitar a probabilidade de um falso negativo por (ou, em outras palavras, para garantir pelo menos probabilidade de aceitar em uma string ) Isso mostra queX<.925ncncn1323σ∈LBPP(.9,.95)⊆BPP(13,23)≡BPP, e o comentário de Yuval mostra como provar a equivalência reversa por meio de um procedimento semelhante.
Canonicamente, isso é conhecido como amplificação de probabilidade e é um método imensamente útil para lidar com classes probabilísticas. As constantes específicas são menos importantes, obviamente, o fato de que o limite de Chernoff nos permite limitar nossas probabilidades de 'resultado falso' por alguma função exponencial do número de tentativas, para que elas possam ser arbitrariamente pequenas com apenas um número modesto de tentativas.