201
Views
0
CrossRef citations to date
0
Altmetric
Original Articles

Building Sets of Permutation-Fair Dice

ORCID Icon
Received 22 Feb 2023, Accepted 04 Oct 2023, Published online: 13 May 2024

Abstract

We define what it means for a set of dice to be m/n permutation fair. We show how some collections of sets of m/n permutation-fair dice can be combined to create new sets of dice that are (m+1)/n permutation fair. By applying this method recursively, we show that our method is generic. That is, it can be used to create sets of dice that are m/n permutation fair for all m and n. We show that our method is more efficient than what we call the concatenation construction, which is the only other known generic method for constructing sets of permutation-fair dice. We conclude by demonstrating how our method can be used to construct a set of five 120-sided dice that is permutation fair.

1 Introduction

Many tabletop games are designed so that players take turns interacting with the game’s mechanisms. As such, the players need some way to determine the order in which they will take their turns, i.e. the turn order. For some games, the turn order can significantly affect how the players will play the game and the players will need a way to determine the turn order that is “fair”.

One option is to have each player roll a standard die. If no two players roll the same number then the results of their rolls can be used to determine a turn order, perhaps by specifying that players should take turns in descending order according to the values of their rolls. If two or more players do roll the same number, then those players can break the tie by rolling their dice again. With high probability, only a few rounds would be required to determine a complete turn order.

Suppose that, instead of using standard dice, each player uses a die from a set of n nonstandard dice with the following properties:

  • No number appears on more than one face of any die in the set, so rolling this set of dice always yields a result with n distinct numbers.

  • The face values are arranged such that if all n dice are rolled and then sorted according to the resulting values, then all n! permutations of the dice are equally likely.

We will say that such a set of dice is permutation fair. By using a set of dice that is permutation fair, the players can determine the turn order for their game in a single round. gives one example of a set G of dice that is permutation fair. This set was discovered by Eric Harshbarger and Robert Ford in 2010 (see [Citation1]).

Table 1 A set of four 12-sided dice that are permutation fair.

Notice that if there are fewer than four players, then they can still use G to determine a turn order. This is because if a set of dice is permutation fair, then every subset of that set of dice is permutation fair as well. But what if there are more than four players? It has been shown (see [Citation2]) that for all nN there are sets of n dice that are permutation fair. So, in principle, by using an appropriate set of permutation-fair dice any number of players can determine a turn order. In practice, the situation is more complicated because the best known generic constructions for permutation-fair sets produce dice with a prohibitively large number of faces.

For example, the construction in [Citation2] produces a set of n dice that have (n!)n1 faces. When n = 4 this construction therefore yields a set of four 13,824-sided dice. When n = 5 it yields a set of five 207,360,000-sided dice. Recall, however, that we have seen that there exists a set of four 12-sided dice that are permutation fair. It is then natural to ask, for each n, what is the minimum number of sides necessary to construct a set of n permutation-fair dice? Can we find examples that realize this lower bound? If not, what are the smallest examples that we can find?

Our Contributions

In this paper, we will explore the answers to these questions. We will introduce a novel technique that can be used to construct sets of relatively small dice that are permutation fair. In particular, we will describe how this technique can be used to construct a set of five 120-sided dice that is permutation fair. To the best of our knowledge, our construction is the most efficient known construction for a set of five dice that are permutation fair. The best previously known construction (see [Citation1]) requires five 180-sided dice while the generic construction mentioned above would require five 207,360,000-sided dice.

Our approach to the problem involves working with sets of dice that satisfy weaker symmetry constraints than those required for permutation-fair dice. More precisely, we consider sets of n dice that have the property that every subset of m of those dice is permutation fair. We say that such a set of dice is m/n permutation fair. Observe that the property that we have called permutation fairness to this point is equivalent to a set of dice being n/n permutation fair. Our construction is predicated on the observation that, by combining carefully chosen sets of dice that are m/n permutation fair, we can construct a set of dice that is (m+1)/n permutation fair.

We formulate the problem of choosing sets of dice that are m/n permutation fair to work with as the solution to a integer linear programming (ILP) problem. This allows us to use existing implementations of algorithms to solve ILP problems to find suitable sets of dice or prove that no such sets exist. In our work, we used the ILP solver CBC (see [Citation3]). We used the Python package PuLP (see [Citation4]) to describe our problems, interface with the ILP solver, and process the resulting output.

Practical Considerations

There are many other efficient ways in which a group of players could fairly determine a turn order. These include simply identifying each player with a unique card, shuffling those cards together, and then dealing the cards out one at a time to determine the turn order. This protocol is simple, efficient, and will never require more than a single round to execute. Even the protocol using standard dice described above will be sufficient in most cases because the probability that more than a few rounds will be required is vanishingly small.

While the motivating problem might be more easily solved by the other methods suggested, there is still an important distinction which should be made. Fairly determining a turn order is a proxy for a particular kind of resource allocation problem. At the conceptual level, permutation-fair dice are a solution for an environment which has no central authority and which requires an asynchronous protocol with fixed runtime.

2 Related Work

According to [Citation1], the earliest work on permutation-fair dice was motivated by a question asked by James Ernest in 2010. He asked if it might be possible to construct a set of dice with somewhat nebulously defined “go first” properties. Eric Harshbarger and Robert Ford started working on the problem at that time and together are responsible for many of the fundamental results in the field.

Types of Fairness

Among their earliest contributions was to establish a taxonomy of three different kinds of fairness that a set of “go-first dice” might exhibit.

  1. Go-first fairness: A set of dice is go-first fair if, when all of the dice in the set are rolled, every die has an equal probability of displaying the largest value.

  2. Place fairness: A set of dice is place fair if, when all of the dice in the set are rolled and then sorted according to the resulting values, every die has an equal probability of ending up in each place in the resulting ordering.

  3. Permutation fairness: A set of dice is permutation fair if, when all of the dice are rolled and then sorted according to the resulting values, every possible ordering of the dice occurs with equal probability.

Notice that permutation fairness implies place fairness and place fairness implies go-first fairness. As such, as discussed in the introduction, we will focus our attention on the search for sets of dice that are permutation fair.

Size Constraints

During their initial investigations, Harshbarger and Ford also identified the following condition that a set of permutation-fair dice must satisfy.

Proposition 1.

If S is a set of n d-sided dice that is permutation fair and {pi} are the distinct prime factors of n!, then ipi|d.

Proof.

There are dn equally likely possible outcomes when the dice in S are rolled. Because S is permutation fair, we can partition these outcomes into n! equal parts and so we must have n!|dn. So, for all i we must also have pi|dn. Therefore for all i we have pi|d and the result follows immediately. □

Among other things, Proposition 1 sets a lower bound for the size of the dice in a set that is permutation fair. Notably, we see that if S is a set of five d-sided dice that is permutation fair, then d30.

Construction Methods

The first sets of permutation-fair dice were discovered using a combination of computer searches and bespoke mathematical analyses (see [Citation1]). Since that time, however, at least three construction methods have been devised.

  • Induction Construction: This construction (see [Citation5, Citation6]) provides a way to augment a set of n/n permutation-fair dice to create a set of (n+1)/(n+1) permutation-fair dice. A curious feature of the sets of dice created via this method is that they are often inhomogeneous. That is, sets that can be realized using dice that are not all the same size. The induction construction is believed to have been originally used by Paul Vanetti before being described more fully by Robert Ford.

  • Binary Construction: This construction (see [Citation5]) identifies a class of dice that can represented by an array of bits. It can be shown that there are constraints that such an array must satisfy if it is to represent a set of dice that are go-first fair. Furthermore, it is possible to efficiently search the space of candidates that satisfy these constraints to identify sets of binary dice that are place fair or permutation fair. The binary construction was originally described by James Grime and Brian Pollock who used this method to find a set of five 60-sided dice that are place fair.

  • Concatenation Construction: This construction (see [Citation2]) provides a way to augment a set of m/n permutation-fair dice to create a set of (m+1)/n permutation-fair dice. This method can be used to build sets of n d-sided dice that are m/n permutation fair where d=(n!)m1. The concatenation construction was originally described by Tomáš Gavenčiak and Václav Rozhoň.

The techniques presented in this paper are a refinement of the concatenation construction. The concatenation construction can be understood as a sequence of operations, each of which multiplies the number of sides on the dice in the resulting set by n!. We show how to reduce the cost of some of these operations. As an extreme example, consider the case of augmenting a set of 3/n permutation-fair dice to create a set of 4/n permutation-fair dice. Using the concatenation construction, the multiplier associated with this operation would be n!. Using our improvements, however, for all n the multiplier associated with this operation is 2.

Other Work

Permutation-fair dice are a subclass of nonstandard dice. While the study of permutation-fair dice is a relatively new field, there is an extensive body of work addressing the properties of other types of nonstandard dice.

One particularly rich vein can be traced back to a series of three papers by Steinhaus and Trybuła in the 1960s (see [Citation7, Citation8], and [Citation9]). These papers establish some fundamental properties of what are known as nontransitive dice. This work was popularized by Martin Gardner in an article written for the Mathematical Games column in Scientific American in 1970 (see [Citation10]).

Nontransitive dice are often used as an example of a “paradoxical” phenomenon that can occur when considering three or more random variables. To wit, suppose that for all pairs of random variables (X, Y) we write XY if P{X>Y}>1/2. If X and Y represent two dice, then the statement P{X>Y}>1/2 can be interpreted as meaning that when the two dice are rolled and the resulting values compared, die X will “beat” die Y more than half of the time. If S={A,B,C} is a set of dice such that AB, BC, and CA, then we say that S is nontransitive.

Of the papers that discuss nontransitive dice, those that are most closely related to the study of permutation-fair dice are those that are concerned with the probability that two dice will be tied. Here we say that the dice X and Y are tied if P{X>Y}=1/2. These include the work of Traldi et al. (see [Citation11, Citation12]), Schaefer et al (see [Citation13, Citation14]), and Hur and Kim (see [Citation15]). Notice that S is a set of n tied dice if and only if it is 2/n permutation fair.

One limitation of the work on tied dice is that it is concerned only with the properties of pairs of dice. With permutation-fair dice, we are concerned with the properties of an entire set of dice. If we return our attention to the more general study of nonstandard dice, however, we can find some studies of nontransitive dice that work with the joint properties of large ensembles of dice. Most prominent among these are a series of papers that examine the relationships between various sums of multiple copies of each dice in a set. These include the work of James Grime (see [Citation16]) and that of Buhler, Graham, and Hales (see [Citation17]).

Physical dice

An appealing feature of the permutation-fair dice described in is that they can be realized using a physical set of four 12-sided dice. It has been shown (see [Citation18]) that isohedra can be used to create physical dice that are fair in the sense that they have the same chance of landing on each face after a vigorous roll. Recall that the disdyakis tricontahedron is a Catalan solid that has one hundred twenty faces. Because every Catalan solid is an isohedron [Citation19], we see that our set of five 120-sided permutation-fair dice can be realized as a physical set of fair dice as well.

3 Notation and Terminology

In what follows, it will be useful to adopt a different representation of a set of dice. Recall that we have assumed that no number appears on more than one face of any die in a given set. Also, we are only concerned with the relative values on the faces of the dice. So, we can assume that all of the face values in a set of n d-sided dice are drawn from the set {1,2,,nd}.

String representations

Given a set S of dice, we can define a string representation s=(s1,,sr) of S. To do so, we first assign a distinct label for each die in S. Then, we let the ith character of s be the label for the die on which the value i appears.

  • If s is a string of length r, then we will write si=(s1,,si) to denote the first i characters of s, s>i=(si+1,,sr) to denote the last ri characters of s, and si1ji2=(si1,,si2) to denote a contiguous substring of s.

  • If s is a string, and σ is a permutation on the characters that comprise s, then we will write σ(s)=(σ(s1),,σ(sr)) to denote a relabelling of s.

  • If s is a string, then we will write s=(sr,,s1) to denote the reverse of s.

  • If s and t are any two strings, then we will write s||t=(s1,,sr,t1,,tr) to denote the concatenation of s and t. If S and T are sets of dice with string representations s and t, respectively, then we will write S||T to denote the set of dice with string representation s||t.

Example 2.

Consider the set G of dice described in . If g is the string representation of G then we have g=abcddcba dbaccabd cbaddabc cbaddabc dbaccabd abcddcba.

Patterns

It will also be useful for us to be able to describe the outcome when we roll some subset of a given set of dice. We will say that x is a pattern of length m if x is a string comprised of a single instance of m distinct labels.

  • If x is a pattern, then we will write |x| to denote the length of x.

  • If x is a pattern and s is a string, then we will say that x appears in s if we have x=(si1,,sim) with i1<<im.

  • If x is a pattern and s is a string, then we will write (x;s) to denote the number of times x appears in s. That is, (x;s)=|{i1<<im|x=(si1,,sim)}|.

To compute the number of times a pattern x appears in a string s, we can group those appearances according to where the last character of x appears in s. That is, if |x|=m then we have (1) (x;s)=i:si=xm(xm1;si1).(1)

So, by recursively applying (1), we can efficiently compute (x;s). Given a set S of dice with string representation s, we can verify that S is m/n permutation fair by computing (x;s) for all x with |x|=m.

Permutation Fairness

Using the language of strings and patterns, we can make a precise statement of what it means for a set of dice to be permutation fair.

Definition 3.

We will say that a set S of n d-sided dice with string representation s is m/n permutation fair if, for every x such that |x|=m, we have (2) (x;s)=dmm!.(2)

Example 4.

Consider the set S={S1,S2,,Sn} of n 2-sided dice with face values S1={1,2n},S2={2,2n1},,Sn={n,n+1}. Notice that for any pattern x with |x|=2 we can compute (x;s)=2=22/2! which is consistent with our precise definition of permutation fairness given above.

4 An Improved Concatenation Construction

Before we state our main theoretical result, it will be useful to consider a simple motivating example which was discovered by Eric Harshbarger and Robert Ford in 2010 (see [Citation1]). Note that while this example illustrates the concepts that we use in our construction, it was found using an ad hoc manual search rather than by the methods that we describe in this paper.

Example 5.

Consider the set F of 3/3 permutation-fair dice described in that has string representation f=abccba bcaacb cabbac.

Table 2 A set F of three 6-sided dice that are permutation fair.

Notice that f can be decomposed into three blocks of six characters and that each block is a palindrome in which each label appears twice. In fact, each block is the string representation of a set of dice that is 2/3 permutation fair. In [Citation2], the authors describe a generic construction for creating (m+1)/n permutation-fair sets of dice by concatenating n! different sets of m/n permutation-fair dice. In this case, n!=6 but only three sets of 2/3 permutation-fair dice were required to create a set of 3/3 permutation-fair dice. To understand why, we counted how many times each pattern of length three appeared in each block. The resulting values are described in . Notice that the sum of the values in each row of is the same.

Table 3 Counts for each three-long pattern in the blocks of f.

While the three blocks that comprise f in the preceding example are not 3/3 permutation fair, they have been carefully chosen to be compatible. That is, the ways in which they are unfair cancel out when they are combined via concatenation. The following theorem extends this idea to the general case and, in particular, proves that the preceding example is indeed 3/3 permutation fair. It provides a criterion which ensures that a collection of m/n permutation-fair sets of dice can be combined via concatenation to create a set of (m+1)/n permutation-fair dice.

Theorem 6

(Lifting Theorem). Suppose that for all 1ik, Si is an m/n permutation-fair set of di-sided dice with string representation si. If there exists a constant C such that for all patterns x with |x|=m+1 we have (3) i=1k(x;si)=C,(3) then S=S1||||Sk is a set of dice that is (m+1)/n permutation fair.

Proof.

Let s=s1||s2||||sk. We can decompose the quantity (x;s) into a sum of products by grouping the appearances of x according to which part of s that each substring of x appears in. That is, suppose that the first i1 components of x appear in s1, the next i2 components of x appear in s2, and so on. Let i1=i1 and for all 2jk let ij=ij1+ij. Using this decomposition we see that (4) (x;s)=i1++ik=m+10i1,i2,,ikm+1(x1ji1;s1)(xi1<ji2;s2)(xik1<jik;sk).(4)

We can use the fact that each part of s is m/n permutation fair to compute the contribution of each partition with 0i1,i2,,ikm. Observe that, if S is m/n permutation fair, then S is l/n permutation fair for all lm. So, we have (5) (x1ji1;s1)(xi1<ji2;s2)(xik1<jik;sk)=d1i1i1!d2i2i2!dkiki1!.(5)

Notice that the condition 0i1,i2,,ikm holds unless every component of x appears in the same part of s. So, (5) shows that the contributions of partitions that are distributed across more than one part of s do not depend on x. We can conclude that for all patterns x with |x|=m+1 there exists some constant D such that (6) (x;s)=D+i=1k(x;si)=D+C.(6)

Therefore each pattern of length m + 1 appears the same number of times and we can conclude that S is (m+1)/n permutation fair. Finally, notice that this result does not depend on the order in which the Si are concatenated. □

5 Finding Compatible Sets of Dice

We now turn our attention to the task of actually finding new sets of permutation-fair dice. Notice that while Theorem 6 provides a guarantee that certain sets of m/n permutation-fair dice can be combined to create a set of (m+1)/n permutation-fair dice, it does not provide a way to find such compatible sets of dice. Now, we will describe several techniques for doing so.

Analytic techniques

Our first approach is predicated on the fact that the labels that we assign to the dice in a given set are arbitrary. This implies that if s is the string representation for a set S of dice, then σ(s) is the string representation for a set T of dice that is equivalent in some sense to S. In particular, T will have the same fairness properties as S. More precisely, we have the following proposition.

Proposition 7

(Relabelling Theorem). If S is a set of dice that has string representation s and σ is a permutation on the set of characters that comprise s, then s is m/n permutation fair if and only if σ(s) is m/n permutation fair.

Proof.

Because for all patterns x we have (x;σ(s))=(σ1(x),s)), the result follows immediately from the definition of m/n permutation fairness. □

Proposition 7 provides a way to generate multiple sets of m/n permutation-fair dice from a single seed. As described in [Citation2], the set of all possible permutations applied to a set of m/n permutation-fair dice can be combined via concatenation to form a new, and much larger, set of dice that is (m+1)/n permutation fair. The following theorem is a restatement of this result using the language developed in this paper.

Theorem 8.

Suppose that S is a set of m/n permutation-fair dice with string representation s, and that {σi}i=1n! is the set of all permutations on the characters that comprise s. If t=σ1(s)||||σn!(s), then t is the string representation of a set of dice that is (m+1)/n permutation fair.

Proof.

Notice that for all i and x, (x;σi(s))=(σi1(x);s). Notice also that for all 1in! we have (7) x:|x|=m+1(x;σi(s))=(nm+1)dm+1.(7)

Because iσi(x) is a (n|x|)!-to-1 map, we can conclude that for all patterns x with |x|=m+1 we have (8) i=1n!(x;σi(s))=i=1n!(σi1(x);s)=(n(m+1))!·(nm+1)dm+1.(8)

The result then follows from Proposition 7 and Theorem 6. □

As stated earlier, Theorem 8 provides a way to construct a set of dice that are m/n permutation fair for arbitrary m and n. Because the dice in the resulting sets will be quite large, however, we would like to find efficient alternative construction methods. Rather than trying to find alternatives that are generic, we will focus our attention on two special cases.

Consider the problem of how to build a set of 2/n permutation-fair dice out of k sets of 1/n permutation-fair dice. The following theorem shows that this can be done with k = 2 by concatenating a string and its reverse to form a palindrome. This theorem provides a possible explanation for the ubiquity of palindromic blocks that we have observed in both the set G of 4/4 permutation-fair dice described in and the set F of 3/3 permutation-fair dice described in Section 4.

Theorem 9.

Suppose that S is a set of ds-sided dice that has string representation s=(s1,s2,,sr). Let t=s||s and dt=2ds. If S is 1/n permutation fair, then t is the string representation of a set of dt-sided dice that is 2/n permutation fair.

Proof.

Consider a pattern x that has |x|=2 and let x be the reverse of x. We have (9) (x;t)=(x;s)+(x1;s)(x>1;s)+(x;s)=(x;s)+ds2+(ds2(x;s)).(9)

Let dt=2ds, and notice that if T is the set of dice with string representation t, then T is comprised of dt-sided dice. Therefore we have (x;t)=dt2/2 and the result follows from the definition of 2/n permutation fairness. □

Along similar lines, our next theorem provides a way to construct a set of 4/n permutation-fair dice out of two sets of 3/n permutation-fair dice. As before, this construction works by concatenating a string with its reverse to form a palindrome. Notice that this result demonstrates the advantage of our construction over the concatenation construction as described in [Citation2]. That construction would require the use of n! sets of 3/n permutation-fair dice in order to create a set of 4/n permutation-fair dice while we are able to use just two sets, independent of the value of n.

Theorem 10.

Suppose that S is a set of ds-sided dice that has string representation s=(s1,s2,,sr). Let t=s||s and dt=2ds. If S is 3/n permutation fair, then t is the string representation of a set of dt-sided dice that is 4/n permutation fair.

Proof.

It suffices to show that (x;t)=dt4/24=8ds4/12 for all x with |x|=4. As in the proof of Theorem 6, we can decompose (x;t) by grouping the appearances of x according to which part of t each substring of x appears in. Doing so, we see that (10) (x;t)=i=04(xi;s)(x>i;s)=(x;s)+(x;s)+i=13(xi;s)(x>i;s)=(x;s)+(x;s)+i=13dsii!ds4i(4i)!=(x;s)+(x;s)+7ds412.(10)

So, it suffices to show that (x;s)+(x;s)=ds4/12. Without loss of generality, we can assume that x=abcd. Notice that we have (11) ds4 P{a<b<c}= (dabc;s)+(adbc;s)+(abdc;s)+(abcd;s)(11) (12) ds4 P{a<b,d<c}=(dabc;s)+(adbc;s)+(abdc;s)(adcb;s)+(dacb;s)+(dcab;s)(12) (13) ds4 P{d<c<b}=(adcb;s)+(dacb;s)+(dcab;s)+(dcba;s).(13)

Observe that (x;s)=(x;s). So, we have (14) (x;s)+(x;s)=(abcd;s)+(dcba;s)=ds4(P{a<b<c}+P{d<c<b}P{a<b,d<c}).(14)

Because s is 3/n permutation fair we have P{a<b<c}=P{d<c<b}=1/6 and P{a<b,d<c}=P{a<b}P{d<c}=1/4. Therefore we can conclude that (x;s)+(x;s)=ds4/12 as required. □

Numerical Techniques

In cases where we have not been able to discover any applicable analytic techniques, we need an efficient way to search for compatible sets of dice numerically. Fortunately, we can characterize compatible sets of dice as the solution to an integer linear programming problem. This allows us to take advantage of a mature ecosystem of software tools designed to solve such problems.

Recall that an integer linear programming problem is a linear optimization problem in which the variables are constrained to be integers. That is, given a set of variables y={yi}i=1k, we want to find values of y that optimize some linear objective function c·y subject to the constraints A·y+r=b, r0, and yNk. Throughout, we will assume that our ILP solver is configured to minimize the objective function.

We will assume that we have identified a collection {si}i=1k of k candidate sets of dice, all of which are m/n permutation fair. Frequently, the collections that we consider will be comprised of all n! possible permutations of the labels assigned to the dice in a single seed set of m/n permutation-fair dice, but we can apply this technique with arbitrary collections of suitable candidates. The variables {yj}j=1k in our ILP will represent the number of copies of each candidate that we will combine via concatenation to form a new set of dice.

For our objective function, we will let c be the vector of all ones. That is, c=1 and the objective function simply counts how many candidates are used in any solution. As such, any solutions that we find will be those that use the fewest possible candidates and the dice in the resulting sets will be as small as possible.

For our constraints, we will let r and b be vectors of all zeros. That is, r=b=0. All of the permutation-fairness constraints will be encoded in the matrix A. Because we are hoping to create a set of dice that are (m+1)/n permutation fair, we will need to consider the counts of all patterns x with |x|=m+1. If we let r denote the number of such patterns, then r=(nm+1)·(m+1)!.

Finally, we will set each column of A to be the vector of pattern counts for one of the candidate sets of dice that has been normalized to have mean zero. If we let μj be the mean value for the jth column of A then we have μj=djm+1/r. So, A will be an r × k matrix and i, j we will set aij=(xi;sj)μj.

All together, this yields an integer linear programming problem in which we want to minimize the quantity jyj subject to the constraints A·y=0 where yNk. Incidentally, this formulation shows that the search for compatible sets of dice can be understood as a kind of multi-dimensional knapsack problem.

6 Building Sets of Permutation-Fair Dice

We can use the machinery developed in the preceding discussion to construct relatively small sets of permutation-fair dice. Starting with some seed set of dice, we can recursively apply Theorems 6, 9, or 10 to build a series of m/n permutation-fair sets of dice, where m increases at each step. This process culminates with a set of dice that are n/n permutation fair.

Example 11.

Consider the set G of permutation-fair dice described in . The following four-step recipe describes how our construction can be used to create G.

  1. Start with the seed set S of dice with string representation s=abcd. Notice that s is a set of four 1-sided dice that is 1/4 permutation fair.

  2. Let T be the set of dice with string representation t=s||s=abcddcba. Theorem 9 implies that T is a set of four 2-sided dice that is 2/4 permutation fair.

  3. Let U be the set of dice with string representation u=σ1(t)||σ2(t)||σ3(t), where σ1=(a,b,c,d), σ2=(d,b,a,c), and σ3=(c,b,a,d). Theorem 6 implies that U is a set of four 6-sided dice that is 3/4 permutation fair.

  4. Let G be the set of dice with string representation g=v||v. Theorem 10 implies that G is a set of four 12-sided dice that is 4/4 permutation fair.

To create a set of 5/5 permutation-fair dice, we can follow a recipe like the one described above for creating a set of 4/4 permutation-fair dice. The process is similar, but when we use Theorem 6 to lift T5 and create a set of 3/5 permutation-fair dice U5 we find that we need to use six different permutations to do so. As such, at the end of the fourth step, we end up with a set G5 of five 24-sided dice. Unfortunately, we could not find a way to lift G5 using less than 120 permutations. Doing so yields a set of five 2880-sided dice that is 5/5 permutation fair.

Fortunately, we can do better. Rather than starting with a seed that is 1/5 permutation fair and building everything from scratch, we can start with any seed that is 4/5 permutation fair and use it to try find a compatible set of dice.

Example 12.

Consider the set H of five 12-sided dice with string representation h=eeabcddcbadbaccabdcbaddabceeeeeeeecbaddabcdbaccabdabcddcbaee.

We can verify by direct computation that H is 4/5 permutation fair. So, if we can identify a collection of permutations σi such that {σi(h)} are compatible, then we can use Theorem 6 to lift h and create a set of dice that is 5/5 permutation fair. Using an ILP solver, we were able to identify the following collection of ten permutations: σ1=(a,c,b,d,e)σ2=(d,c,b,a,e)σ3=(e,c,b,d,a)σ4=(d,c,b,e,a)σ5=(e,c,a,b,d)σ6=(b,c,a,e,d)σ7=(e,c,a,d,b)σ8=(d,c,a,e,b)σ9=(a,e,d,b,c)σ10=(b,e,d,a,c).

So, as we can verify via direct computation, the set I of dice with string representation eeacbddbcabcdaadcbdcabbacdeeeeeeeedcabbacdbcdaadcbacbddbcaeeeedcbaabcdbcaddacbacdbbdcaeeeeeeeeacdbbdcabcaddacbdcbaabcdeeaaecbddbcebcdeedcbdcebbecdaaaaaaaadcebbecdbcdeedcbecbddbceaaaadcbeebcdbceddecbecdbbdceaaaaaaaaecdbbdcebceddecbdcbeebcdaaddecabbaceacbeebcabceaaecbddddddddbceaaecbacbeebcaecabbaceddddbcaeeacbacebbecaecbaabceddddddddecbaabceacebbecabcaeeacbddbbecaddaceacdeedcadceaaecdbbbbbbbbdceaaecdacdeedcaecaddacebbbbdcaeeacdaceddecaecdaadcebbbbbbbbecdaadceaceddecadcaeeacdbbccaedbbdeadebaabedbeaddaebccccccccbeaddaebdebaabedaedbbdeaccccbedaadebdeabbaedaebddbeaccccccccaebddbeadeabbaedbedaadebcc, is a set of five 120-sided dice that is 5/5 permutation fair. A physical realization of this set of dice is shown in .

Fig. 1 A set of five 120-sided dice that is 5/5 permutation fair. This set of dice was produced by David Blanco and this image is used here with his permission.

Fig. 1 A set of five 120-sided dice that is 5/5 permutation fair. This set of dice was produced by David Blanco and this image is used here with his permission.

7 Future Work

There are many questions about permutation-fair dice that remain unanswered. Most obviously, perhaps, is the question of whether there exists a permutation-fair set of five d-sided dice where d{30,60,90}. Outside of a few highly structured subclasses of dice for which the existence of such sets has been ruled out, this remains a tantalizing open problem.

We can ask similar questions about the existence of permutation-fair dice for other values of n. In particular, one might hope to find a set of six 30-sided dice that is permutation fair. For larger values of n the number of sides required for a set to be permutation fair grows quite quickly, but there is plenty of scope for research into what sorts of bounds might be achievable.

To answer these questions, it would be useful to know which sets of dice can be lifted efficiently. That is, for which sets of dice can we apply Theorem 6 using only a small number of permutations? Can we improve the asymptotic performance of the best known construction methods for arbitrarily large sets of permutation-fair dice?

If we expand our search to include inhomogeneous sets of dice, then there are even more questions that remain unanswered. In this regime, we have several ways to measure the size of a set of dice. Because the dice in such sets are not all the same size, we might consider only the size of the largest die. Alternatively, we might consider the total number of faces on all dice in the set. How small can a set of permutation-fair dice be when we use one of these metrics to measure its size?

ACKNOWLEDGMENT

While the work described herein was done independently, after finding the permutation fair set of five 120-sided dice, we shared our results with Eric Harshbarger. This has since led to a wonderful series of collaborations both with him and other researchers. We would like to thank him for his pioneering technical contributions and for the work that he has done to organize the community of researchers interested in permutation-fair dice. We would also like to thank all of the reviewers, particularly Michael Cromer and Brett Witty, for their excellent feedback throughout the drafting of this paper.

DISCLOSURE STATEMENT

No potential conflict of interest was reported by the author.

Additional information

Notes on contributors

Michael Purcell

MICHAEL PURCELL received his PhD from the University of Utah in 2010 where he studied under the supervision of Davar Khoshnevisan. After completing his degree, he worked as an applied research mathematician for the U.S. Department of Defense for ten years. In 2020 he joined the Software Innovation Institute at The Australian National University as a senior research engineer. In 2022 he moved into his current role as a senior fellow in the School of Computing at the Australian National University. His research interests include probability, cryptography, and differential privacy. In addition to his technical work, he is also an enthusiastic amateur musician and game designer.

REFERENCES

  • Harshbarger E. Go first dice; 2023. Website. Available from: http://www.ericharshbarger.org/dice/go_first_dice.html.
  • Polylog. We designed special dice using math, but there’s a catch; 2022. YouTube. Available from: https://www.youtube.com/watch?v=-64UT8yikng&t=66s
  • Forrest J, Ralphs T, Santos HG, Vigerske S, Hafer L, Kristjansson B, Lubin M, Brito S, Saltzman M, Pitrus B, et al. (2022), coin-or/Cbc, Version 2.10.8. Zenodo. doi: 10.5281/zenodo.6522795.
  • Dunning I, Mitchell S, O’Sullivan M. PuLP: A linear programming toolkit for Python; 2011.
  • Ford R, Grime J, Harshbarger E, Pollock B. Go first dice for five players and beyond. Recreat Math Mag. 2023;10:75–87. doi: 10.2478/rmm-2023-0004.
  • Harshbarger E. A method to construct n + 1-player permutation-fair sets of dice from known n-player permutation fair sets; 2018.
  • Steinhaus H, Trybuła S. On a paradox in applied probabilities. Bull Pol Acad Sci Math. 1959;7:67–69.
  • Trybuła S. On the paradox of three random variables. Zastos Mat. 1961;5:321–332.
  • Trybuła S. On the paradox of n random variables. Zastos Mat. 1965;8:143–156.
  • Gardner M. The paradox of the nontransitive dice and the elusive principle of indifference. Sci Amer. 1970;223(6):110–114. https://www.scientificamerican.com/article/mathematical-games-1970-12/
  • Cooley C, Ella W, Follett M, Gilson E, Traldi L. Tied dice. II. Some asymptotic results. J Combin Math Combin Comput. 2014;90:241–248.
  • Kronenthal BG, Traldi L. Tied dice. J Combin Math Combin Comput. 2009;68:85–96.
  • Schaefer A. Balanced non-transitive dice II: tournaments. arXiv:1706.08986 [math.CO], Jun. 2017. doi: 10.48550/arXiv.1706.08986.
  • Schaefer A, Schweig J. Balanced nontransitive dice. Coll Math J. 2017;48(1):10–16. doi: 10.4169/college.math.j.48.1.10.
  • Hur I, Kim Y. Possible probability and irreducibility of balanced nontransitive dice. J Math. 2021;2021:Article ID 6648248. doi: 10.1155/2021/6648248.
  • Grime J. The bizarre world of nontransitive dice: games for two or more players. Coll Math J. 2017;48(1):2–9. doi: 10.4169/college.math.j.48.1.2.
  • Buhler J, Graham R, Hales A. Maximally nontransitive dice. Amer Math Monthly. 2018;125(5):387–399. doi: 10.1080/00029890.2018.1427392.
  • Diaconis P, Keller JB. Fair Dice. Amer Math Monthly. 1989;96(4):337–339. doi: 10.2307/2324089.
  • Grünbaum B, Shephard GC. Spherical tilings with transitivity properties. In: Davis C, Grünbaum B, Sherk FA, editors. The geometric vein. New York (NY): Springer; 1981. p. 65–98.
  • Polymath 13. The probability that a random triple of dice is transitive. Website. 2017. Available from: https://polymathprojects.org.