¿Qué algoritmos aleatorios tienen una probabilidad de error exponencialmente pequeña?

15

Suponga que un algoritmo aleatorio usa bits aleatorios. La probabilidad de error más baja que uno puede esperar (no alcanza un algoritmo determinista con 0 error) es . ¿Qué algoritmos aleatorios logran una probabilidad de error mínima?r2Ω(r)

Un par de ejemplos que vienen a la mente son:

  • Algoritmos de muestreo, por ejemplo, donde se quiere estimar el tamaño de un conjunto para el cual se puede verificar la membresía. Si se muestre de manera uniforme al azar los elementos a verificar, el límite de Chernoff garantiza una probabilidad de error exponencialmente pequeña.
  • El algoritmo de Karger-Klein-Tarjan para calcular el árbol de expansión mínimo. El algoritmo selecciona cada arista con probabilidad 1/2, y encuentra recursivamente el MST en la muestra. Se puede usar Chernoff para argumentar que es exponencialmente improbable que haya 2n + 0.1m de los bordes que sean mejores que el árbol (es decir, preferiría llevarlos sobre uno de los bordes del árbol).

¿Puedes pensar en otros ejemplos?

Siguiendo la respuesta de Andras a continuación: De hecho, cada algoritmo de tiempo polinómico puede convertirse en un algoritmo de tiempo polinómico más lento con una probabilidad de error exponencialmente pequeña. Mi enfoque está en algoritmos que sean lo más eficientes posible. En particular, para los dos ejemplos que di hay algoritmos de tiempo polinomiales deterministas que resuelven los problemas. El interés en los algoritmos aleatorios se debe a su eficiencia.

Dana Moshkovitz
fuente
1
No es una respuesta completa, pero ha habido algo de trabajo en álgebra lineal numérica aleatoria. youtube.com/watch?v=VTroCeIqDVc
Baby Dragon
Quizás no se puede esperar , pero ciertamente se puede esperar (aún "no alcanzar un algoritmo determinista con error 0") que para todos los números reales c, Si c<1 entonces hay un algoritmo cuya probabilidad de error es 2cr. Creo que las pruebas de identidad polinómica son un problema.
@RickyDemer No entiendo tu comentario. El algoritmo aleatorio habitual para PIT tiene un error que no es exponencial en la aleatoriedad. Entonces, ¿qué es lo que estás diciendo? ¿Estás diciendo que puede existir un algoritmo para cualquier problema de BPP?
Sasho Nikolov
Ahora me doy cuenta de que en realidad no veo ninguna forma de demostrar que PIT está en la clase que describí. Por otro lado, dejar que sea ​​superpolinomial en d (es decir, dejar que la longitud (S) sea superlineal en longitud (d)) sería suficiente para el lema de Schwartz-ZippelSd (continúa ...)
1
Muchas construcciones de métodos probabilísticos tienen ese comportamiento, ¿no? Por ejemplo, elegir un conjunto aleatorio de cadenas binarias y observar su par más cercano: la probabilidad de que haya dos cadenas en una distancia menor que es muy pequeña. -------------------------------------------------- ----------------------- En el espíritu de la respuesta BPP a continuación: Dado un expansor de grado constante, con n vértices y n / 2 vértices marcados, el la probabilidad de que una caminata aleatoria de longitud O ( t ) omita un vértice marcado es 2 - Ω ( t ) , si t = Ω (n/4n/2O(t)2Ω(t) . t=Ω(logn)
Sariel Har-Peled

Respuestas:

18

Impagliazzo y Zuckerman demostraron (FOCS'89, ver aquí ) que si un algoritmo BPP usa bits aleatorios para lograr una probabilidad de corrección de al menos 2/3, entonces, aplicando caminatas aleatorias en gráficos expansores, esto puede mejorarse a una probabilidad de corrección de 1 - 2 - k , utilizando O ( r + k ) bits aleatorios. ( Nota: si bien los autores usan la constante específica 2/3 en el resumen, puede reemplazarse por cualquier otra constante mayor que 1/2).r1-2-kO(r+k)

Si tomamos , esto significa que cualquier algoritmo de BPP que logra una probabilidad de error constante < 1 / 2 , utilizando r bits aleatorios, puede ser (no trivialmente) mejorado para tener probabilidad de error de 2 - Ω ( r ) . Por lo tanto, (a menos que haya entendido mal algo), la probabilidad de error de 2 - Ω ( r ) es alcanzable para cada problema en BPP.k=r<1/ /2r2-Ω(r)2-Ω(r)

Andras Farago
fuente
66
El problema con tales técnicas de amplificación es que ralentizan el algoritmo. El nuevo algoritmo solo puede usar bits aleatorios O (r), pero su tiempo de ejecución es r veces (tiempo de ejecución original). Si r es, por ejemplo, al menos lineal en el tamaño de entrada n (que generalmente es), simplemente desaceleró el algoritmo en un factor n. Eso no es algo por lo que la mayoría de los algoritmos estarían contentos ...
Dana Moshkovitz
2

No estoy seguro de que esto sea lo que estás buscando, pero está relacionado:

Supongamos que quiero encontrar un número primo aleatorio de bits. El algoritmo habitual es elegir un entero k aleatorio (impar) y ejecutar la prueba de primalidad de Miller-Rabin para t rondas en él y repetir hasta que se encuentre un primo probable. ¿Cuál es la probabilidad de que este procedimiento devuelva un número compuesto? Llame a esta probabilidad p k , t .kktpagk,t

El análisis estándar de la prueba de primalidad de Miller-Rabin muestra que las rondas dan una probabilidad de falla de 4 - t como máximo . Esto, junto con el teorema del número primo, implica p k , tO ( k 4 - t ) .t4 4-t

pagk,tO(k4 4-t).

t=1

pagk,12-(1-o(1))kEnEnkEnk2-Ω~(k).

Ver Erdös y Pomerance (1986) , Kim y Pomerance (1989) , y Dåmgard, Landrock y Pomerance (1993) para más detalles.

O(k2)O(k)

Thomas apoya a Mónica
fuente