Skip to content

Посты

Код: взвешенное случайное распределение

6 октября 2010 г. • 1 мин чтения

Код: взвешенное случайное распределение

Это гениально; я мог бы использовать это пару лет назад. Я публикую это здесь для сохранности. Обратите внимание, что я НЕ использую класс Random. Класс Random не является действительно случайным. Он основан на времени. Время предсказуемо.

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 )
{
 ...
}

Автор: Chuck Conway — инженер AI с почти 30-летним опытом разработки программного обеспечения. Он создает практические системы AI — конвейеры контента, агенты инфраструктуры и инструменты, которые решают реальные проблемы — и делится тем, что он узнает на этом пути. Свяжитесь с ним в социальных сетях: X (@chuckconway) или посетите его на YouTube и на SubStack.

↑ Вернуться в начало

Вам также может понравиться