一度に転がされるさまざまな多面体ダイスの分布は何ですか?


15

Dungeons&Dragonsサイコロのセットから5つのプラトンの立体を取ります。これらは、4面、6面(従来)、8面、12面、および20面のサイコロで構成されています。すべては1から始まり、合計で1ずつ増加します。

一度にすべてを転がし、合計を取ります(最小合計は5、最大は50)。複数回行います。ディストリビューションとは何ですか?

明らかに、それらはより高い数値よりも低い数値があるため、ローエンドに向かう傾向があります。しかし、個々のダイの各境界に顕著な変曲点がありますか?

[編集:どうやら、明らかと思われたものはそうではありません。解説者の一人によると、平均は(5 + 50)/2=27.5です。私はこれを期待していませんでした。まだグラフを見たいです。] [Edit2:n個のサイコロの分布が、それぞれのサイコロと別々に同じであり、合計されていることを確認する方が理にかなっています。]


1
あなたは、個別の制服の和の分布であるものを意味しています[14]+[16]+[18]+[112]+[120]
GUNG -復活モニカ

2
それを調べる1つの方法は、シミュレーションです。R:でhist(rowSums(sapply(c(4, 6, 8, 12, 20), sample, 1e6, replace = TRUE)))。それは実際にローエンドに向かう傾向はありません。5から50までの可能な値のうち、平均は27.5であり、分布は(視覚的に)正常からそれほど遠くありません。
デビッドロビンソン

2
私のD&Dセットは5あなたが言及(プラス私はあなたが含まれていないと推定decader、)だけでなく、D10を持っている
Glen_b -Reinstateモニカ

1
Wolfram Alpha は答えを正確に計算します。以下に確率生成関数を示します。この関数から、分布を直接読み取ることができます。ところで、この質問は尋ねた、徹底的に答えている1の特殊なケースであるstats.stackexchange.com/q/3614とでstats.stackexchange.com/questions/116792
whuber

2
@AlecTeal:簡単だ、タフな男。あなたがあなたの研究をした場合、あなたは私がシミュレーションを自分で実行するためのコンピューターを持っていなかったことがわかります。そして、100回のローリングは、このような単純な質問に対しては効果的ではないようでした。
マルコス

回答:


18

私は代数的にそれをしたくありませんが、pmfを簡単に計算することができます(それは単なる畳み込みで、スプレッドシートでは本当に簡単です)。

これらをスプレッドシートで計算しました*:

i        n(i)   100 p(i)
5         1     0.0022
6         5     0.0109
7        15     0.0326
8        35     0.0760
9        69     0.1497
10      121     0.2626
11      194     0.4210
12      290     0.6293
13      409     0.8876
14      549     1.1914
15      707     1.5343
16      879     1.9076
17     1060     2.3003
18     1244     2.6997
19     1425     3.0924
20     1597     3.4657
21     1755     3.8086
22     1895     4.1124
23     2014     4.3707
24     2110     4.5790
25     2182     4.7352
26     2230     4.8394
27     2254     4.8915
28     2254     4.8915
29     2230     4.8394
30     2182     4.7352
31     2110     4.5790
32     2014     4.3707
33     1895     4.1124
34     1755     3.8086
35     1597     3.4657
36     1425     3.0924
37     1244     2.6997
38     1060     2.3003
39      879     1.9076
40      707     1.5343
41      549     1.1914
42      409     0.8876
43      290     0.6293
44      194     0.4210
45      121     0.2626
46       69     0.1497
47       35     0.0760
48       15     0.0326
49        5     0.0109
50        1     0.0022

ここで、は各合計iを取得する方法の数です。p i は確率です。ここで、p i = n i / 46080n(i)ip(i)p(i)=n(i)/46080です。最も可能性の高い結果は、時間の5%未満で発生します。

y軸は、パーセンテージで表される確率です。 ここに画像の説明を入力してください

*私が使用した方法は、ここで説明した手順と似ていますが、ユーザーインターフェイスの詳細が変更されると、セットアップに関係する正確なメカニズムが変わります(その投稿は約1年前に更新しましたが、約5年前です)。また、今回は別のパッケージを使用しました(今回はLibreOfficeのCalcで使用しました)。それでも、それがその要点です。


驚くべきことに、私はまったく対称的な分布を期待していませんでした。私の直感がこれほど遠く離れていた理由がわかりません。
マルコス

6
独立した対称ランダム変数の合計も分布が対称です。
Glen_b-モニカの復活

いいルール。それはどこかで公開されていますか?
マルコス

3
はい、しかし、私のポイントは、それを出版するためにジャーナルを手に入れるのは簡単すぎることであり、それは学生のための演習としてのみ設定されるでしょう。原点を中心に対称なランダム変数の特性関数が実在するという事実を使用することができます(特性関数のウィキペディアのページに記載されている事実です)-そうですね、あなたはそれが必要だと思います同様にcfs対pmfsの1対1のプロパティ、または二重関係を使用して、偶数cfも対称pmfを暗示することを確立します...
Glen_b -Reinstate Monica

2
...そして偶数関数の積は偶数であるという事実ですが、畳み込みがどのように機能するかを直接検討するだけで十分に明白です-2つの対称関数(この場合はpmfs)の畳み込みでは、一方の端の製品には、もう一方の端に同じサイズの対応する用語があり、中心の周りに対称的に配置されます。
Glen_b -Reinstate Monica

7

だから私はこのコードを作りました:

d4 <- 1:4  #the faces on a d4
d6 <- 1:6  #the faces on a d6
d8 <- 1:8  #the faces on a d8
d10 <- 1:10 #the faces on a d10 (not used)
d12 <- 1:12 #the faces on a d12
d20 <- 1:20 #the faces on a d20

N <- 2000000  #run it 2 million times
mysum <- numeric(length = N)

for (i in 1:N){
     mysum[i] <- sample(d4,1)+
                 sample(d6,1)+
                 sample(d8,1)+
                 sample(d12,1)+
                 sample(d20,1)
}

#make the plot
hist(mysum,breaks = 1000,freq = FALSE,ylim=c(0,1))
grid()

結果はこのプロットです。 ここに画像の説明を入力してください

かなりガウスに見えます。私たちは(再び)中心極限定理のバリエーションを示したと思う。


2
うーん、シミュレーションの最低ロールは6です。それをロールする確率(またはダイのアイデンティティを保持する任意のシングルロール)は1:4 * 1:6 * 1:8 * 1:10 * 1:12 * 1:20です。 = 1:460800。私の手順では、モデリングのエラーを明らかにするために、このサイズ(ナイキスト制限など)のサンプルサイズNを少なくとも2回(おそらく4倍)必要とします。
マルコス

Nyquistでの私の経験では、最低でも4倍と言われています。...完了。200万では不十分な場合は、それがどうあるべきかを教えてください。
EngrStudent-モニカの復活

3
n

1
@EngrStudent:ところで、結果はCLTを確認しませんか?
マルコス

1
@theDoctorいいえ、多くの理由でCLTを確認しません
Glen_b -Reinstate Monica

7

あなたの直感への小さな助け:

まず、1つのダイ(d4など)のすべての面に1を追加するとどうなるかを考えます。したがって、1,2,3,4の代わりに、顔には2,3,4,5が表示されます。

この状況を元の状況と比較すると、総計が以前よりも1つ多いことがわかります。これは、形状が、分布は変更されず、1ステップだけ横に移動します。

いま 減算、各ダイの平均値をそのダイのすべての側からします。

これにより、サイコロがマークされます

  • 32121232
  • 523212123252
  • 72,52,32,12,12,32,52,72

etc.

Now, the sum of these dice should still have the same shape as the original, only shifted downwards. It should be clear that this sum is symmetrical around zero. Therefore the original distribution is also symmetrical.


4

I will show an approach to do this algebraically, with the aid of R. Assume the different dice have probability distributions given by vectors

P(X=i)=p(i)
where X is the number of eyes seen on throwing the dice, and i is a integer in the range 0,1,,n. So the probability of two eyes, say, is in the third vector component. Then a standard dice has distribution given by the vector (0,1/6,1/6,1/6,1/6,1/6,1/6). The probability generating function (pgf) is then given by p(t)=06p(i)ti. Let the second dice have distribution given by the vector q(j) with j in range 0,1,,m. Then the distribution of the sum of eyes on two independent dice rolls given by the product of the pgf' s, p(t)q(t). Writing out thet product we can see it is given by the convolution of the coefficient sequences, so can be found by the R function convolve(). Lets test this by two throws of standard dice:
> p  <-  q  <-  c(0, rep(1/6,6))
> pq  <-  convolve(p,rev(q),type="open")
> zapsmall(pq)
 [1] 0.00000000 0.00000000 0.02777778 0.05555556 0.08333333 0.11111111
 [7] 0.13888889 0.16666667 0.13888889 0.11111111 0.08333333 0.05555556
[13] 0.02777778

and you can check that that is correct (by hand calculation). Now for the real question, five dice with 4,6,8,12,20 sides. I will do the calculation assuming uniform probs for each dice. Then:

> p1  <-  c(0,rep(1/4,4))
> p2 <-  c(0,rep(1/6,6))
> p3 <-  c(0,rep(1/8,8))
> p4  <-  c(0, rep(1/12,12))
> p5  <-  c(0, rep(1/20,20))
> s2  <-  convolve(p1,rev(p2),type="open")
> s3 <-  convolve(s2,rev(p3),type="open")
> s4 <-  convolve(s3,rev(p4),type="open")
> s5 <- convolve(s4, rev(p5), type="open")
> sum(s5)
[1] 1
> zapsmall(s5)
 [1] 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00002170
 [7] 0.00010851 0.00032552 0.00075955 0.00149740 0.00262587 0.00421007
[13] 0.00629340 0.00887587 0.01191406 0.01534288 0.01907552 0.02300347
[19] 0.02699653 0.03092448 0.03465712 0.03808594 0.04112413 0.04370660
[25] 0.04578993 0.04735243 0.04839410 0.04891493 0.04891493 0.04839410
[31] 0.04735243 0.04578993 0.04370660 0.04112413 0.03808594 0.03465712
[37] 0.03092448 0.02699653 0.02300347 0.01907552 0.01534288 0.01191406
[43] 0.00887587 0.00629340 0.00421007 0.00262587 0.00149740 0.00075955
[49] 0.00032552 0.00010851 0.00002170
> plot(0:50,zapsmall(s5))

The plot is shown below:

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

Now you can compare this exact solution with simulations.


1

中心極限定理は、あなたの質問に答えます。その詳細とその証明(およびそのWikipediaの記事)はやや頭を曲げていますが、その要点は単純です。ウィキペディアごとに、

有限分散を持つ独立して同一に分布するランダム変数の数の合計は、変数の数が増えるにつれて正規分布になる傾向があります。

ケースの証拠のスケッチ:

「すべてのサイコロを一度にロールする」と言うとき、すべてのサイコロの各ロールはランダム変数です。

サイコロには有限の数字が印刷されています。したがって、それらの値の合計には有限分散があります。

すべてのサイコロを振るたびに、結果の確率分布は同じです。(サイコロはロール間で変わりません。)

サイコロを公平に振った場合、サイコロを振るたびに、結果は独立します。(以前のロールは将来のロールに影響しません。)

独立?小切手。同じように配布されていますか?小切手。有限分散?小切手。したがって、合計は正規分布に向かう傾向があります。

すべてのダイスの1つのロールの分布がローエンドに偏っていても問題ではありません。そのディストリビューションにカスプがあるかどうかは関係ありません。すべての加算によりそれが平滑化され、対称ガウスになります。あなたはそれを示すために代数やシミュレーションをする必要さえありません!これは、CLTの驚くべき洞察です。


3
CLTは関連性があり、他の投稿が示すように、分布はほぼガウス分布に見えますが、5つの独立した同一でない分布の合計のみを扱っています。したがって、ポイント1)5は、「無限」で適用される定理を呼び出すのに十分な大きさではありません。ポイント2)バニラCLtを使用することはできません。合計するものがiidではないからです。Lyapunov CLTが必要だと思います。
ピーター

2
それぞれの中心に関して対称な分布を持ついくつかの独立したランダム変数の合計は、中心の合計に関して対称な分布を持っていると言うために、中心極限定理は必要ありません。
ヘンリー

@ピーター:あなたは私の証明の構造が欠落しています。OPは、「一度にすべてをロールする」と言っています。私はすべてのサイコロの各ロールを1つのランダム変数として取っています。これらのランダム変数は、同じ分布を持っています。リアプノフは必要ありません。また、OPは「複数回行う」と言っていますが、これは「限界内」を意味するものとするため、ポイント1は無効です。ここでは、5つのサイコロの1つのロールを合計するだけではありません。
ポールカントレル

2
@PaulCantrellすべてのサイコロの各ロールは、5つの独立した同一でない分布変数の合計です。OPはその合計の分布について尋ねています。5つのサイコロを何度も振ることができますが、それは問題の分布からのサンプリングに過ぎず、これらのサンプルを合計する人はいません。
ピーター

1
@PaulCantrellそれはあなたが「複数回そうする」をどう解釈するかにかかっていると思います。これを複数回行い、それらを再度合計する(単一の値を取得する)か、複数回実行してそれらのサンプルのヒストグラムを調べます(複数の値を取得します)。私は後者の解釈を取りました。
ピーター
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.