Como sortear aleatoriamente um número? Essa é simples. Muitas linguagens têm um método tipo Random que gera um número entre 0 e 1. Isso vai gerar um número qualquer nessa faixa, todos com a mesma probabilidade.
Mas como fazer, quando alguns números têm probabilidade diferente?
Exemplo. Vou sortear uma rifa, e o peso de cada participante é proporcional à contribuição dele.

Nesse caso, o método é chamado de “Roleta viciada”.
Primeiro, calculamos a probabilidade Acumulada da série.

A seguir, usamos o mesmo método random comum, para gerar um número entre 0 e 1. Depois, vemos em que faixa esse número sorteado está, na probabilidade acumulada.
No caso, se for de 0 a 38% é o Manoel, de 38% a 53% Pedro, e acima de 53% Larissa.

Interpretação: É como plotar a probabilidade acumulada, escolher um número aleatório no eixo Y, e verificar a ordenada correspondente no eixo X.

É o mesmo truque utilizado para gerar distribuições como Normal, Triangular, Weibull, a partir da distribuição uniforme.
Vide arquivo no link.
Veja também:
Você precisa fazer login para comentar.