Нужен эмулятор следующей ситуации:
В корзине лежит Y шаров, X из которых белого цвета.
Игрок наугад вытаскивает N шаров.
Требуется определить сколько белых шаров игрок вытащил.
Что-то я уперся в стенку
никак не найду подходящую формулу расчета ![]()
может быть кто-нибудь сталкивался с подобной задачей? ![]()
Неактивен
Если N<<X+Y, то тут биномиальное распределение. В остальных случаях нужно делать "в лоб", как было написано в предыдущих постах.
Неактивен
Функция плотности вероятности p(k)=n!/(n-k)!/k! p^k q^(n-k)
где p=X/(X+Y) - вероятность вытащить белый шар, q=1-p. Это действует в случае независимых событий только, т.е. число белых шаров мало уменьшается в ходе опыта.
Чтобы узнать сколько белых шаров вытащено можно действовать по Монте-Карло - написать функцию распределения F(k) (интеграл p(k)) и разыгрывая случайно число от 0 до 1 считать k=f(rand), где f - обратная функция к F.
В случае дискретного распределения все это по-моему страшный гемморой, так что видимо не стоит так считать.
P.S. В случае n>>1 будет нормальное распределение.
P.P.S. Конечно в данном случае такое решение есть бред и стрельба по воробьям из пушки, но в сложных задачках это универсальный метод решения на компьютере.
Неактивен
В википедии посмотри, там понятно изложено.
Неактивен