Бросьте 6-ти сторонний кубик, пока не общую сумму . Среднее значение, на которое превышен ?


11

Вот вопрос:

Вы бросаете честные 6-сторонние кости итеративно, пока сумма бросков костей не станет больше или равна M. Каково среднее значение и стандартное отклонение суммы минус М, когда М = 300?

Должен ли я написать код, чтобы ответить на такие вопросы?

Пожалуйста, дайте мне несколько советов по этому поводу. благодаря!


1
Пожалуйста, добавьте [self-study]тег и прочитайте его вики . Затем расскажите нам, что вы понимаете до сих пор, что вы пробовали и где вы застряли. Мы дадим подсказки, которые помогут вам разобраться.
gung - Восстановить Монику

2
Я подозреваю, что можно было бы прочитать как «очень большой », так как я считаю, что или дали бы почти точно такой же результат. Что я хотел бы сделать , это найти распределение суммы минус . M=300MM=301M=999M
Генри

Ответы:


13

Вы, конечно, можете использовать код, но я не буду имитировать.

Я собираюсь проигнорировать часть «минус М» (вы можете сделать это достаточно легко в конце).

Вы можете вычислить вероятности рекурсивно очень легко, но фактический ответ (с очень высокой степенью точности) можно вычислить из простых рассуждений.

Пусть катится быть . Пусть .S t = t i = 1 X iX1,X2,...St=i=1tXi

Пусть наименьший индекс , где .S τMτSτM

P(Sτ=M)=P(got to M6 at τ1 and rolled a 6)+P(got to M5 at τ1 and rolled a 5)++P(got to M1 at τ1 and rolled a 1)=16j=16P(Sτ1=Mj)

введите описание изображения здесь

так же

P(Sτ=M+1)=16j=15P(Sτ1=Mj)

P(Sτ=M+2)=16j=14P(Sτ1=Mj)

P(Sτ=M+3)=16j=13P(Sτ1=Mj)

P(Sτ=M+4)=16j=12P(Sτ1=Mj)

P(Sτ=M+5)=16P(Sτ1=M1)

Уравнения, подобные первому выше, могут затем (по крайней мере, в принципе) выполняться до тех пор, пока вы не достигнете любого из начальных условий, чтобы получить алгебраическую связь между начальными условиями и вероятностями, которые мы хотим (что было бы утомительно и не особенно полезно) или вы можете построить соответствующие прямые уравнения и запустить их вперед из начальных условий, что легко сделать численно (и именно так я проверил свой ответ). Однако мы можем избежать всего этого.

Вероятности точек - это средневзвешенные значения предыдущих вероятностей; они (геометрически быстро) сгладят любое отклонение вероятности от начального распределения (все вероятности в нулевой точке в случае нашей задачи).

В приближении (очень точном) мы можем сказать, что от до должно быть почти одинаково вероятным во время (очень близко к нему), и поэтому из вышесказанного мы можем записать, что вероятности будет очень близко к простым отношениям, и поскольку они должны быть нормализованы, мы можем просто записать вероятности.М - 1 τ - 1M6M1τ1

То есть, мы можем видеть, что если вероятности начала с до были в точности равны, есть 6 одинаково вероятных способов добраться до , 5 - до и так далее до 1 способ добраться до .М - 1 М М + 1 М + 5M6M1MM+1M+5

То есть вероятности находятся в соотношении 6: 5: 4: 3: 2: 1 и сумме 1, поэтому их легко записать.

Его точное вычисление (вплоть до накопленных ошибок округления чисел) путем запуска рекурсий вероятности вперед от нуля (я сделал это в R) дает разности порядка .Machine$double.eps( На моей машине) из приведенного выше приближения (то есть Простые рассуждения в вышеприведенных строках дают эффективные точные ответы, поскольку они настолько близки к ответам, которые вычисляются по рекурсии, насколько мы ожидаем, что точные ответы должны быть).2.22e-16

Вот мой код для этого (в большинстве случаев это просто инициализация переменных, работа в одной строке). Код начинается после первого броска (чтобы не тратить время на вставку ячейки 0, что является небольшим неудобством в R); на каждом шаге он берет самую низкую ячейку, которая может быть занята, и продвигается броском кубика (распределяя вероятность этой ячейки по следующим 6 ячейкам):

 p = array(data = 0, dim = 305)
 d6 = rep(1/6,6)
 i6 = 1:6
 p[i6] = d6
 for (i in 1:299) p[i+i6] = p[i+i6] + p[i]*d6

(мы могли бы использовать rollapply(из zoo), чтобы сделать это более эффективно - или ряд других подобных функций - но будет легче перевести, если я буду держать это явным)

Обратите внимание, что d6это дискретная функция вероятности от 1 до 6, поэтому код внутри цикла в последней строке создает текущие средневзвешенные значения предыдущих значений. Именно это отношение делает сглаживание вероятностей (до последних нескольких значений, которые нас интересуют).

Итак, вот первые 50 с лишним значений (первые 25 значений отмечены кружками). При каждом значение на оси y представляет вероятность, которая накопилась в самой задней ячейке, прежде чем мы свернули ее в следующие 6 ячеек.t

введите описание изображения здесь

Как вы видите, он сглаживается (до , обратная величина от среднего числа шагов, которые делает каждый бросок кубика) довольно быстро и остается постоянной.1/μ

И как только мы нажимаем , эти вероятности исчезают (потому что мы не выставляем вероятность для значений в и выше по очереди)МMM

введите описание изображения здесь

Таким образом, идея о том, что значения от до должны быть одинаково вероятны, поскольку колебания от начальных условий будут сглажены, ясно видна как случай.М - 6M1M6

Поскольку рассуждения не зависят ни от чего, кроме того, что достаточно велико, чтобы начальные условия размылись, так что от до почти одинаково вероятны во время , распределение будет практически одинаковым для любого большой , как предложил Генри в комментариях.М - 1 М - 6 τ - 1 МMM1M6τ1M

Оглядываясь назад, намек Генри (который также есть в вашем вопросе) на работу с суммой минус М сэкономит немного усилий, но аргумент будет следовать очень похожим линиям. Вы можете продолжить, допустив и написав аналогичные уравнения, связывающие с предыдущими значениями, и так далее.R 0Rt=StMR0

Из распределения вероятностей среднее и дисперсия вероятностей тогда просты.

Изменить: я предполагаю, что я должен дать асимптотическое среднее и стандартное отклонение конечной позиции минус :M

Среднее асимптотическое превышение равно а стандартное отклонение равно . При это точно в гораздо большей степени, чем вы, вероятно, заботитесь. 253 М=300253M=300


+1 Я не до конца понял этот ответ, пока не разработал свой собственный, который сейчас кажется излишним. Возможно, некоторые читатели увидят ценность в иллюстрации и результатах моделирования, поэтому я оставлю свой ответ открытым.
whuber

1
@whuber Мой ответ гораздо менее конкретен, чем мне бы хотелось, потому что я действовал исходя из предположения, что это домашнее задание (поэтому я избегал делать слишком много деривации или давать какой-либо код - он был скорее задуман как набросок). Мне было трудно написать четко ответ по этой проблеме (конкретность помогает больше, чем обычно). Поскольку вы дали ответ, который содержит действительные цифры и код (этот ответ, я думаю, должен остаться), я чувствую, что могу сделать кое-что, что, надеюсь, облегчит мой ответ (будет более точным, приведу свой код) ,
Glen_b

Я написал гораздо лучшее объяснение такой проблемы где-то пару лет назад. Если я могу вспомнить / выяснить, как это произошло, я постараюсь включить некоторые из них здесь.
Glen_b

@Glen_b немного понял уравнения. Я новичок. как начать думать так? Есть ли книги, которые вы могли бы порекомендовать для этой цели? Ваш ответ был бы очень полезен.
Обычный Подозреваемый

Обычный Подозреваемый - я написал уравнения, представив игровую доску в виде длинной дорожки и подумав: «Каким образом я могу попасть в это пространство таким образом, чтобы соответствовать условиям в задаче и с какими шансами?»; Я сделал это для пробела, помеченного буквой «М», затем для пробела после него и так далее. Я написал аналогичное вычисление, продвигаясь к коду, представив, что он находится рядом со стартовой ячейкой, и сказал: «Если бы я был здесь, был бы я следующим, с какими шансами?». Уравнения - это всего лишь ответы на эти вопросы.
Glen_b

8

Пусть будет множеством последовательностей частичных сумм бросков костей (каждая последовательность начинается с ). Для любого целого числа пусть будет событием, что появляется в последовательности; это,0 n E n nΩ0nEnn

En={ωΩ|nω}.

Определить , чтобы быть первое значение в , что равняется или превышает . Вопрос касается свойств . Мы можем получить точное распределение , и из этого все следует.XM(ω)ωMXMMXM

Во-первых, обратите внимание, что . событие соответствии с непосредственно предшествующим значением в , и допустив, что - это вероятность наблюдения грани на одном броске матрицы ( ) следует, чтоXM(ω)M{0,1,2,3,4,5}XMM=kωp(i)=1/6ii=1,2,3,4,5,6

Pr(XMM=k)=j=k6Pr(EM+kj)p(j)=16j=k6Pr(EM+kj).

В этот момент мы могли бы эвристически утверждать, что в очень хорошем приближении для всех, кроме самых маленьких ,Это связано с тем, что ожидаемое значение броска равно а его обратная величина должна быть предельной стабильной долгосрочной частотой любого конкретного значения в .M

Pr(Ei)2/7.
(1+2+3+4+5+6)/6=7/2ω

Строгий способ продемонстрировать это рассматривает, как может происходить . Либо происходит, и последующий бросок был ; или происходит, и последующий бросок был ; или ... или происходит, и последующий бросок был . Это исчерпывающее разделение возможностей, откудаEiEi11Ei22Ei66

Pr(Ei)=j=16Pr(Eij)p(j)=16j=16Pr(Eij).

Начальные значения этой последовательности

Pr(E0)=1;Pr(Ei)=0,i=1,2,3,.

Рисунок: сюжет E_i

Этот график против показывает, насколько быстро шансы сводятся к константе , показанной горизонтальной пунктирной линией.Pr(Ei)i2/7

Существует стандартная теория таких рекурсивных последовательностей. Его можно развить с помощью производящих функций, цепей Маркова или даже алгебраических манипуляций. Общий результат заключается в том, что существует формула замкнутой формы для . Pr(Ei) Это будет линейная комбинация константы и степеней корней многочленаith

x6p(1)x5p(2)x4p(3)x3p(6)=x6(x5+x4+x3+x2+x+1)/6.

Наибольшая величина этих корней составляет приблизительно . В представлении с плавающей запятой двойной точности по существу равно нулю. Поэтому для , мы можем полностью игнорировать все , кроме постоянной. Эта константа составляет .exp(0.314368)exp(36.05)i36.05/0.314368=1152/7

Следовательно, для для всех практических целей мы можем принять , откудаM=300115EM+kj=2/7

Pr(XMM=(0,1,2,3,4,5))=(27)(16)(6,5,4,3,2,1).

Вычислить среднее значение и дисперсию этого распределения просто и легко.


Вот Rсимуляция для подтверждения этих выводов. Он генерирует почти 100 000 последовательностей с помощью , табулирует значения и применяет тест чтобы оценить, соответствуют ли результаты вышеизложенному. Значение p (в данном случае) достаточно велико, чтобы показать, что они согласуются.х 300 - 300 х 2 0,1367M+5=305X300300χ20.1367

M <- 300
n.iter <- 1e5
set.seed(17)
n <- ceiling((2/7) * (M + 3*sqrt(M)))
dice <- matrix(ceiling(6*runif(n*n.iter)), n, n.iter)
omega <- apply(dice, 2, cumsum)
omega <- omega[, apply(omega, 2, max) >= M+5]
omega[omega < M] <- NA
x <- apply(omega, 2, min, na.rm=TRUE)
count <- tabulate(x)[0:5+M]
(cbind(count, expected=round((2/7) * (6:1)/6 * length(x), 1)))
chisq.test(count, p=(2/7) * (6:1)/6)
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.