Digamos que tenemos una distribución discreta con un número finito de resultados posibles, ¿es posible generar un número aleatorio a partir de esta distribución más rápido que en O (logn), donde n es posible el número de resultados?¿Cómo generar un número aleatorio a partir de la distribución discreta especificada?
Cómo hacer en O (log n):
- Hacer una matriz con probabilidad acumulada (Array [i] = Probabilidad de que el número al azar será menor o igual a i)
- Generar número aleatorio desde distribución uniforme (permite denotarlo por k)
- Encuentra el más pequeño i de manera que k < Matriz [i]. Se puede hacer usando la búsqueda binaria.
- soy nuestro número aleatorio.
@Tomek, recuerde otorgar la recompensa. – Kos
@Kos: Gracias, no sabía que tenía que otorgar la recompensa, pensé que esto era algo automático. –
La mitad de la recompensa se otorga automágicamente a la respuesta mejor calificada, si no lo hace, hágalo a tiempo, AFAICR. – Kos