The Game of Craps -- A Fair Game?

A simplied version of the game of craps is described as follows:  a pair of dice are rolled by a player
• if the sum of the dice is either 7 or 11 then the player wins immediately;
• if the sum of the dice is either 2, 3, or 12 then the player loses immediately;
• if the sum is one of the game points 4, 5, 6, 8, 9, or 10 then the pair of dice are rolled repeatedly until either the same game point appears (wins!) or a sum of 7 appears (loses)
It can be shown that, given that a pair of fair dice are used, the game is not fair!  In fact, the probability of winning the game in such a case is 49.2929...% (below 50%!)  The following is to investigate the game of craps if we allow the pair of dice be shaved in like manner in that:
• first note that the points on two opposite sides sum to 7, that is 3-4, 2-5, and 1-6 are the three pairs of opposites
• shave two opposite sides so that, for example if 3-4 sides are shaved, P(T=3) = P(T=4) = (1/6) + 2µ, and P(T=1) = P(T=6) = P(T=2) = P(T=5) = (1/6) - µ, where T is the sum of the dice and µ is the shaved amount.  Here we allow a negative shaved amount which means actually the opposite of shaving -- makes 3-4 sides fatter.  A positive shaved amount makes the dice thin on 3-4 sides.

The function we use in R to compute the probability of winning (in addition, the expected number of rolls per round of the game)  is craps.theory which can be downloaded from

or you can source the above R code directly within R by furnishing its URL to the R command source.

Comprehensive formulas can be derived:
P(win) = p7 + p11 + p42/(p4+p7) + p52/(p5+p7) + p62/(p6+p7) + p82/(p8+p7) + p92/(p9+p7) + p102/(p10+p7)
E[rolls] = 1 + p4/(p4+p7) + p5/(p5+p7) + p6/(p6+p7) + p8/(p8+p7) + p9/(p9+p7) + p10/(p10+p7)
where pi is the probability of obtaining a sum of i in a single roll of the dice.

> objects()   # show user's folder
character(0)
> # A source-able version of this page can be found in
> #    http://www.stat.wmich.edu/wang/667/R/craps2.R containing
> #    all commands below
> s667Rsource <- "http://www.stat.wmich.edu/wang/667/R"
> source(paste(s667Rsource,'crapstheory.R',sep='/'))
> objects()   # show user's folder now
[1] "craps.theory"      "s667Rsource"
> save.image()  # save CURRENT image
> x <- seq(-1/12,1/6,1/600)     # seqUENCE of various amounts of shaving
> runs <- p <- matrix(0,length(x),3)            # P(win)'s and E[runs]'s
> for(j in 1:3) for(i in 1:length(x)){ # for each shaved side and amount
+  y <- craps.theory(shaved=x[i], side=j)        # find P(win) & E[runs]
+  p[i,j] <- y\$Pwin
+  runs[i,j] <- y\$Eruns
+ }
> pdf(file="a:/craps2.pdf",width=7,height=4,
+     pointsize=11)           # open a graphic device, in this case, PDF
pdf::a:/craps2.pdf
2
> par(mfrow=c(1,2),        # 1 ROW, 2 COLUMNS mULTIPLE fIGURES, row-WISE
+     mar=c(4,4,3.1,1),         # LINES OF BOT, LEFT, TOP, RIGHT marGINS
+     oma=c(2.1,0,2.1,0)) # LINES OF BOT, LEFT, TOP, RIGHT oUTER maRGINS
>
> matplot(x,p[,3:1],type="l",lwd=2,xlab=expression(mu),ylab="p",
+         main="Winning Probability")            # lINE-TYPE matRIX plot
>  legend(-0.07,0.65, legend=paste("side",3:1), lty=1:3, col=1:3, lwd=2)
>  abline(h=0.5, lty=5, col="blue") # hypothetically fair game should be
>
> matplot(x,runs[,3:1],type="l",lwd=2,xlab=expression(mu),ylab="tosses",
+       main="Expected Tosses")
> legend(-0.05,2.3, legend=paste("side",3:1), lty=1:3, col=1:3, lwd=2)
> abline(h=craps.theory()\$Eruns, lty=5, col="purple")
+       label="dice")
+       label="fair")
> mtext(side=3,outer=T,line=0.5,text="Game of Craps",cex=2)
> mtext(side=1,outer=T,line=0.5,text="shaved evenly on opposite sides")
> dev.off()                               # (CLOSE) off GRAPHICAL devICE
null
1

In the graph of Winning Probability, the three curves cross at µ = 0, giving probability of winning (= 0.492929...). That is, the game is not fair when it's played with fair dice (what?).  With suitable amount of identical shaving on 3-4, 2-5, or 1-6 sides of the dice, the game can be made fair.  A PDF version is also available in craps2.pdf.