จะตรวจสอบการกระจายผลลัพธ์อย่างง่ายดายสำหรับลูกเต๋าหลาย ๆ ตัวได้อย่างไร


21

ฉันต้องการคำนวณการแจกแจงความน่าจะเป็นสำหรับผลรวมของการรวมลูกเต๋า

ฉันจำได้ว่าความน่าจะเป็นคือจำนวนชุดค่าผสมที่รวมจำนวนนั้นกับจำนวนชุดค่าผสมทั้งหมด (สมมติว่าลูกเต๋ามีการแจกแจงแบบเดียวกัน)

มีสูตรอะไรบ้างสำหรับ

  • จำนวนชุดค่าผสมทั้งหมด
  • จำนวนชุดค่าผสมที่รวมจำนวนที่แน่นอน

1
ฉันคิดว่าคุณควรปฏิบัติต่อ(X1=1,X2=2)และ(X1=2,X2=1)เป็นเหตุการณ์ที่แตกต่างกัน
Deep North

คำตอบ:


15

โซลูชั่นที่แน่นอน

จำนวนรวมกันในnพ่นเป็นหลักสูตร6n n

การคำนวณเหล่านี้ทำได้ง่ายที่สุดโดยใช้ฟังก์ชันสร้างความน่าจะเป็นสำหรับแม่พิมพ์หนึ่งหัว

พี(x)=x+x2+x3+x4+x5+x6=x1-x61-x.

(อันที่จริงนี่คือ6คูณ pgf - ฉันจะดูแลปัจจัย6ตอนท้าย)

PGF สำหรับnม้วนเป็นพี(x)n n เราสามารถคำนวณสิ่งนี้ได้โดยตรง - ไม่ใช่รูปแบบปิด แต่เป็นประโยชน์ - ใช้ทฤษฎีบททวินาม:

พี(x)n=xn(1-x6)n(1-x)-n

=xn(k=0n(nk)(1)kx6k)(j=0(nj)(1)jxj).

จำนวนวิธีที่จะได้รับผลรวมเท่ากับmบนลูกเต๋าคือสัมประสิทธิ์ของxmในผลิตภัณฑ์นี้ซึ่งเราสามารถแยกได้เป็น

Σ6k+J=ม.-n(nk)(-nJ)(-1)k+J.

ผลรวมอยู่เหนือค่าลบทั้งหมดkและJที่6k+J=ม.-n ; มันจึงมี จำกัด และมีเพียงประมาณ(ม.-n)/6คำศัพท์ ตัวอย่างเช่นจำนวนวิธีที่จะรวมม.=14ในn=3โยนเป็นผลรวมของสองเทอมเนื่องจาก11=14-3สามารถเขียนได้เฉพาะ60+11และ61+5 :

-(30)(-311)+(31)(-35)

=1(-3)(-4)(-13)11!+3(-3)(-4)(-7)5!

=121213-3267=15

(คุณสามารถฉลาดและทราบว่าคำตอบจะเหมือนกันสำหรับม.=7โดยสมมาตร 1 <--> 6, 2 <--> 5 และ 3 <--> 4 และมีวิธีเดียวที่จะขยาย7-3เป็น6k+J ; กล่าวคือด้วยk=0และJ=4 , ให้

(30)(-34)=15.

ความน่าจะเป็นดังนั้นจึงเท่ากับ15/63 = 5/36ประมาณ 14%

เมื่อถึงเวลาที่สิ่งนี้เจ็บปวดทฤษฎีขีด จำกัด กลางให้การประมาณที่ดี (อย่างน้อยที่สุดกับเงื่อนไขกลางที่ม.อยู่ระหว่าง7n2-3nและ7n2+3n : บนพื้นฐานสัมพัทธ์การประมาณของมันจะทำให้ค่าหางแย่ลงและแย่ลงเมื่อnโตขึ้น)

ฉันเห็นว่าสูตรนี้ให้ไว้ในบทความ Wikipedia อ้างอิงจาก Srikant แต่ไม่มีการให้เหตุผลและไม่มีตัวอย่าง ถ้าบางทีวิธีนี้มีลักษณะเป็นนามธรรมเกินไปไฟระบบพีชคณิตคอมพิวเตอร์ของคุณที่ชื่นชอบและขอให้ขยายnTHพลังของx+x2++x6 : คุณสามารถอ่านทั้งชุดของค่าออกขวา เช่น Mathematica หนึ่งซับคือ

With[{n=3}, CoefficientList[Expand[(x + x^2 + x^3 + x^4 + x^5 + x^6)^n], x]]

รหัส mathematica นั้นจะใช้งานได้กับ wolfram alpha หรือไม่

1
ที่ได้ผล ฉันลองรุ่นก่อนหน้าของคุณ แต่ไม่สามารถรับรู้ถึงผลลัพธ์ได้

2
@Srikant: ขยาย [รวม [x ^ i, {i, 1,6}] ^ 3] ยังใช้งานได้ใน WolframAlpha

1
@ A.Wilson ผมเชื่อว่าหลายอ้างอิงเหล่านั้นให้เส้นทางที่ชัดเจนในการทั่วไปซึ่งในตัวอย่างนี้คือ 3 หากคุณต้องการรหัสเพื่อคำนวณสิ่งเหล่านี้ให้ดูstats.stackexchange.com/a/116913สำหรับระบบที่ดำเนินการอย่างสมบูรณ์ เป็นอีกตัวอย่างหนึ่งรหัสMathematicaคือ(x+x2++x6)(x+x2+x3+x4)3RClear[x, d]; d[n_, x_] := Sum[x^i, {i, 1, n}]; d[6, x] d[4, x]^3 // Expand
whuber

1
โปรดทราบว่าการชี้แจงของ @ whuber สำหรับ 1d6 + 3d4 และนั่นควรจะพาคุณไปที่นั่น สำหรับ wdn + vdm โดยพลการ (x + x ^ 2 + ... + x ^ w) ^ n (x + x ^ 2 + ... + x ^ v) ^ m ข้อกำหนดเพิ่มเติมคือชื่อพหุนามที่สร้างขึ้นและคูณกับผลิตภัณฑ์ในลักษณะเดียวกัน
A. วิลสัน

8

อีกวิธีหนึ่งในการคำนวณการกระจายความน่าจะเป็นของการทอยลูกเต๋าก็คือการใช้เครื่องคิดเลขพิเศษที่ออกแบบมาเพื่อจุดประสงค์นั้น

Torben Mogensenศาสตราจารย์ CS ที่DIKUมีลูกกลิ้งลูกเต๋าที่ยอดเยี่ยมที่เรียกว่าโทรลล์

ลูกกลิ้งลูกเต๋า Troll และเครื่องคิดเลขความน่าจะเป็นจะพิมพ์การแจกแจงความน่าจะเป็น (pmf, ฮิสโตแกรมและตัวเลือก cdf หรือ ccdf), ค่าเฉลี่ย, การแพร่กระจายและค่าเบี่ยงเบนเฉลี่ยสำหรับกลไกม้วนลูกเต๋าที่ซับซ้อนหลากหลาย นี่คือตัวอย่างเล็ก ๆ น้อย ๆ ที่แสดงภาษาการหมุนของลูกเต๋าของ Troll:

ม้วนลูกเต๋า 3 ลูก 6 sum 3d6ด้านและรวมพวกเขา:

ลูกเต๋า 4 6 ด้านให้สูงสุด 3 sum largest 3 4d6และรวมพวกเขา:

ม้วนเป็น "ระเบิด" 6 เหลี่ยมตาย (เช่นเวลาใด ๆ "6" ขึ้นมาเพิ่ม 6 sum (accumulate y:=d6 while y=6)รวมและม้วนของคุณอีกครั้ง):

มีซอร์สโค้ดSML ของ Troll ถ้าคุณต้องการดูวิธีการนำไปใช้

ศาสตราจารย์มอร์เกนเซ่นยังมีกระดาษ 29 หน้า " กลไกการหมุนลูกเต๋าในเกม RPGการหมุนลูกเต๋า " ซึ่งเขากล่าวถึงกลไกการทอยลูกเต๋าหลายอย่างที่ดำเนินการโดย Troll และคณิตศาสตร์บางส่วนที่อยู่เบื้องหลังพวกเขา

ซอฟต์แวร์โอเพนซอร์ฟรีที่คล้ายกันคือDicelabซึ่งทำงานได้ทั้งบน Linux และ Windows


7

ให้คนแรกตายเป็นสีแดงและคนที่สองจะเป็นสีดำ จากนั้นมี 36 ผลลัพธ์ที่เป็นไปได้:

12345611,11,21,31,41,51,623456722,12,22,32,42,52,634567833,13,23,33,43,53,645678944,14,24,34,44,54,6567891055,15,25,35,45,55,66789101166,16,26,36,46,56,6789101112

Each of these 36 (red,black) results are equally likely.

When you sum the numbers on the faces (total in blue), several of the (red,black) results end up with the same total -- you can see this with the table in your question.

So for example there's only one way to get a total of 2 (i.e. only the event (1,1)), but there's two ways to get 3 (i.e. the elementary events (2,1) and (1,2)). So a total of 3 is twice as likely to come up as 2. Similarly there's three ways of getting 4, four ways of getting 5 and so on.

Now since you have 36 possible (red,black) results, the total number of ways of getting all the different totals is also 36, so you should divide by 36 at the end. Your total probability will be 1, as it should be.


Wow, the table is beautiful!
Deep North

Very pretty indeed
wolfies

6

There's a very neat way of computing the combinations or probabilities in a spreadsheet (such as excel) that computes the convolutions directly.

I'll do it in terms of probabilities and illustrate it for six sided dice but you can do it for dice with any number of sides (including adding different ones).

(btw it's also easy in something like R or matlab that will do convolutions)

Start with a clean sheet, in a few columns, and move down a bunch of rows from the top (more than 6).

  1. put the value 1 in a cell. That's the probabilities associated with 0 dice. put a 0 to its left; that's the value column - continue down from there with 1,2,3 down as far as you need.

  2. move one column to the right and down a row from the '1'. enter the formula "=sum(" then left-arrow up-arrow (to highlight the cell with 1 in it), hit ":" (to start entering a range) and then up-arrow 5 times, followed by ")/6" and press Enter - so you end up with a formula like =sum(c4:c9)/6 (where here C9 is the cell with the 1 in it).

    enter image description here

    Then copy the formula and paste it to the 5 cells below it. They should each contain 0.16667 (ish).

    enter image description here

    Don't type anything into the empty cells these formulas refer to!

  3. move down 1 and to the right 1 from the top of that column of values and paste ...

    enter image description here

    ... a total of another 11 values. These will be the probabilities for two dice.

    enter image description here

    It doesn't matter if you paste a few too many, you'll just get zeroes.

  4. repeat step 3 for the next column for three dice, and again for four, five, etc dice.

    enter image description here

    We see here that the probability of rolling 12 on 4d6 is 0.096451 (if you multiply by 46 you'll be able to write it as an exact fraction).

If you're adept with Excel - things like copying a formula from a cell and pasting into many cells in a column, you can generate all tables up to say 10d6 in about a minute or so (possibly faster if you've done it a few times).


If you want combination counts instead of probabilities, don't divide by 6.

If you want dice with different numbers of faces, you can sum k (rather than 6) cells and then divide by k. You can mix dice across columns (e.g. do a column for d6 and one for d8 to get the probability function for d6+d8):

enter image description here


5

Approximate Solution

I explained the exact solution earlier (see below). I will now offer an approximate solution which may suit your needs better.

Let:

Xi be the outcome of a roll of a s faced dice where i=1,...n.

S be the total of all n dice.

X¯ be the sample average.

By definition, we have:

X¯=iXin

In other words,

X¯=Sn

The idea now is to visualize the process of observing Xi as the outcome of throwing the same dice n times instead of as outcome of throwing n dice. Thus, we can invoke the central limit theorem (ignoring technicalities associated with going from discrete distribution to continuous), we have as n:

X¯N(μ,σ2/n)

where,

μ=(s+1)/2 is the mean of the roll of a single dice and

σ2=(s21)/12 is the associated variance.

The above is obviously an approximation as the underlying distribution Xi has discrete support.

But,

S=nX¯.

Thus, we have:

SN(nμ,nσ2).

Exact Solution

Wikipedia has a brief explanation as how to calculate the required probabilities. I will elaborate a bit more as to why the explanation there makes sense. To the extent possible I have used similar notation to the Wikipedia article.

Suppose that you have n dice each with s faces and you want to compute the probability that a single roll of all n dice the total adds up to k. The approach is as follows:

Define:

Fs,n(k): Probability that you get a total of k on a single roll of n dices with s faces.

By definition, we have:

Fs,1(k)=1s

The above states that if you just have one dice with s faces the probability of obtaining a total k between 1 and s is the familiar 1s.

Consider the situation when you roll two dice: You can obtain a sum of k as follows: The first roll is between 1 to k1 and the corresponding roll for the second one is between k1 to 1. Thus, we have:

Fs,2(k)=i=1i=k1Fs,1(i)Fs,1(ki)

Now consider a roll of three dice: You can get a sum of k if you roll a 1 to k2 on the first dice and the sum on the remaining two dice is between k1 to 2. Thus,

Fs,3(k)=i=1i=k2Fs,1(i)Fs,2(ki)

Continuing the above logic, we get the recursion equation:

Fs,n(k)=i=1i=kn+1Fs,1(i)Fs,n1(ki)

See the Wikipedia link for more details.


@Srikant Excellent answer, but does that function resolve to something arithmetic (ie: not recursive)?
C. Ross

@C. Ross Unfortunately I do not think so. But, I suspect that the recursion should not be that hard as long as are dealing with reasonably small n and small s. You could just build-up a lookup table and use that repeatedly as needed.

1
The wikipedia page you linked has a simple nonrecursive formula which is a single sum. One derivation is in whuber's answer.
Douglas Zare

The wiki link anchor is dead, do you know of a replacement?
Midnighter

4

Characteristic functions can make computations involving the sums and differences of random variables really easy. Mathematica has lots of functions to work with statistical distributions, including a builtin to transform a distribution into its characteristic function.

I'd like to illustrate this with two concrete examples: (1) Suppose you wanted to determine the results of rolling a collection of dice with differing numbers of sides, e.g., roll two six-sided dice plus one eight-sided die (i.e., 2d6+d8)? Or (2) suppose you wanted to find the difference of two dice rolls (e.g., d6-d6)?

An easy way to do this would be to use the characteristic functions of the underlying discrete uniform distributions. If a random variable X has a probability mass function f, then its characteristic function φX(t) is just the discrete Fourier Transform of f, i.e., φX(t)=F{f}(t)=E[eitX]. A theorem tells us:

If the independent random variables X and Y have corresponding probability mass functions f and g, then the pmf h of the sum X+Y of these RVs is the convolution of their pmfs h(n)=(fg)(n)=m=f(m)g(nm).

We can use the convolution property of Fourier Transforms to restate this more simply in terms of characteristic functions:

The characteristic function φX+Y(t) of the sum of independent random variables X and Y equals the product of their characteristic functions φX(t)φY(t).

This Mathematica function will make the characteristic function for an s-sided die:

MakeCf[s_] := 
 Module[{Cf}, 
  Cf := CharacteristicFunction[DiscreteUniformDistribution[{1, s}], 
    t];
  Cf]

The pmf of a distribution can be recovered from its characteristic function, because Fourier Transforms are invertible. Here is the Mathematica code to do it:

RecoverPmf[Cf_] := 
  Module[{F}, 
    F[y_] := SeriesCoefficient[Cf /. t -> -I*Log[x], {x, 0, y}];
    F]

Continuing our example, let F be the pmf that results from 2d6+d8.

F := RecoverPmf[MakeCf[6]^2 MakeCf[8]]

There are 628=288 outcomes. The domain of support of F is S={3,,20}. Three is the min because you're rolling three dice. And twenty is the max because 20=26+8. If you want to see the image of F, compute

In:= F /@ Range[3, 20]

Out= {1/288, 1/96, 1/48, 5/144, 5/96, 7/96, 13/144, 5/48, 1/9, 1/9, \
5/48, 13/144, 7/96, 5/96, 5/144, 1/48, 1/96, 1/288}

If you want to know the number of outcomes that sum to 10, compute

In:= 6^2 8 F[10]

Out= 30

If the independent random variables X and Y have corresponding probability mass functions f and g, then the pmf h of the difference XY of these RVs is the cross-correlation of their pmfs h(n)=(fg)(n)=m=f(m)g(n+m).

We can use the cross-correlation property of Fourier Transforms to restate this more simply in terms of characteristic functions:

The characteristic function φXY(t) of the difference of two independent random variables X,Y equals the product of the characteristic function φX(t) and φY(t) (N.B. the negative sign in front of the variable t in the second characteristic function).

So, using Mathematica to find the pmf G of d6-d6:

G := RecoverPmf[MakeCf[6] (MakeCf[6] /. t -> -t)]

There are 62=36 outcomes. The domain of support of G is S={5,,5}. -5 is the min because 5=16. And 5 is the max because 61=5. If you want to see the image of G, compute

In:= G /@ Range[-5, 5]

Out= {1/36, 1/18, 1/12, 1/9, 5/36, 1/6, 5/36, 1/9, 1/12, 1/18, 1/36}

1
แน่นอนสำหรับการแจกแจงแบบไม่ต่อเนื่องรวมถึงการแจกแจงของการสนับสนุนอัน จำกัด (เช่นในคำถามที่นี่), cf เป็นเพียงฟังก์ชันสร้างความน่าจะเป็นที่ประเมินที่ x = exp (มัน) ทำให้มันเป็นวิธีที่ซับซ้อนมากขึ้นในการเข้ารหัสข้อมูลเดียวกัน
whuber

2
@whuber: ในขณะที่คุณพูด cf, mgf และ pgf นั้นมากขึ้นหรือน้อยลงเหมือนกันและสามารถแปลงร่างได้อย่างง่ายดายอย่างไรก็ตาม Mathematica มี cf builtin ที่ทำงานร่วมกับการแจกแจงความน่าจะเป็นที่รู้จักในขณะที่มันไม่ได้ ' ฉันมี pgf ในตัว สิ่งนี้ทำให้รหัส Mathematica สำหรับการทำงานกับจำนวนเงิน (และความแตกต่าง) ของลูกเต๋าโดยใช้ cfs ที่สวยงามเป็นพิเศษเพื่อสร้างโดยไม่คำนึงถึงความซับซ้อนของการแสดงออกของลูกเต๋าที่ฉันหวังว่าฉันแสดงให้เห็นข้างต้น นอกจากนี้ยังไม่เจ็บที่จะรู้ว่า cfs, FTs, convolutions และ cross-correlations สามารถช่วยแก้ปัญหาเช่นนี้ได้อย่างไร

1
@Elisha: คะแนนดีพวกเขาทั้งหมด ฉันเดาว่าสิ่งที่ฉันสงสัยมากที่สุดคือว่ารหัส Mathematica ของคุณสิบบรรทัดหรือมากกว่านั้นคือ "สง่างาม" หรือมีประสิทธิภาพมากกว่าบรรทัดเดียวที่ฉันเสนอไว้ก่อนหน้านี้ (หรือแม้แต่บรรทัดที่สั้นกว่า Srikant ที่เลี้ยง Wolfram ฉันสงสัยว่าการจัดการภายในที่มีฟังก์ชั่นลักษณะมีความยากลำบากกว่าความเชื่อที่เรียบง่ายที่จำเป็นในการเพิ่มจำนวนพหุนาม แน่นอนว่าหลังนั้นจะใช้งานได้ง่ายกว่าในสภาพแวดล้อมซอฟต์แวร์อื่น ๆ ส่วนใหญ่ดังที่คำตอบของ Glen_b ระบุไว้ ข้อดีของวิธีการของคุณก็คือ
whuber

4

นี่เป็นอีกวิธีในการคำนวณการแจกแจงความน่าจะเป็นของผลรวมของลูกเต๋าสองมือด้วยการใช้การโน้มน้าวใจ

เพื่อให้ตัวอย่างง่ายมากเราจะคำนวณการแจกแจงความน่าจะเป็นของผลรวมของการตายแบบสามด้าน (d3) ซึ่งมีตัวแปรสุ่มเราจะเรียก X และแบบสองด้าน (d2) ซึ่งมีตัวแปรแบบสุ่มเราจะ โทรหา Y

คุณกำลังจะทำโต๊ะ ข้ามแถวบนเขียนการแจกแจงความน่าจะเป็นของ X (ผลลัพธ์ของการหมุน d3 ที่เป็นธรรม) ลงคอลัมน์ด้านซ้ายเขียนการแจกแจงความน่าจะเป็นของ Y (ผลลัพธ์ของการหมุน d2 ที่เป็นธรรม)

คุณจะสร้างผลิตภัณฑ์ชั้นนอกของแถวบนสุดของความน่าจะเป็นด้วยคอลัมน์ด้านซ้ายของความน่าจะเป็น ตัวอย่างเช่นเซลล์ล่างขวาจะเป็นผลผลิตของ Pr [X = 3] = 1/3 เท่า Pr [Y = 2] = 1/2 ตามที่แสดงในรูปประกอบ ในตัวอย่างง่าย ๆ ของเราเซลล์ทั้งหมดเท่ากับ 1/6

ต่อไปคุณจะรวมผลรวมตามเส้นเฉียงของเมทริกซ์ด้านนอกผลิตภัณฑ์ดังที่แสดงในแผนภาพประกอบ เส้นเฉียงแต่ละเส้นผ่านเซลล์หนึ่งหรือมากกว่าที่ฉันมีสีเหมือนกัน: เส้นด้านบนจะผ่านเซลล์สีน้ำเงินหนึ่งเซลล์บรรทัดถัดไปจะผ่านเซลล์สีแดงสองเซลล์และอื่น ๆ

ข้อความแสดงแทน

ผลรวมแต่ละอันตามแนวเฉียงหมายถึงความน่าจะเป็นในการแจกแจงที่เกิดขึ้น ตัวอย่างเช่นผลรวมของเซลล์สีแดงเท่ากับความน่าจะเป็นของลูกเต๋าสองอันรวมกับ 3 ความน่าจะเป็นเหล่านี้จะแสดงลงทางด้านขวาของแผนภาพประกอบ

เทคนิคนี้สามารถใช้ได้กับการแจกแจงแบบไม่ต่อเนื่องสองอันพร้อมการสนับสนุน จำกัด และคุณสามารถนำไปใช้ซ้ำได้ ตัวอย่างเช่นหากคุณต้องการทราบการกระจายของลูกเต๋าหกด้านสามด้าน (3d6) คุณสามารถคำนวณ 2d6 = d6 + d6 ก่อน จากนั้น 3d6 = d6 + 2d6

มี (ใบอนุญาต แต่ปิด) ฟรีเป็นภาษาโปรแกรมที่เรียกว่าเจ มันเป็นภาษาแบบอาเรย์ที่มีรากฐานมาจาก APL มีผู้ประกอบการในการดำเนินการผลิตภัณฑ์ด้านนอกและผลรวมตามแนวเฉียงในเมทริกซ์ทำให้เทคนิคที่ฉันแสดงค่อนข้างง่ายที่จะใช้

ในรหัส J ต่อไปนี้ฉันกำหนดคำกริยาสองคำ อันดับแรกคำกริยาdสร้างอาร์เรย์ที่แสดงถึง pmf ของ s-sided die ตัวอย่างเช่นd 6pmf ของแม่พิมพ์แบบ 6 ด้าน ประการที่สองคำกริยาconvพบผลิตภัณฑ์ชั้นนอกของสองอาร์เรย์และผลรวมตามเส้นเฉียง ดังนั้นconv~ d 6พิมพ์ pmf ของ 2d6:

d =: $%
แปลง = + // @ (* /).
|: (2 + i.11),: conv ~ d 6
 2 0.0277778
 3 0.0555556
 4 0.0833333
 5 0.111111
 6 0.138889
 7 0.166667
 8 0.138889
 9 0.111111
10 0.0833333
11 0.0555556
12 0.0277778

อย่างที่คุณเห็น J เป็นคนลึกลับ แต่สั้น


3

นี่เป็นคำถามที่ซับซ้อนอย่างยิ่ง โชคดีสำหรับคุณมีวิธีแก้ปัญหาที่แน่นอนซึ่งอธิบายได้ดีมากที่นี่:

http://mathworld.wolfram.com/Dice.html

ความน่าจะเป็นที่คุณกำลังหาได้จากสมการ (10): "ความน่าจะเป็นที่จะได้รับคะแนน p (การหมุนของ p) บนลูกเต๋าด้าน s"

ในกรณีของคุณ: p = คะแนนที่สังเกตได้ (ผลรวมของลูกเต๋าทั้งหมด), n = จำนวนของลูกเต๋า, s = 6 (ลูกเต๋า 6 ด้าน) นี่จะให้ฟังก์ชันมวลความน่าจะเป็นดังต่อไปนี้:

P(Xn=พี)=1snΣk=0(พี-n)/6(-1)k(nk)(พี-6k-1n-1)

ยินดีต้อนรับสู่เว็บไซต์ของเรา Felix!
whuber

1

Love the username! Well done :)

The outcomes you should count are the dice rolls, all 6×6=36 of them as shown in your table.

For example, 136 of the time the sum is 2, and 236 of the time the sum is 3, and 436 of the time the sum is 4, and so on.


I'm really confused by this. I answered a very recent newbie question from someone called die_hard, who apparently no longer exists, then found my answer attached to this ancient thread!
Creosote

คำตอบของคุณสำหรับคำถามที่stats.stackexchange.com/questions/173434/…ถูกรวมเข้ากับคำตอบของสำเนาที่ซ้ำกันนี้
whuber

1

คุณสามารถแก้ปัญหานี้ด้วยสูตรเรียกซ้ำ ในกรณีนั้นความน่าจะเป็นของการกลิ้งด้วยn ลูกเต๋าถูกคำนวณโดยม้วนด้วย n-1 ลูกเต๋า.

an(ล.)=Σล.-6kล.-1 และ n-1k6(n-1)an-1(k)

ขีด จำกัด แรกของ k ในการสรุปคือตัวเลขก่อนหน้าหกตัว เช่นถ้าคุณต้องการหมุน 13 ด้วยลูกเต๋า 3 ลูกคุณสามารถทำได้ถ้าลูกเต๋าสองลูกแรกหมุนระหว่าง 7 และ 12

ขีด จำกัด ที่สองสำหรับ k ในการสรุปคือขีด จำกัด ของสิ่งที่คุณสามารถหมุนด้วยลูกเต๋า n-1

ผลลัพธ์ที่ได้:

1 1 1  1  1   1
1 2 3  4  5   6   5  4   3   2   1
1 3 6  10 15  21  25 27  27  25  21  15  10  6    3   1
1 4 10 20 35  56  80 104 125 140 146 140 125 104  80  56  35  20  10   4   1
1 5 15 35 70 126 205 305 420 540 651 735 780 780 735 651 540 420 305 205 126 70 35 15 5 1  

แก้ไข: คำตอบข้างต้นเป็นคำตอบจากคำถามอื่นที่รวมเข้ากับคำถามโดย C.Ross

รหัสด้านล่างแสดงวิธีการคำนวณสำหรับคำตอบนั้น (สำหรับคำถามที่ขอ 5 ลูกเต๋า) ที่ดำเนินการใน R พวกเขาคล้ายกับการสรุปที่ดำเนินการใน Excel ในคำตอบโดย Glen B

# recursive formula
nextdice <- function(n,a,l) {
  x = 0
  for (i in 1:6) {
    if ((l-i >= n-1) & (l-i<=6*(n-1))) {
      x = x+a[l-i-(n-2)]
    }
  }
  return(x)  
}  

# generating combinations for rolling with up to 5 dices
a_1 <- rep(1,6)
a_2 <- sapply(2:12,FUN = function(x) {nextdice(2,a_1,x)})
a_3 <- sapply(3:18,FUN = function(x) {nextdice(3,a_2,x)})
a_4 <- sapply(4:24,FUN = function(x) {nextdice(4,a_3,x)})
a_5 <- sapply(5:30,FUN = function(x) {nextdice(5,a_4,x)})

@ user67275 คำถามของคุณถูกรวมเข้ากับคำถามนี้ แต่ฉันสงสัยว่าสิ่งที่คุณคิดว่าอยู่เบื้องหลังสูตรของคุณ: "ผมใช้สูตร: ไม่มีวิธีที่จะได้รับ 8: 5_H_2 = 6_C_2 = 15" ?
Sextus Empiricus

1

วิธีหนึ่งคือการบอกว่าความน่าจะเป็น Xn=k เป็นสัมประสิทธิ์ของ xk ในการขยายตัวของฟังก์ชั่นการสร้าง

(x6+x5+x4+x3+x2+x16)n=(x(1-x6)6(1-x))n

ดังนั้นตัวอย่างเช่นกับหกลูกเต๋าและเป้าหมายของk=22, คุณจะพบว่า P(X6=22)=1066. ลิงค์นั้น (ไปยังคำถาม math.stackexchange) ก็ให้แนวทางอื่นเช่นกัน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.