Skip to content

Posts

Código: Distribuição Aleatória Ponderada

6 de outubro de 2010 • 1 min de leitura

Código: Distribuição Aleatória Ponderada

Isso é genial; eu poderia ter usado isso alguns anos atrás. Estou postando aqui para manter seguro. Note que NÃO estou usando a classe random. A classe random não é verdadeiramente aleatória. É baseada em tempo. Tempo é previsível.

RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider();

byte[] result = new byte[8];
rng.GetBytes(result);
double rand = (double)BitConverter.ToUInt64(result, 0) / ulong.MaxValue;

//40 percent chance of being selected.
if (rand > 0.40d )
{
 ...
}

Autor: Chuck Conway é um Engenheiro de IA com quase 30 anos de experiência em engenharia de software. Ele constrói sistemas de IA práticos—pipelines de conteúdo, agentes de infraestrutura e ferramentas que resolvem problemas reais—e compartilha o que está aprendendo ao longo do caminho. Conecte-se com ele nas redes sociais: X (@chuckconway) ou visite-o no YouTube e no SubStack.

↑ Voltar ao topo

Você também pode gostar