La respuesta de Vor da la definición estándar. Permítanme tratar de explicar la diferencia un poco más intuitivamente.
Sea un algoritmo de tiempo polinomial probabilístico de error acotado para un lenguaje L que responde correctamente con probabilidad al menos p ≥ 1METROL. Seaxla entradaynel tamaño de la entrada.p ≥ 12+ δXnorte
Lo que distingue a un arbitrario algoritmo de un B P P algoritmo es la brecha positiva entre la probabilidad de aceptar x ∈ L y la probabilidad de aceptar x ∉ L . P PB P Px ∈ Lx ∉ LLo esencial de es que la brecha es al menos n - O ( 1 ) . Trataré de explicar por qué esta distinción es significativa y nos permite considerar que B P P se considere algoritmos eficientes (incluso se conjetura que es igual a PB P Pnorte- O ( 1 )B P PPAGS) mientras que se considera ineficiente (en realidad, P P contiene N P ). Todo esto proviene de esta brecha.P PP PN P
Comencemos mirando más cuidadosamente.P P
Tenga en cuenta que si un algoritmo usa a lo sumo bits aleatorios durante su ejecución y la probabilidad de error es menor que 2 - r ( n ), entonces la probabilidad de error es en realidad 0 , no puede haber ninguna elección de bits aleatorios que hagan que el algoritmo Responde incorrectamente.r ( n )2- r ( n )0 0
Además, un algoritmo con tiempo de ejecución no puede usar más de t ( n ) bits aleatorios, por lo que si el error de un algoritmo probabilístico con el peor tiempo de ejecución t ( n ) es mejor quet ( n )t ( n )t ( n )
Con un argumento similar, podemos mostrar que el caso en el que la diferencia entre la probabilidad de aceptar una y la probabilidad de aceptar una x ∉ L es demasiado pequeña es similar al caso en el que casi no tenemos diferencia como en P P caso.x ∈ Lx ∉ LP P
Ahora vamos a avanzar hacia .B P P
En algoritmos probabilísticos, podemos aumentar la probabilidad de responder correctamente. Digamos que queremos aumentar la probabilidad de corrección a para decir probabilidad de error ϵ = 2 - n (error exponencialmente pequeño).1 - ϵϵ = 2- n
La idea es simple: ejecuta varias veces y toma la respuesta de la mayoría.METRO
¿Cuántas veces debemos ejecutar para obtener la probabilidad de error como máximo ϵ ? Θ ( δ - 1 lg ϵ ) veces. La prueba se da al final de esta respuesta.METROϵΘ ( δ- 1lgϵ )
Ahora tomemos en consideración que los algoritmos que estamos discutiendo deben ser de tiempo polinómico. Eso significa que no podemos ejecutar más de polinomio muchas veces. En otras palabras, Θ ( δ - 1 ln ϵ ) = n O ( 1 ) , o más simplementeMETROΘ ( δ- 1Enϵ ) = nO ( 1 )
δ- 1lgϵ = nO ( 1 )
Esta relación clasifica los algoritmos probabilísticos de error acotado en clases según su probabilidad de error. No hay ninguna diferencia entre la probabilidad de error siendo ser 2 - n o una constante positiva (es decir, no cambia con n ) o 1ϵ2- nnorte. Podemos pasar de uno de estos a los otros mientras permanecemos dentro del tiempo polinómico.12- nO ( 1 )
Sin embargo, si es demasiado pequeño, por ejemplo 0 , 2 - n , o incluso n - ω ( 1 ) entonces no tenemos una forma de aumentar la probabilidad de corrección y la reducción de la probabilidad de error suficientemente para entrar en B P P .δ0 02- nnorte- ω ( 1 )B P P
El punto principal aquí es que en podemos reducir eficientemente la probabilidad de error exponencialmente, por lo que estamos casi seguros de las respuestas y eso es lo que nos hace considerar esta clase de algoritmos como algoritmos eficientes. La probabilidad de error puede reducirse tanto que es más probable una falla de hardware o incluso un meteorito que cae sobre la computadora es más probable que cometer un error por el algoritmo probabilístico.B P P
Eso no es cierto para , no conocemos ninguna forma de reducir la probabilidad de error y nos quedamos casi como si estuviéramos respondiendo lanzando una moneda para obtener la respuesta (no estamos completamente, las probabilidades no son la mitad y mitad, pero está muy cerca de esa situación).P P
Esta sección da la prueba de que para obtener la probabilidad de error cuando comenzamos con un algoritmo con gap ( 1ϵdebemos ejecutarMΘ(δ-1lgϵ)veces.( 12- δ, 12+ δ)METRO Θ ( δ- 1lgϵ )
Sea el algoritmo que ejecuta M por k veces y luego responde de acuerdo con la respuesta de la mayoría. Por simplicidad, supongamos que k es impar, por lo que no tenemos vínculos.nortekMETROkk
Considere el caso de que . El caso x ∉ L es similar. Entonces
P r { M ( x ) acepta } = p ≥ 1x ∈ Lx ∉ L
Para analizar la probabilidad de corrección deNknecesitamos estimar la probabilidad de que la mayoría de laskcorridas acepten.
P r { M( x ) acepta } = p ≥ 12+ δ
nortekk
Sea 1 si la ejecución i th acepta y 0 si rechaza. Tenga en cuenta que cada ejecución es independiente de las demás, ya que utilizan bits aleatorios independientes. Por lo tanto, X i s son variables aleatorias booleanas independientes donde
E [ X i ] = P r { X i = 1 } = P r { M ( x ) acepta } = p ≥ 1Xyoyo0 0Xyo
E [ Xyo] = P r { Xyo= 1 } = P r { M( x ) acepta } = p ≥ 12+ δ
Sea . Necesitamos estimar la probabilidad de que la mayoría acepte, es decir, la probabilidad de que Y ≥ kY= Σki = 1Xyo .Y≥ k2
P r { Nk( x ) acepta } = P r { Y≥ k2}
¿Cómo hacerlo? Podemos usar el límite de Chernoff que nos dice la concentración de probabilidad cerca del valor esperado. Para cualquier variable aleatoria con valor esperado μ , tenemosZμ
P r { | Z- μ | > α μ } < eα24 4μ
lo que dice que la probabilidad de que sea α μ lejos de su valor esperado μ disminuye exponencialmente a medida que α aumenta. Lo usaremos para limitar la probabilidad de Y < kZα μμα .Y< k2
E [Y] = E [ Σki = 1Xyo] = Σki = 1E [ Xyo] = k p ≥ k2+ k δ
Y< k2El |Y- ( k2+ kδ) | > k δ
PAGSr { |Y- k p | > α k p } < e- α24 4k p
αα k p = k δα = δpags≤ 2 δ2 δ+ 1
Por lo tanto tenemos
PAGSr { Y< k2} ≤ Pr { | Y- ( k2+ k δ) | > k δ} ≤ Pr { | Y- k p | > α k p } < e- α24 4k p
y si haces los cálculos verás que
α24 4k p ≤ δ24 δ+ 2k = Θ ( k δ)
tenemos
PAGSr { Y< k2} < e- Θ ( k δ)
ϵ
mi- Θ ( k δ)≤ ϵ
o en otras palabras
Θ ( δ- 1lgϵ ) ≤ k
nortekkMETRO
12