Ролл 6-кубик до повного


11

Ось питання:

Ви збираєте справедливі шестигранні кістки ітераційно, поки сума рулонів кісток не буде більшою або дорівнює М. Яке середнє та стандартне відхилення суми мінус M, коли M = 300?

Чи потрібно написати код, щоб відповісти на такі запитання?

Будь ласка, дайте мені підказки щодо цього. Дякую!


1
Додайте [self-study]тег і прочитайте його вікі . Тоді розкажіть, що ви розумієте дотепер, що ви пробували, і де ви застрягли. Ми надамо підказки, які допоможуть вам відклеїтись.
gung - Відновіть Моніку

2
Я підозрюю, що можна прочитати як "дуже великий ", оскільки я вважаю, що або дасть майже такий самий результат. Що я хотів би зробити , це знайти розподіл суми мінус . M M = 301 M = 999 MM=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)

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

Ймовірності балів - це середньозважені середні значення попередніх ймовірностей; це (геометрично швидко) згладить будь-яку варіацію ймовірності від початкового розподілу (вся ймовірність у нульовій точці у випадку нашої проблеми). The

До наближення (дуже точного) можна сказати, що до повинні бути майже однаково вірогідними в той час (дійсно близький до нього), і тому з вищесказаного ми можемо записати, що ймовірності буде дуже близьким до простого співвідношення, і оскільки вони повинні бути нормалізовані, ми можемо просто записати ймовірності.М - 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

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

Отже, ідея про те, що значення до має бути однаково вірогідною, оскільки коливання від початкових умов згладжуються, очевидно, є винятковою.M1M6

Оскільки міркування не залежать ні від чого, але від того, що є достатньо великим, що початкові умови вимиваються, так що до є майже однаково вірогідними в той час , розподіл буде по суті однаковим для будь-якого великий , як запропонував Генрі в коментарях.MM1M6τ1M

Зрештою, натяк Генрі (який також у вашому питанні) працювати із сумою мінус M, заощадив би трохи зусиль, але аргумент слід за дуже схожими лініями. Ви можете продовжити, і записавши подібні рівняння, що стосуються до попередніх значень тощо.Rt=StMR0

З розподілу ймовірностей середнє значення та дисперсія ймовірностей тоді прості.

Редагувати: Я думаю, я повинен дати середнє асимптотичне значення і стандартне відхилення кінцевого положення мінус :M

Середнє асимптотичне перевищення - а стандартне відхилення - . При це набагато точніше, ніж ви, швидше за все, турбуєтесь.53253M=300


+1 Я не повністю зрозумів цю відповідь, поки не розробив свою власну, яка зараз видається зайвою. Можливо, деякі читачі побачать значення в результатах ілюстрації та моделювання, тому я буду тримати свою відповідь відкритою.
whuber

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

Я набагато краще пояснював подібну проблему десь пару років тому. Якщо я можу пригадати / зрозуміти, як це пройшло, я спробую включити сюди частину цього.
Glen_b -Встановіть Моніку

@Glen_b трохи зрозумів рівняння. Я новачок. як почати так думати? Чи є якісь книги, які ви могли б порекомендувати для цього свого роду? Ваша відповідь була б дуже корисною.
Звичайний підозрюваний

Звичайний підозрюваний - я написав рівняння, уявляючи ігрову дошку, як довгу доріжку, і рухаюсь "якими шляхами я міг би потрапити до цього простору таким чином, що відповідає умовам проблеми та з якими шансами?"; Я зробив це для пробілу з позначкою "М", потім для простору після нього тощо. Я написав подібний розрахунок, рухаючись вперед для коду, уявивши, що він знаходиться поруч із початковою коміркою і сказав: "Якщо я був тут, чи був би я наступним, з якими шансами?". Рівняння - це лише відповіді на ці запитання.
Glen_b -Встановити Моніку

8

Ω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 послідовностей через , табулює значення і застосовує тест для оцінки відповідності результатів вищесказаному. Значення р (у даному випадку) досить велике, щоб вказувати на їх відповідність.X 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.