我刚刚和我的孩子们一起玩过一个游戏,基本上可以归结为:谁在6面骰子获胜中至少掷出每个数字一次。
最终我赢了,其他人则在1-2回合后完成。现在我想知道:对游戏时间的期望是什么?
我知道直到您击中特定数字之前的数预期为 。
但是,我有两个问题:
- 您必须滚动六面骰子多少次才能获得至少每个数字一次?
- 在四次独立测试(即有四个玩家)中,对最大掷骰数的期望是什么?[注意:这是最大的,而不是最小的,因为在他们的年龄,这更关乎完成而不是让我的孩子们先到达那里]
我可以模拟结果,但是我不知道如何进行分析计算。
这是Matlab中的Monte Carlo模拟
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)