Я только что сыграл в игру со своими детьми, которая сводится к следующему: кто бы ни бросил каждое число хотя бы один раз на шестистороннем кубике, выигрывает.
В конце концов я выиграл, а остальные закончили на 1-2 хода позже. Теперь мне интересно: какова ожидаемая продолжительность игры?
Я знаю , что математическое ожидание количества рулонов до вас ударил несколько специфичный .
Однако у меня есть два вопроса:
- Сколько раз вам приходится бросать шестигранный кубик, пока вы не получите каждое число хотя бы один раз?
- Каково ожидание максимального количества бросков из четырех независимых испытаний (т.е. с четырьмя игроками) ? [примечание: это максимум, а не минимум, потому что в их возрасте это больше о завершении, чем о том, чтобы добраться туда сначала для моих детей]
Я могу смоделировать результат, но мне интересно, как бы я рассчитал его аналитически.
Вот симуляция Монте-Карло в Matlab
mx=zeros(1000000,1);
for i=1:1000000,
%# assume it's never going to take us >100 rolls
r=randi(6,100,1);
%# since R2013a, unique returns the first occurrence
%# for earlier versions, take the minimum of x
%# and subtract it from the total array length
[~,x]=unique(r);
mx(i,1)=max(x);
end
%# make sure we haven't violated an assumption
assert(numel(x)==6)
%# find the expected value for the coupon collector problem
expectationForOneRun = mean(mx)
%# find the expected number of rolls as a maximum of four independent players
maxExpectationForFourRuns = mean( max( reshape( mx, 4, []), [], 1) )
expectationForOneRun =
14.7014 (SEM 0.006)
maxExpectationForFourRuns =
21.4815 (SEM 0.01)