Diciamo che devo generare un numero casuale da 1 a 100, tuttavia, la probabilità di ciascun numero non è 1/100, ma una probabilità predefinita.
Come generare quel numero? Io uso Ruby / Python.
l'algoritmo stesso è semplice: crea un array con la somma cumulativa di tutti i pesi. Dopo di che generi un numero casuale uniforme di [0-1)
e solo una ricerca binaria quel numero moltiplicato con la somma dei pesi e l'indice sarà il numero che dovrai generare.
Leggi altre domande sui tag random python algorithms ruby