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?
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.
fuente
Respuestas:
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).r 1 - 2- k O ( 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 / 2 r 2- Ω ( r ) ≤ 2- Ω ( r )
fuente
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 .k k t pagk , 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 , t ≤ O ( k ⋅ 4 - t ) .t 4 4- t
Ver Erdös y Pomerance (1986) , Kim y Pomerance (1989) , y Dåmgard, Landrock y Pomerance (1993) para más detalles.
fuente