Я использую Perl для моделирования случайной величины (Y
), которая является суммой приблизительно ~ 15-40k независимых случайных величин Бернулли (X_i
), каждая с различной вероятностью успеха (p_i
).Формально Y=Sum{X_i}
, где Pr(X_i=1)=p_i
и Pr(X_i=0)=1-p_i
.
. Меня интересуют быстро отвечающие запросы, такие как Pr(Y<=k)
(где указано k
).
В настоящее время яиспользовать случайные симуляции для ответа на такие запросы.Я случайным образом рисую каждый X_i
в соответствии с p_i
, затем суммирую все X_i
значения, чтобы получить Y'
.Я повторяю этот процесс несколько тысяч раз и возвращаю долю раз Pr(Y'<=k)
.
Очевидно, что это не совсем точно, хотя точность значительно увеличивается с увеличением количества использованных имитаций.
Можете ли вы придумать разумный способ получить точную вероятность?