Я щойно грав у гру з моїми дітьми, яка в основному зводиться до того: хто хоч раз перекочує кожне число на 6-сторонній матриці, той виграє.
Я виграв, врешті-решт, а інші закінчили на 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)