Данная статья является продолжением поста Генераторы непрерывно распределенных случайных величин. В этой главе учитывается, что все теоремы из предыдущей статьи уже доказаны и генераторы, указанные в ней, уже написаны. Как и ранее, у нас имеется некий базовый генератор натуральных чисел от 0 до RAND_MAX:
unsigned long long BasicRandGenerator() {
unsigned long long randomVariable;
// some magic here
...
return randomVariable;
}
С дискретными величинами все интуитивно понятнее. Функция распределения дискретной случайной величины:
![Генераторы дискретно распределенных случайных величин - 1 Генераторы дискретно распределенных случайных величин - 1](https://www.pvsm.ru/images/2016/01/16/generatory-diskretno-raspredelennyh-sluchainyh-velichin.png)
Несмотря на простоту распределений дискретных случайных величин, генерировать их подчас сложнее, нежели чем непрерывные. Начнем, как и в прошлый раз, с тривиального примера.
Распределение Бернулли
![Генераторы дискретно распределенных случайных величин - 2 Генераторы дискретно распределенных случайных величин - 2](https://www.pvsm.ru/images/2016/01/16/generatory-diskretno-raspredelennyh-sluchainyh-velichin-2.png)