[Из песочницы] Индексный метод генерации конечных дискретных распределений

Иногда очень интересно провести имитацию броска кости. Для этого существует эффективный алгоритм, который позволяет сгенерировать значение выпавшее на верхней грани, используя псевдослучайное число alpha из равномерного распределения на [0,1]. А именно: image, где image — взятие целой части у аргумента. Но предположим, что у нас «нечестная» кость и грани выпадают неравномерно. Пусть наша кость имеет K граней, и p_i вероятность выпадения грани image. При этом выполняется естественное ограничение image. Постараюсь ответить на вопрос: как смоделировать псевдослучайную последовательность с таким распределением? Читать дальше →

© Habrahabr.ru