The Math Forum

Ask Dr. Math - Questions and Answers from our Archives
Associated Topics || Dr. Math Home || Search Dr. Math

Probability of a Sum on Multiple Dice

Date: 03/26/2001 at 07:11:15
From: Regan
Subject: Probability of getting a sum s on n dice with x sides


I want to be able to write a program for calculating the probability 
of getting a sum s on n dice with x sides.

I have seen the answer before and it uses binomial coefficients, but 
I can't find it again and I'm stuck.


Date: 03/26/2001 at 13:31:33
From: Doctor Rob
Subject: Re: Probability of getting a sum s on n dice with x sides

Thanks for writing to Ask Dr. Math, Regan.

You can figure this out by using generating functions.

The generating function for one die with x sides is

     f(z) = z + z^2 + z^3 + ... + z^x.

The coefficient of a term tells you how many ways you can roll the 
exponent of z in the term. In this case, for numbers from 1 to x, you 
can roll each in one way. For other numbers, like 0 and numbers 
greater than x, you can roll them in zero ways. Thus the above 
generating function is right for one die. For two dice, square the 
above function. For n dice, raise it to the nth power. Then you want 
the coefficient of z^s in that expression. When calculating this 
coefficient for some specific value of s, you can do the arithmetic 
and ignore all powers of z with exponents bigger than s. If you want 
all the probabilities, you can ignore all exponents bigger than 
(n*x+1)/2, because the number of ways of rolling s is the same as the 
number of ways of rolling n*x+1-s, and if one is larger than 
(n*x+1)/2, then the other is smaller.

To express this in binomial coefficients, you can write:

       f(z) = (z - z^[x+1]) / (1 - z)

     f(z)^n = [(z -z^[x+1]) / (1 - z)]^n

            = z^n * (1-z^x)^n * (1-z)^(-n)

                     n                               n
            = z^n * SUM (-1)^k * C(n,k) * z^(x*k) * SUM C(n+i-1,i) * z^i
                    k=0                             i=0

               n   n
            = SUM SUM (-1)^k * C(n,k) * C(n+i-1,n-1) * z^(n+x*k+i)
              k=0 i=0

Now the coefficient of z^s in this will be given by:

       SUM  (-1)^k * C(n,k) * C(s-x*k-1,n-1)

This is the formula you seek.

For example, if x = 6, n = 4, and s = 13, then the coefficient of z^13 

       SUM   (-1)^k * C(4,k) * C(12-4*k,3)

     = (-1)^0 * C(4,0) * C(12,3)  +  (-1)^1 * C(4,1) * C(6,3)

     = 220 - 4*20
     = 140

This is the coefficient of z^13 in:

   * (1 - 4*z^6 + ...)
   * (1 + 4*z   + 10*z^2 +  20*z^3 +  35*z^4 +  56*z^5 + 84*z^6 +
                         + 120*z^7 + 165*z^8 + 220*z^9 + ...)

Thus there are 140 ways to roll 13 with four 6-sided dice.

- Doctor Rob, The Math Forum   
Associated Topics:
College Probability

Search the Dr. Math Library:

Find items containing (put spaces between keywords):
Click only once for faster results:

[ Choose "whole words" when searching for a word like age.]

all keywords, in any order at least one, that exact phrase
parts of words whole words

Submit your own question to Dr. Math

[Privacy Policy] [Terms of Use]

Math Forum Home || Math Library || Quick Reference || Math Forum Search

Ask Dr. MathTM
© 1994- The Math Forum at NCTM. All rights reserved.