総まで6面ダイスを転がし


11

ここに質問があります:

サイコロの合計がM以上になるまで、6面のサイコロを繰り返し転がします。M= 300のときの合計からMを引いた値の平均と標準偏差はいくつですか。

この種の質問に答えるコードを書く必要がありますか?

そのヒントを教えてください。ありがとう!


1
[self-study]タグを追加してwikiを読んでください。次に、これまでに理解したこと、試したこと、行き詰まっているところを教えてください。私たちはあなたが行き詰まるのを助けるためのヒントを提供します。
ガン-モニカの回復

2
私はと疑うM=300「非常に大きいと読み取ることができるM私はと信じているとして、」M=301またはM=999ほぼ正確に同じ結果を与えるだろう。私が行うことは、合計から引いた分布を見つけることですM
Henry

回答:


13

確かにコードを使用できますが、シミュレーションは行いません。

「マイナスM」の部分は無視します(最後に十分簡単に​​行うことができます)。

確率は非常に簡単に再帰的に計算できますが、実際の答え(非常に高い精度)は単純な推論から計算できます。

ロールを。してみましょうS T = Σ トン、私は= 1 Xの私をX1,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)に我々はそれを言うことができるM - 1は、一度にほぼ等しい確率であるべきτ - 1(実際にそれに近い)、そして私たち以上の確率がすることを書き留めることができますから、単純な比率であることに非常に近く、それらは正規化する必要があるため、確率を書き留めることができます。M6M1τ1

M6M1MM+1M+5

つまり、確率は6:5:4:3:2:1の比率であり、合計が1になるため、書き留めるのは簡単です。

.Machine$double.eps2.22e-16

これが私のコードです(ほとんどは変数を初期化するだけで、作業はすべて1行で行われます)。コードは最初のロールの後に開始します(セル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(from zoo)を使用してより効率的に行うことができます-または他のいくつかのそのような関数-しかし、明示的にしておくと翻訳が容易になります)

d61〜6上の離散確率関数であるので、最後の行のループ内のコードは、以前の値の加重平均を実行して構築されています。確率をスムーズにするのはこの関係です(私たちが関心を持つ最後のいくつかの値まで)。

t

ここに画像の説明を入力してください

1/μ

MM

ここに画像の説明を入力してください

M1M6

MM1M6τ1M

Rt=StMR0

確率分布から、確率の平均と分散は単純になります。

M

53253M=300


+1自分で開発するまでこの答えを完全には理解していませんでした。たぶん一部の読者は図とシミュレーション結果に価値を見出すでしょう、それで私は私の答えを開いたままにしておきます。
whuber

1
@whuberこれは宿題であるという仮定の下で操作していたので、私の答えは私が望んでいたよりもはるかに具体的ではありません(そのため、あまりにも多くの派生を行ったり、コードを与えたりすることは避けました-アウトラインとして意図されていました)。この問題について明確に回答を書くのは難しいと感じました(これは、具体性が通常よりも役立つ問題です)。あなたは実際の数字とコードを含む答えを与えたので(私は間違いなくとどまるべきだと思う答えです)、うまくいけば私の答えを理解しやすくすることができるいくつかのことができるように感じます(より明確に、自分のコードを与えてください) 。
Glen_b-2015

数年前のどこかで、この種の問題についてより良い説明を書きました。それがどのように進んだかを覚えている/把握できる場合は、その一部をここに含めようとします。
Glen_b-2015

@Glen_bは方程式を少し理解しました。私は初心者です。このように考え始めるには?このような目的のためにお勧めできる本はありますか?あなたの返事は大いに役立つでしょう。
通常容疑者

いつもの容疑者-私は長い道のりのようなゲームボードを想像して、「問題の条件に合った方法でこのスペースに到達する方法は何ですか、そしてどのようなチャンスで?」と方程式を書きました。「M」というラベルの付いたスペースでそれを行い、その後のスペースでそれを繰り返しました。開始セルの近くにいることを想像し、「ここにいたら、次のチャンスはありますか?」と言って、コードに対して今後同様の計算を書きました。方程式はすべて、これらの質問に対する答えにすぎません。
Glen_b-モニカの復活2015

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).

この分布の平均と分散の計算は簡単で簡単です。


RM+5=305χ 2 0.1367X300300χ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)
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.