КУБИК - последняя цифра

Oct 13, 2013 02:30

Бросаем кубик пока сумма очков не станет больше 6. Случайное число равно последнему выпавшему значению набранной суммы. Найти функцию распределения этой случайной величины ( Read more... )

математика, вероятность

Leave a comment

Comments 7

mikev October 12 2013, 20:10:26 UTC
Вам нужно решение "вручную" или программа?

Reply

yuv_k October 13 2013, 00:38:05 UTC
Можно вручную и программа как "контрольный". Хотелось бы формулу получить для различных значений суммы 6,7,8... И какие то предельные варианты.

Для суммы равной 6, если отталкиваться от того что максимально возможное число бросков 7 - то полная система вариантов 6^7 = 279 936 - из них посчитать все x(k), где
x(1)+x(2)+...+x(k-1)+x(k)>6 и
x(1)+x(2)+...+x(k-1)<6 и k брать 2...7
Семь циклов в принципе не долго посчитаются - но может можно как-то по другому. Монте Карло я посмотрел. Из миллиона вариантов только около 30 закончились серией длины 7, самый большой вес у серии длины 2.

Reply

yuv_k October 13 2013, 04:33:02 UTC
https://lh4.googleusercontent.com/-vt1JpmTBx-Q/Ulog8Ei_ZsI/AAAAAAAABt4/tE6k0-Y_Hww/w537-h510-no/kubik.GIF

формула получилась хорошая - все причесалось. Сравнение с Монте Карло очень даже радует. Вопрос как это все трансформируется для случая - когда сумма требуется скажем больше 12. Там уже получается более равномерное распределение случайной величины.

Reply

mikev October 13 2013, 04:37:12 UTC
Я бы стал программировать не так, а использовал бы рекурсию.
Пусть функция f(n) возвращает функцию распределения - вектор из 6 чисел, где n- число, которое нужно превысить.

Тогда f(0)={1/6,1/6,1/6,1/6,1/6,1/6}
При n>=6 f(n)=sum(f(n-k))/6, где 1<=k<=6
При 1<=n<6 f(n)={0,...,0,1/6,...1/6}+sum(f(n-k))/6, где 1<=k<=n, а в векторе первого слагаемого n нулей и 6-n раз 1/6.

Для n=6 эту программу можно проделать и вручную: выписать f(0), затем f(1) и т.д., я думаю, это займет даже не очень много времени.
По поводу формулы надо подумать.

Reply


Leave a comment

Up