El siguiente problema surgió durante la investigación, y es sorprendentemente limpio:
Tienes una fuente de monedas. Cada moneda tiene un sesgo, es decir, una probabilidad de que caiga en "cabeza". Para cada moneda, independientemente, hay una probabilidad de 2/3 de que tenga un sesgo de al menos 0.9, y con el resto de la probabilidad su sesgo puede ser cualquier número en [0,1]. No sabes los prejuicios de las monedas. Todo lo que puede hacer en cualquier paso es lanzar una moneda y observar el resultado.
Para una n dada, su tarea es encontrar una moneda con sesgo de al menos 0.8 con probabilidad de al menos . ¿Puedes hacer eso usando solo lanzamientos de monedas O (n)?
ds.algorithms
pr.probability
Dana Moshkovitz
fuente
fuente
Respuestas:
El siguiente es un algoritmo de lanzamiento de bastante directo .O ( n logn )
Suponga que es la probabilidad de error a la que apuntamos. Supongamos que es una potencia de que se encuentra entre digamos y (solo algunas veces constantes lo suficientemente grandes como ). Mantenemos un candidato conjunto de monedas, . Inicialmente, ponemos monedas en .1 - exp( - n ) norte 2 100n 200n n C N C
Ahora para , haga lo siguiente: Tire cada moneda en por veces (solo una constante lo suficientemente grande). Mantenga las monedas con la mayoría de las cabezas.i=1,…,logN
C Di=2i1010
N/2i
La prueba se basa en un par de límites de Chernoff. La idea principal es que tenemos la mitad del número de candidatos cada vez y, por lo tanto, podemos permitirnos el doble de lanzamientos de cada moneda.
fuente