Właśnie grałem z moimi dziećmi, która w zasadzie sprowadza się do: kto rzuci każdą liczbą przynajmniej raz na 6-stronnej kości, wygrywa.
W końcu wygrałem, a inni ukończyli 1-2 tury później. Teraz zastanawiam się: jaka jest oczekiwana długość gry?
Wiem, że oczekiwanie na liczbę rzutów do momentu trafienia w określoną liczbę wynosi .
Mam jednak dwa pytania:
- Ile razy musisz rzucić sześciościenną kostką, aż co najmniej raz uzyskasz każdą liczbę?
- Spośród czterech niezależnych prób (tj. Z czterema graczami), jaka jest oczekiwana maksymalna liczba wymaganych rzutów? [uwaga: jest maksymalna, a nie minimalna, ponieważ w ich wieku chodzi bardziej o ukończenie niż o dotarcie tam jako pierwsze dla moich dzieci]
Mogę zasymulować wynik, ale zastanawiam się, jak bym go obliczył analitycznie.
Oto symulacja Monte Carlo w Matlabie
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)