나는 방금 내 아이들과 게임을 해봤는데 기본적으로 다음과 같이 요약됩니다.
나는 결국 이겼고 다른 사람들은 1-2 턴 후에 끝냈다. 이제 궁금합니다 : 게임의 길이에 대한 기대는 무엇입니까?
특정 숫자에 도달 할 때까지 롤 수에 대한 기대치는 ∑ ∞ n = 1 n 1 임을 알고 있습니다. 이다.
그러나 두 가지 질문이 있습니다.
- 최소한 한 번 이상 모든 숫자를 얻을 때까지 6 면체 주사위를 몇 번 굴려야합니까?
- 네 번의 독립적 인 시험 (즉, 네 명의 선수를 대상으로 한 시험) 중에서 필요한 최대 롤 수는 얼마입니까? [참고 : 나이에 따라 내 아이들을 위해 먼저 도착하는 것보다 마무리하는 것이 더 많기 때문에 최소가 아닌 최대 값입니다.]
결과를 시뮬레이션 할 수는 있지만 분석적으로 계산하는 방법에 대해 궁금합니다.
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)