A Pair Of Dice Which Never Roll 7

Introduction

Some friends of mine play the board game
Settlers Of Catan.
In this game, each player rolls two ordinary dice on their turn, and
the number which comes up determines what resources people get for
the turn. When a seven is rolled, something special happens: no
resources are generated, and instead a robber moves on the board.

After playing this game for a while, my friends felt that although
the game would get a bit dull without any sevens, they were
rather unhelpful in the initial phase of the game: when everybody is
trying to collect lots of resources to get started with, rolling a
seven slows everyone down. So we adopted a "house rule" which said
that during the first two full rounds, if anyone rolled a seven,
they should immediately re-roll until they got something else. After
a couple of rounds, once the game had got going, sevens became a
permitted dice roll again.

Although I approve of the aim (to make the game get started more
quickly), I didn't much like the mechanism; re-rolling a pair of
dice until you get a result you like seemed ugly. So I set out to
design a special pair of dice which would produce the numbers 2 to
12 with the same relative probabilities as the ordinary
2d6, but which never rolled 7.

This sounds pretty unlikely, but it's just about possible. In this
page I explain how it's done.

Construction

An ordinary pair of dice can roll any number from 2 to 12, but not
all with the same probability. The easiest way to see this is to
label the individual dice to distinguish them (I'm going to call
them R and C, for "row" and "column"), and draw a table showing the
possible outcomes:

So out of the 36 possible combinations that can come up, only one
results in a 2 (both dice have to show 1), only one results in a 12
(it requires two sixes), but a seven can come up in six different
ways and is therefore six times more probable.

The idea I hit on was to reorganise this grid. With six
entries reading 7, I thought it might be an interesting experiment
to put them all in the same column:

That leaves a 5-by-6 square. Interestingly, we have to place 5
instances of the number 6 in the remaining space, and also 5
instances of the number 8. I thought those would fit nicely across
two rows of this 5-by-6 rectangle:

This leaves a rectangle four spaces high, and it just happens that I
have four 9s and four 5s to place, so let's place those in two of
the columns:

And so it goes on. In two rows of the remaining 3-by-4 space we
place the three 4s and the three 10s; in two columns of the
remaining 3-by-2 we place the two 3s and the two 11s; and in the two
remaining single spaces we place the single 2 and the single 12.

This reorganised grid contains the same set of numbers as the grid
we originally started with, and each number appears exactly as many
times in the new grid as in the original one. So if you roll two
(distinguishable) ordinary dice, and look up the results in this
table (for example, if die R rolled 3 and die C rolled 5, you'd look
up the overall result in row 3 column 5 and find it was 4), then you
will find that this technique gives you exactly the same
distribution of numbers which you'd expect from ordinary dice.

Of course, having to use a look-up table every time you roll your
dice is a bit silly. Better to re-label the dice to make the table
unnecessary. And it turns out this is fairly easy:

The entire first column of the table is full of 7s. So it makes
sense to label that face of the C die "7", since if it comes up then
the answer is 7 no matter what the other die does.

The first two faces of the R die should be labelled "6" and "8",
since that will be the result if one of those faces comes up
(unless the C die shows 7).

Similarly, the next two faces of the C die should be labelled 5 and
9, and so on.

The last face of the C die we leave blank. If that face
comes up, then the result is whatever is shown on the R die.

So after we relabel the dice, the outcome grid now looks like this:

Now all we need is a way to remember which numbers take priority
over which other numbers. The rule is: 7 beats 6 and 8, which in
turn beat 5 and 9, which beat 4 and 10, which beat 3 and 11, which
beat 2 and 12, and everything beats the blank. So we add
dots to the faces: six dots on the 7, five on the 6 and the
8, four on the 5 and the 9, three on the 4 and the 10, two on the 3
and the 11, one on the 2 and the 12, and nothing on the blank face.

So our dice now look like this:

And the procedure is: roll both dice, and choose whichever of the
two uppermost faces shows more dots. (No draw is possible,
since any two faces with the same number of dots appear on the same
die.)

So, after all this work, I've constructed an alternative way of
labelling a pair of cubical dice, which gives exactly the same
probability distribution as the normal approach of adding up the two
numbers rolled. How has this helped me to construct dice which don't
roll sevens?

The answer is that 7 is now a property of one of the dice,
rather than a property of the combination of the two. All I have to
do to convert these dice into a non-7-rolling pair is to remove the
7 face from the C die, turning it into a five-sided die with faces
3, 5, 9, 11 and blank. This modified pair of dice has the following
outcome table:

So it will roll everything other than 7 with the correct relative
probabilities, but it can never roll a 7 itself, because there isn't
a 7 face anywhere to be seen. Bingo!

Actually making a d5 would be difficult. Instead, I bought
a standard d10 (two five-sided pyramids back to back), and painted
pairs of faces the same.

Extension

The above construction fulfilled my original goal. I acquired some
blank dice and labelled them in the way I've described (I couldn't
find a blank d10 so I had to paint out the numbers on an ordinary
one), and when I'd finished, I had two "odd" dice (one cubical, with
a 7, and one shaped like a d10, without a 7) and one "even" die.
Roll the two cubical dice, and you get an ordinary 2d6 distribution;
roll the even die with the strangely shaped odd die, and you get the
same thing but with no 7s.

However, there was one remaining problem. Settlers of Catan has an
extension, called "Cities and Knights". In this game, one of the
dice is red, and that die has a special function: the total
of the two dice still determines the resource generation for the
turn, but the single number shown on the red die has an additional
effect of deciding who gets special cards. My dice don't provide
this extra information. And you can't just roll an ordinary die
alongside my two, because that gives rise to combinations which
would have been impossible with ordinary dice (there's no way the
red die can show 6 if both dice total 4, for example). So it appears
that my dice can't be used for Cities and Knights without changing
the nature of the game.

Or can they?

They can certainly work in principle. All you need to do is
to annotate each entry in the outcome grid with an additional number
indicating the value on the red die. Going back to the ordinary 2d6,
the annotated grid looks like this (let's have R be the red die):

This grid isn't terribly easy to read, but it at least shows which red
numbers can go with which total numbers:

If the total is 2, the red number must be 1.

If the total is 3, the red number can be 1 or 2.

If the total is 4, the red number can be 1, 2 or 3.

If the total is 5, the red number can be 1, 2, 3 or 4.

If the total is 6, the red number can be 1, 2, 3, 4 or 5.

If the total is 7, the red number can be 1, 2, 3, 4, 5 or 6.

If the total is 8, the red number can be 2, 3, 4, 5 or 6.

If the total is 9, the red number can be 3, 4, 5 or 6.

If the total is 10, the red number can be 4, 5 or 6.

If the total is 11, the red number can be 5 or 6.

If the total is 12, the red number must be 6.

So what we could do is to take the outcome grid for my
modified dice, and arbitrarily put these annotations in some order:

This works on paper: it generates both the total and the red number,
with the same distribution as the original 2d6, and removing the 7
face on the C die still does the right thing. But it's ugly, because
there's no particular structure to the arrangement of the red numbers
in the grid, so we're back to needing a lookup table. It would be much
nicer if we could find some way to arrange the red numbers which made
it possible to figure out what was going on without a lookup
table.

After some experimentation, I discovered that it all looks much nicer
if you sort the faces of the dice into numerical order, counting
"blank" as zero. This makes the totals grid look a lot less obvious:

But it produces an astonishingly simple way to arrange the red
numbers. In this grid I'm going to show only the red numbers,
to make it clearer just how simple this is:

I have honestly no idea whatsoever why this is so beautifully
symmetric. My dice aren't symmetric; I've removed all the
symmetry between the dice in the course of making my strange
mechanism work. Yet, for no obvious underlying reason, this
completely regular arrangement of red numbers just works,
producing the right set of possibilities for every possible total.
This was totally unexpected to me, and I still don't really understand
it. But there it is.

So, given this arrangement, it's not too hard to find some extra
labels to put on the faces of my dice. The simplest thing is to write
red numbers on the faces of the even die, so that 2, 4, 6, 8, 10 and
12 are annotated with the numbers 1, 2, 3, 4, 5 and 6 respectively.
Then we annotate the odd die as follows:

The blank face remains completely blank, indicating that the red
number on the even die is the correct red number.

The 3 face is labelled "+1": you add 1 to the red number shown on
the even die (6 is considered to "wrap round" and go back to 1.)

The 5 face is labelled "+2": you add 2 to the red number on the
even die (5 wraps round to 1, 6 wraps round to 2).

On this basis, the 7 face could be labelled "+3" or "-3", but
since the only actual requirement is that every possible red
number should be able to come up when the total is 7, the simplest
thing is just not to annotate the 7 face at all. This breaks the
beautiful symmetry of the table, but it's easier when actually rolling
the dice.

So our completed dice now look like this:

Now the procedure is: roll both dice. To find the total, choose
whichever of the two uppermost faces shows more dots. To find the red
number, take the red number shown on the even (R) die, and modify it
by the amount shown on the odd (C) die if any. If an addition takes
you above 6, subtract 6 from the result; if a subtraction takes you
below 1, add 6.

And, once again, removing the 7 face from the odd die produces a pair
of dice which never roll 7, and this time they generate both totals and
red numbers, so these could be used for Cities and Knights.

Evaluation

The mechanism I've described above works nicely on paper, but
unfortunately it has a practical disadvantage, which is that it's
unusually sensitive to imperfections in the dice.

The normal procedure of rolling 2d6 and adding the values together
has the effect of spreading out the overall effect of an
imperfection. Suppose you roll two normal dice, for example, and one
of them is a bit more likely to roll a 3 than it should be. The
effect on the overall distribution of the sum of both dice is that
4, 5, 6, 7, 8 and 9 are all more likely than they should be, but by
one sixth as much, because the random value from the other die
distributes the error over a wide range. So the normal procedure is
naturally quite tolerant of faults (or even deliberate weighting) in
the dice.

Not so with the mechanism I describe above. If the even die rolls 8
25% more often than 6, then 8 will come up 25% more often than 6 in
the overall result; the whole of the error in one die is
propagated to the overall result. And because Settlers treats every
distinct roll of the dice as qualitatively different rather
than just a bit more or less of a continuously varying quantity,
minor imperfections in the dice have a severe and noticeable impact
on the game play. In actual fact, since starting to play Settlers
with my dice, we have been constantly annoyed by apparently unfair
behaviour of the dice over the course of entire games; we haven't
gone as far as doing actual statistical tests of my dice's accuracy,
but it certainly seems possible that the phenomenon I
describe here is to blame.

A really obvious alternative approach would have been to roll a d6
(labelled 1-6 as usual) and a d5 (also labelled 1-5 in the obvious
way), add the results, and then add one if it was 7 or more. (This
generates the Cities and Knights red numbers trivially, as well:
simply let the d6 be the red one.) I initially discarded this
approach because it felt inelegant; I wanted my dice to roll (say) a
9 by producing something which was
obviously a 9, rather than producing something that looked
like an 8 and requiring you to remember to convert it into a 9. (In
particular, one manifestation of this elegance property is that with
my mechanism the procedure for calculating the outcome is the same
whichever of the two odd dice you're currently using.)
Unfortunately, this inelegant approach might well have been more
practical in terms of tolerating flawed dice.

A reader familiar with the range of dice available in roleplaying
and gaming shops might also have noticed that a 5×6 outcome
grid contains 30 possibilities in total, and that you can actually
buy 30-sided dice, so taking a d30 and labelling it 2, 3, 3, 4, 4,
4, 5, 5, 5, 5, 6, 6, 6, 6, 6, 8, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10,
11, 11, 12 would have been a simpler solution still. This might have
been a bit fault-intolerant at the extreme ends of the range (with
only one 2 face and only one 12 face, having a noticeable imbalance
between them would be easy), but it would probably work acceptably
in the middle of the range (which is where Settlers players seem to
like to spend most of their time if they can arrange it) because
with five separate 8 faces a significant imbalance would be harder
to arrange. However, the real practical problem with this approach
is that it's quite hard to find a d30 large enough to paint
replacement labels on!