So it was more of a physical problem rather than a mathematical one [1]:
> Harshbarger says he and his colleagues always knew the dice were mathematically possible.
> The mystery was whether that mathematical solution could be translated into the physical geometry of a die — something that could actually be manufactured and rolled.
> “I knew there was a solution with something crazy like 1,440 sides for each die,” he said. “That's not makeable.”
I think it is not a matter of whether it is more of a "physical problem" or a "mathematical one". They knew a solution existed but it was physically unfeasible, which prompted them to mathematically optimize the solution by using fewer sides. They found a solution using only 120 sides, and a lower bound of 30 is known but brute-forcing it is still computationally expensive.
I think it's more about guaranteeing the whole sequence, rather than who goes first?
At least for two players, if you use a two sided die (a coin), have player one win ties on ones, player two win ties of twos - and otherwise highest wins - then that is trivially done?
I would have to do a little more math to see if it generalizes by induction... I'm not sure you would get a guaranteed sequence - but I think at least guaranteed fair winner works by just increasing the die (7, 9 and 11 would be tricky because if physics again... I suppose. Unless you just ignore highest tie for missing player (reroll on extremely rare 9 9s on a d10 for nine players)?
> I think it's more about guaranteeing the whole sequence, rather than who goes first?
What do you mean? The question is who goes first.
As a matter of practice, what happens in a board game is that everyone takes a position around the board before choosing who goes first. If turns proceed in a fixed sequence, that position will determine the sequence. If the order of turns is specified by the game (for example, many feature a turn order track), then that order will be used. You never need to decide on a sequence longer than one person.
But even if that wasn't the case, the article couldn't be more explicit:
> Eric Harshbarger was asked by a board game designer if he could come up with dice that would determine who goes first — without the possibility of a tie.
> The idea was simple: settle the first turn quickly and get on with the game.
This from the article appears somewhat questionable:
>> “It was a question that did not have an obvious answer and that's something that a mathematician will often jump at.”
The problem they're bragging about solving is using dice to quickly and unambiguously select one of five options with equal probability.
The obvious answer should be that you roll a single 10- or 20-sided die, divide by 2 or 4, round up, and there you have it.
Pretty sure he means this:
- assume heads beats tails
- if both players get opposite results (HT, TH) then the winner is obvious
- if both players get heads, player A is the winner
- if both players get tails, player B is the winner.
Except that as a sibling comment mentions; that generalizes to any size of group - for six players you could roll one d6, and have "that" player go first.
But apparently the constraints are: every player rolls one die once.
From a site selling the dice: "With these dice all players will have an equal chance of ranking first, second, third and fourth. And only one roll is required."
Wikipedia distinguishes between "go first fair" and "permutation fair". I believe Harshbarger wanted to find permutation fair dice.
I think I'm having trouble understanding why this is so complicated/requires so many sides.
If I imagine a 3-sided die, for simplicity, you should be able to have this result if the sets are [1,5,9],[2,6,7],[3,4,8]. And so on for larger numbers of players. Why doesn't this work?
But if you had those 3 dice but only 2 players you could not just have each player grab one of them and roll. If one of them happened to grab #1 they would only win 1/3 of the time instead of the desired 1/2.
With 2 players they would have to use just #2 and #3.
That's because the way I came up with those numbers is as follows.
1. Number the players 1, 2, and 3. We want #1 to win exactly 1/3 of the time. We could do that by given them a 3-sided die 1 1 H1, where all the numbers on the other dice are lower than H1 and higher than 1.
2. In the cases where #1 rolls 1, we want #2 to win half the time. Give them a 2-sided die 2 H2 where the remaining die has all numbers between 2 and H2.
3. Assuming the remain die is also 2-sided we will need a total of 6 different numbers. Using 1-6 our set of dice is (1 1 6), (2, 5), (3, 4).
4. It seems number of they all have the same number of sides instead of 3, 2, 2. LCM of those is 6, so double the 3-sided and triple the two 2-sided: (1 1 1 1 6 6), (2 2 2 5 5 5), (3 3 3 4 4 4).
5. People might object to having the same number more than once on a die. We have 18 total sides so lets renember from 1-18. Our 4 1s become 1-4, our 3 2s become 5-7, and so on, given the set of 3 6-sided dice at the start.
It seems pretty clear that this generalizes to more than 3 players, with the more players the more sides the dice will have. But all of those suffer from that annoyance of needed to exclude specific dice when you are trying to decide the starting order for less than the maximum number of players.
Do the dice in the article avoid that annoyance? I have no idea how I would go about making something like that.
A set of permutation fair dice work for any subset of dice and players. So a 4-dice perm-fair set allows any three dice to be used and is guaranteed to be perm-fair for 3 as well.
The “Go First” name is catchy for laypeople, but permutation fairness is the strongest and most interesting property.
There are sets we call “all subset place fair” which means any subset of the dice can be used and can fairly choose 1st, 2nd, and so forth, but this property is slightly weaker and doesn’t always make every ordering equally likely for every subset.
there is no need to match number of dice with number of players - for example in 2 players second player throwing second die (2,3) is really a noop as outcome is decide by the first player's die (1,4)
I suspect all other rules plus that one would make it unsolvable at least in some cases like probably in the case of 2. It also brings to mind distributed consensus of cryptocoins (pardon for mentioning crypto :)
Can somebody explain why not just make a die with 5! sides, and roll it once to decide the order? With each side having a unique order printed e.g. 12345 -> 12354 -> ...
Especially, that 120-sided dice are already invented and commercially available.
> Can somebody explain why not just make a die with 5! sides, and roll it once to decide the order?
Hey, that’s a good idea—now we just need to decide who rolls the die. …Well, if we had a set of die that each player could roll one of, and the highest number rolled gets to roll the 120-sided die. Of course, we’d have to ensure that there’s no chance of a tie.
Because the question isn’t can you make a rice with 5! Sides but can you make it so 5 players can roll simultaneously individual dice with a minimal number of sides per dice and never tie and always be fair.
Sure you can fly a helicopter to the top of Everest, but it’s not the same as climbing Everest even if the outcome is the same.
From the article: "During a dinner conversation at a gaming convention in 2012, Eric Harshbarger was asked by a board game designer if he could come up with dice that would determine who goes first — without the possibility of a tie. The idea was simple: settle the first turn quickly and get on with the game."
The original challenge was to design dice (I assume a single die would satisfy the requirement since the number of dice wasn't the point) that would quickly determine which of five players would go first. Nothing about the challenge required that there be five dice. A five-sided die would certainly be the simplest way, and would be marginally faster than having five players each roll a separate die and then compare the numbers.
The provenance doesn’t matter because they settled on a difficult mathematical problem to solve because it was difficult to solve and would require clever solutions that answered more fundamental mathematical questions than the banal problem of choosing who goes first in a game. That was just the framing that motivated the larger math question, in which the number of dice does matter, because it’s a more interesting question.
Or, like my gaming group does. Just roll again between whoever ties. And in the extremely rare event that you tie again, roll again. And if youve managed to get to the heat death of the universe and have tied three times, roll a fourth time.
And for the pedants, you arent rolling every microsecond for millennia to make it plausibly likely that you have that many ties. You are rolling a handful of times before a game.
Its an interesting math problem to solve, but its way more effort to solve than the real world solutions.
The big open question is whether a set of 5 (permutation fair) 30-sided dice exists.
I’ve been working on that on and off since 2012. I picked it up again about a month ago and have made dramatic speed improvements to my search, but exhausting the whole space I’m searching will still take my computer an estimated 70 years.
If you're being serious, i assume its because its primarily a novelty problem, and the economic investment of 4000 computers isn't worth it just for the bragging rights of solving the problem.
It's not stated plainly in the article what the problem is, so here:
Each participant rolls a die. For there to be no possibility of a tie, no die can share a face number with another die—every face across all dice must be unique. For it to be fair, the distribution of numbers across all faces must be such that no die has an advantage over another die—the odds of rolling the highest number must be exactly the same for each die. The problem is in finding the combination of faces across five dice that satisfies these constraints. One difficulty of this is that each added player changes the whole equation—the odds get recalculated and new faces must be chosen. The secondary goal is to minimize the number of faces on the die.
The key part is that they have to be fair when any subset of the dice is rolled together, not just when all five are rolled. Also if the dice are allowed to be different sizes then it's easier as well.
This is very much missing from the article. It makes the math problem more interesting, but the practical solution is much easier.
There are possibly other applications in navigation, radio communication, or other domains that might make this a more interesting problem than just figuring out game ordering.
Came here also to point this out, because there is an easy to find solution that lacks only this property. I find this restriction somewhat unsatisfying though, because the easy solution does have the property that, for any smaller number of players, there is a subset that is fair for them (so you could manufacture these dice and resolve any number of players up to the number you have).
Requiring same size doesn't make it harder; you can take any solution and inflate the dice (take the lcm of all the sizes, duplicate the face numbers).
Sorry, by harder I meant for the same number of faces. E.g. the article is about 5 60 sided dice, which was a breakthrough, but there are other known solution where all the dice are less than 60 sided, but they are unequally sized.
Thank you, I didn't really understand what they were talking about.
Personally, I feel there is an easier approach: Take a regular 12-sided die, assign numbers modulo N (N being the amount of players). Now you assign the first turn fairly for 2, 3, 4, 6 or 12 players. Add a d20 and that covers 5 or 10 players, too.
This made me think of a hypothetical game where the players roll dice to determine their order of turns. The rolling will continue until every player is assigned a turn. If some other player rolls multiple times in the middle then that player gets multiple turns. So for example with a 6 sided die and 2 players, faces 1, 3, 5 correspond to player 1 and 2, 4, 6 to player 2. They roll dice and the rolls come out as 1, 1, 5, 3, 5, 2. That means player 1 will get a turn 5 times per round while player 2 gets 1 turn. To make it fairer, player 2 would receive some sort of advantage corresponding to the lack of turns compared to player 1. The game would be designed in such a way that novices would prefer getting multiple turns in a round while experts would prefer to get a single turn for themselves and maximizing the total number of turns per round.
"Die" is a common singular form of "dice". The relative prevalence of "die" vs "dice" for this is regionally dependent. In general, English can't make up its mind with a lot of things involving words which end in a "sss" sound.
Die is singular, dice is plural. 1 die, 2 dice, 3 dice, …
It used to be something people were corrected on, but these days dice is accepted as the singular too and die is starting to be seen as a little antiquated.
For those as confused as me, I'm pretty sure this isn't "new". Numberphile talked about doing even better than this several years ago: https://www.youtube.com/watch?v=5q32heFz1bs
According to the wikipedia article linked at https://news.ycombinator.com/item?id=49559416 this discovery is from around the same time as that video came out. This submission should be tagged (2023).
I might be missing something, but a single 6 sided die can have all permutations for 3 players; a 24 sided die for 4 players; a 120 sided die has all permutations necessary for 5 players. Each one of these would even firmly support fewer players.
By the time you got to 120 sides you probably couldn’t label the sides with the order and would need a lookup table or something. That’s a disadvantage, I suppose.
You can take the product of the permutations as the result.
The only problem with that is that you need to pick an order to roll the dice in order to pick the order to rank the players.
But happily, we have a set of dice that pick the order to roll the dice. Now we only need to pick an order to roll the dice to pick the order to roll the dice to pick the order to play.
Roll dice as if you're rolling a fractional base six number of indefinite precision, stopping when one player wins.
A roll of 5, 2, and 4 is treated like 5.24
So if Alex and Bob both roll a '3', they just keep extending the precision until one is higher.
You may ask what this gives you over just re-rolling ties. Well, this preserves order. For example, if several people are rolling initiative, and there's a few rerolls for ties, you may end up with this initiative sequence:
John: 5
Betsy: 4
Alex: 3.16
Bob: 3.15
Phil: 2
If Alex and Bob had to reroll, the order can get confusing. It also gives you a magnitude: Betsy rolled 100% better than Phil, but Alex only came in 0.3% better than Bob.
This is an interesting problem (for mathematicians and a few more of us) and I'm sure Matt Parker will cover this in a video soon and I'll love his explanation.
But for a mechanism to ship in a physical game? Big dice are difficult and expensive. Printing a deck of card that has the number 1 (or 0) to N on it will always be cheaper and has solved the problem for at least N up to 52.
You could, but that would just dodge the problem they want to solve.
They're not actually interested in determining who goes first or anything practical like that. The article even implicitly admits as much. After all, you could just use normal dice and roll again on ties or, like you suggested, come up with an extra protocol built on top of them.
"We want dice that determine who goes first without a tie" is just a catchier way of saying "We want N dice that all have the same probability of showing the higher number but zero probability of a tie," which is an interesting mathematical problem.
If all you have a coin there is a simple algorithm that's equivalent to sorting by random real numbers in [0, 1].
1. All players flips a coin.
2. Players that got heads go before players that got tails, forming (up to) two groups.
3. If a group has more than one player go back to #1 to determine the order within that group.
It's not a finite process though - it could go on forever if really unlucky. But this is unavoidable, since the number of permutations on n players with n > 2 has factors not divisible by 2 there is no finite series of n coin tosses that could without any bias create a permutation, as the number of outcomes is 2^n.
> The search was enormous — there were more possible designs than atoms in the universe
PopSci journalists must get so excited every time they get to write about a math result with a combinatorial flavor, letting them use their favorite "wow factor" phrase.
90 comments
[ 0.20 ms ] story [ 15.6 ms ] thread> Harshbarger says he and his colleagues always knew the dice were mathematically possible.
> The mystery was whether that mathematical solution could be translated into the physical geometry of a die — something that could actually be manufactured and rolled.
> “I knew there was a solution with something crazy like 1,440 sides for each die,” he said. “That's not makeable.”
[1] https://www.cbc.ca/radio/asithappens/dice-mystery-board-game...
At least for two players, if you use a two sided die (a coin), have player one win ties on ones, player two win ties of twos - and otherwise highest wins - then that is trivially done?
I would have to do a little more math to see if it generalizes by induction... I'm not sure you would get a guaranteed sequence - but I think at least guaranteed fair winner works by just increasing the die (7, 9 and 11 would be tricky because if physics again... I suppose. Unless you just ignore highest tie for missing player (reroll on extremely rare 9 9s on a d10 for nine players)?
What do you mean? The question is who goes first.
As a matter of practice, what happens in a board game is that everyone takes a position around the board before choosing who goes first. If turns proceed in a fixed sequence, that position will determine the sequence. If the order of turns is specified by the game (for example, many feature a turn order track), then that order will be used. You never need to decide on a sequence longer than one person.
But even if that wasn't the case, the article couldn't be more explicit:
> Eric Harshbarger was asked by a board game designer if he could come up with dice that would determine who goes first — without the possibility of a tie.
> The idea was simple: settle the first turn quickly and get on with the game.
This from the article appears somewhat questionable:
>> “It was a question that did not have an obvious answer and that's something that a mathematician will often jump at.”
The problem they're bragging about solving is using dice to quickly and unambiguously select one of five options with equal probability.
The obvious answer should be that you roll a single 10- or 20-sided die, divide by 2 or 4, round up, and there you have it.
Flip one coin. If heads, player A is the winner. If tails, player B is the winner.
But apparently the constraints are: every player rolls one die once.
Wikipedia distinguishes between "go first fair" and "permutation fair". I believe Harshbarger wanted to find permutation fair dice.
If I imagine a 3-sided die, for simplicity, you should be able to have this result if the sets are [1,5,9],[2,6,7],[3,4,8]. And so on for larger numbers of players. Why doesn't this work?
(no affiliation)
I think there have been discussions about some of these sets here as well.
I’m loving the non-transitive dice. My son’s birthday is in (checks calendar) ten months, but he’s getting these dice now anyway. So cool.
* https://en.wikipedia.org/wiki/Go_First_Dice
As well as the pages of the project:
* http://gofirstdice.ericharshbarger.org/
TFA claims it's "new" in 2026, but the current state of the art seems to still be that of 2022.
I bought actual dice like these in 2024 from https://mathsgear.co.uk/collections/dice/products/go-first-d...
So well, is TFA just a big pile of slop?
It is a pile of slop and I am surprised that your comment is downvoted.
I don't know why would HN crown prefer this pile of journo fluff to the article by, you know, the guy who actually made the thing.
With 2 players they would have to use just #2 and #3.
That's because the way I came up with those numbers is as follows.
1. Number the players 1, 2, and 3. We want #1 to win exactly 1/3 of the time. We could do that by given them a 3-sided die 1 1 H1, where all the numbers on the other dice are lower than H1 and higher than 1.
2. In the cases where #1 rolls 1, we want #2 to win half the time. Give them a 2-sided die 2 H2 where the remaining die has all numbers between 2 and H2.
3. Assuming the remain die is also 2-sided we will need a total of 6 different numbers. Using 1-6 our set of dice is (1 1 6), (2, 5), (3, 4).
4. It seems number of they all have the same number of sides instead of 3, 2, 2. LCM of those is 6, so double the 3-sided and triple the two 2-sided: (1 1 1 1 6 6), (2 2 2 5 5 5), (3 3 3 4 4 4).
5. People might object to having the same number more than once on a die. We have 18 total sides so lets renember from 1-18. Our 4 1s become 1-4, our 3 2s become 5-7, and so on, given the set of 3 6-sided dice at the start.
It seems pretty clear that this generalizes to more than 3 players, with the more players the more sides the dice will have. But all of those suffer from that annoyance of needed to exclude specific dice when you are trying to decide the starting order for less than the maximum number of players.
Do the dice in the article avoid that annoyance? I have no idea how I would go about making something like that.
The “Go First” name is catchy for laypeople, but permutation fairness is the strongest and most interesting property.
There are sets we call “all subset place fair” which means any subset of the dice can be used and can fairly choose 1st, 2nd, and so forth, but this property is slightly weaker and doesn’t always make every ordering equally likely for every subset.
Especially, that 120-sided dice are already invented and commercially available.
Hey, that’s a good idea—now we just need to decide who rolls the die. …Well, if we had a set of die that each player could roll one of, and the highest number rolled gets to roll the 120-sided die. Of course, we’d have to ensure that there’s no chance of a tie.
Hmm… this idea has legs…
Sure you can fly a helicopter to the top of Everest, but it’s not the same as climbing Everest even if the outcome is the same.
The original challenge was to design dice (I assume a single die would satisfy the requirement since the number of dice wasn't the point) that would quickly determine which of five players would go first. Nothing about the challenge required that there be five dice. A five-sided die would certainly be the simplest way, and would be marginally faster than having five players each roll a separate die and then compare the numbers.
Gee, you need a way to rank the players to decide.
Do you also need to randomize a neural net before training it to play Tic-tac-toe? https://simple.wikipedia.org/wiki/Hacker_koan
And for the pedants, you arent rolling every microsecond for millennia to make it plausibly likely that you have that many ties. You are rolling a handful of times before a game.
Its an interesting math problem to solve, but its way more effort to solve than the real world solutions.
I’ve been working on that on and off since 2012. I picked it up again about a month ago and have made dramatic speed improvements to my search, but exhausting the whole space I’m searching will still take my computer an estimated 70 years.
Each participant rolls a die. For there to be no possibility of a tie, no die can share a face number with another die—every face across all dice must be unique. For it to be fair, the distribution of numbers across all faces must be such that no die has an advantage over another die—the odds of rolling the highest number must be exactly the same for each die. The problem is in finding the combination of faces across five dice that satisfies these constraints. One difficulty of this is that each added player changes the whole equation—the odds get recalculated and new faces must be chosen. The secondary goal is to minimize the number of faces on the die.
There are possibly other applications in navigation, radio communication, or other domains that might make this a more interesting problem than just figuring out game ordering.
Requiring same size doesn't make it harder; you can take any solution and inflate the dice (take the lcm of all the sizes, duplicate the face numbers).
Personally, I feel there is an easier approach: Take a regular 12-sided die, assign numbers modulo N (N being the amount of players). Now you assign the first turn fairly for 2, 3, 4, 6 or 12 players. Add a d20 and that covers 5 or 10 players, too.
That’s the pragmatic solution. The article is about an interesting mathematical puzzle, not actually solving a real problem.
Also, an n-sided die is fair for 2 to n players if you discard rolls above the number of players.
I agree the math problem does not map well to a real problem players are having.
You don't have to buy them to use them. For example I own a baggie of D(4-20) dice but I don't and have never played tabletop RPGs.
This set may end up too expensive for my "i know i'll never use it" budget, but other than that I'd get one.
It used to be something people were corrected on, but these days dice is accepted as the singular too and die is starting to be seen as a little antiquated.
Dude runs a mean D&D campaign too. And his Lego mural and sculpture portfolio are something to behold: http://www.ericharshbarger.org/lego/portfolio.html
By the time you got to 120 sides you probably couldn’t label the sides with the order and would need a lookup table or something. That’s a disadvantage, I suppose.
The only problem with that is that you need to pick an order to roll the dice in order to pick the order to rank the players.
But happily, we have a set of dice that pick the order to roll the dice. Now we only need to pick an order to roll the dice to pick the order to roll the dice to pick the order to play.
But ...
A roll of 5, 2, and 4 is treated like 5.24
So if Alex and Bob both roll a '3', they just keep extending the precision until one is higher.
You may ask what this gives you over just re-rolling ties. Well, this preserves order. For example, if several people are rolling initiative, and there's a few rerolls for ties, you may end up with this initiative sequence:
If Alex and Bob had to reroll, the order can get confusing. It also gives you a magnitude: Betsy rolled 100% better than Phil, but Alex only came in 0.3% better than Bob.Sure, it's pointless, and some may feel that's a drawback...
But for a mechanism to ship in a physical game? Big dice are difficult and expensive. Printing a deck of card that has the number 1 (or 0) to N on it will always be cheaper and has solved the problem for at least N up to 52.
They're not actually interested in determining who goes first or anything practical like that. The article even implicitly admits as much. After all, you could just use normal dice and roll again on ties or, like you suggested, come up with an extra protocol built on top of them.
"We want dice that determine who goes first without a tie" is just a catchier way of saying "We want N dice that all have the same probability of showing the higher number but zero probability of a tie," which is an interesting mathematical problem.
PopSci journalists must get so excited every time they get to write about a math result with a combinatorial flavor, letting them use their favorite "wow factor" phrase.