私はちょうど子供とゲームをプレイしました。基本的には、6面ダイスで少なくとも1回すべての数字を振る人が勝ちます。
私は最終的に勝ちました、そして、他は1-2ターン後に終わりました。今、私は疑問に思う:ゲームの長さの期待は何ですか?
特定の数に達するまでのロール数の予想は 。
ただし、2つの質問があります。
- 少なくとも1回すべての数字を取得するまで、6面のサイコロを何回振る必要がありますか?
- 4つの独立したトライアル(つまり、4人のプレイヤー)の中で、必要なロールの最大数はどうなりますか?[注:最小ではなく最大です。なぜなら、年齢では、子供のために最初にそこに着くということよりも、仕上げることのほうが重要だからです]
結果をシミュレートすることはできますが、分析的にどのように計算するのでしょうか。
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)