Изменения

Перейти к: навигация, поиск

Симуляция одним распределением другого

10 байт добавлено, 23:37, 18 декабря 2011
Нет описания правки
Например, для создания схемы с двумя исходами $A_1$ и $A_2$:
<center>$P(A_1)=\frac{3}{4}$ $,$ $P(A_2)=\frac{1}{4}$</center>
можно из датчика случайных двоичных разрядов величин получить два двоичных разряда (два результата "честой монеты") $\delta_1$ и $\delta_2$ и, например, при $\delta_1 = \delta_2 = 1$ выработать исход $A_2$, а в остальных случаях $A_1$.
Аналогично для схемы с четырьмя исходами
<center>$P(A_1)=\frac{3}{16}$ $,$ $P(A_2)=\frac{1}{16}$ $,$ $P(A_3)=\frac{8}{16}$ $,$ $P(A_4)=\frac{4}{16}$</center>
можно получить четыре двоичных разряда результата "честной монеты" $\delta_1$ $,$ $\delta_2$ $,$ $\delta_3$ $,$ $\delta_4$ и любым способом сопоставить трём из 16 возможных наборов исход $A_1$, одному $-$ $A_2$, восьми $-$ $A_3$, четырём $-$ $A_4$.
Если же вероятности исходов не кратны $2^{-k}$, можно применить два различных варианта действий.
:#Можно приблизить вероятности двоичными дробями (с любой точностью), далее работать с полученными приближёнными значениями
:#Пусть все вероятности $n_i$ $-$ дроби со знаменателем $r$. Найдём $k$, для которого $r < 2^k$. Предложим схему с $k$ двоичными разрядамирезультатами "честной монеты", в которой $r$ наборов объявляются "неудачными" и требуют повторного эксперимента (пока не встретится удачный). Чем выше доля полезных исходов равная $r2^{-k}$, тем схема будет эффективнее.Количество случайных двоичных разрядов результатов "честной монеты" $\lambda$, которые необходимы для формирования случайного исхода, $-$ это случайная величина. Её математическое ожидание:
<center>$E\lambda = \frac{1}{2}\cdot1+\frac{1}{4}\cdot2+\frac{1}{8}\cdot3+\frac{1}{16}\cdot3+\frac{1}{16}\cdot4 = 1\frac{7}{8}$</center>
Можно сделать схему более экономной, используя свойство датчиков датчика случайных чисел формировать не отдельные двоичные разрядырезультаты "честной монеты", а целые наборы их, например в виде числа, равномерно распределённого в $[0, 1]$. Образуем по данному набору вероятностей $p_i$ накопленные суммы $s_i$: $s_0 = 0; s_i = s_{i-1} + p_i, i > 0$. Случайный исход будет вырабатываться так: по полученному из датчика случайному числу $\gamma$ определяется такой индекс $i$, для которого $s_{i-1} < \gamma \le s_i$. Найденное значение индекса $i$ и определяет исход $A_i$.
Индекс $i$ можно определять непосредственно просмотром $s_i$ подряд. Если $k$ велико, можно применять специальные приёмы ускоренного поиска, например, деление множества индексов примерно пополам.
285
правок

Навигация