Using a set of Platonic dice (tetrahedron, cube, octahedron, dodecahedron, and icosahedron), what way of choosing the initial position in a game of Fischer Random Chess (Chess 960) uses the fewest dice throws?

I am looking for a way that

  • does not simply yield a number between 1 and 960 which you then look up on an ordered list of starting positions

  • allows pieces to be placed in sequence - for example, first the rooks, then the bishops, then the king, or in some other order

  • yields each of the 960 positions with equal probability

The rules state that for each player bishops must be on squares of opposite colour and the king must be between the rooks.

You do not have to use every die. If only, say, the octahedron needs to be used, that is fine!

  • 1
    I know FIDE took manual for it out of their rules book, but in 2011 or 2012 when I wrote application to draw Fisher Random chess starting positions it was available; it had very clear instructions about steps and their order. If I'll find - I post it. suggest checking FIDE handbook page with google way back machine, or search for about 10 years old FIDE rules version. Also if I overcome my laziness I'll check my application code on weekend. – Drako Oct 26 at 14:30

Several methods to do so are described on Wikipedia. For example:

Roll all the dice in one throw and place White's pieces as follows:

  • Place a bishop on one of the eight squares (counting from the left, 'a' through 'h' ) as indicated by the octahedron (d8).

  • Place the other bishop on one of the four squares of opposite color as indicated by the tetrahedron (d4).

  • Place the queen on one of the remaining six squares as indicated by the cube (d6).

  • Take the value of the icosahedron (d20), divide by four (round up), and let 'x' = the quotient, and 'y' = the remainder + 1. Place a knight on the 'x'-th empty square. Then place the other knight on the 'y'-th remaining empty square. In other words, see the d20 as a d5 for the first knight: 1-4, 5-8, 9-12, 13-16 and 17-20. Then for the second knight, look within the group to get a d4. For example, a 20 is in the fifth group and the fourth spot in that group, so place the knights on the fifth square and the fourth square. An 11 is in the third group and the third spot.

You can also use just a d10 since there are only ten unique placements of the knights once the bishops and queen has been placed. Hold one knight on the leftmost square and count one, two, three, four with the other knight on the empty square, then when it loops, move the leftmost knight one square to the right, five, six, seven, then it loops again, eight, nine, and finally with ten both knights are as far right as they go. For example, with a six the knight would be placed on the second of the five empty squares, then the second knight would be place on the second of the three squares that are empty to the right of the knight. Using a d10 in this way after two different colored d4:s and a d6 is a minimal one-roll way since 4×4×6×10 is exactly 960. (And, by subtracting one from each die and multipying with 1, 4, 16 and 96 respectively, then adding those numbers together, you find the number in the Chess960 numbering scheme.) The d8, d4, d6, d20 still give equal chance for all 960 positions, but with every position being represented in four different ways.

Or alternatively (using an additional die and different calculations): Place the first knight according to the value of the d20 die, by counting the five empty squares and looping back to the left whenever reaching the rightmost empty square. Then with four empty squares remaining, do the same for the other knight using the dodecahedron (d12) die. With this method, every position is represented in 48 different ways.

  • Place the king between the rooks on the remaining three squares.

It is stated (but not proven) that this method (and the others) "generat[e] random starting positions with equal probability".

  • Thanks. That's especially neat with the icosahedron. If we amend my method to use an icosahedron in that way to place the Ns, then we always need exactly 4 throws (d4 for each of the two Bs, d6 for Q, d20 for the two Ns together). – h34 Oct 26 at 9:15
  • 2
    In principle, it should be possible to do it with 3 throws, since 960=20*12*4. The coding becomes more complicated though. – Federico Poloni Oct 26 at 13:10
  • 1
    Sure, that's essentially the same as Shannon's noiseless coding theorem. – Glorfindel Oct 26 at 13:12
  • For instance, one such method would be: d4 tells the position of the black B; d12 tells the position of the white B and gives a 1-3 number which is combined with the first digit of the d20 (0 or 1) to encode the position of the Q; then the second digit of the d20 encodes the positions of the Ns. – Federico Poloni Oct 26 at 13:15

Numbering from white's left, and assuming each die carries consecutive integers starting at 1, you can do it in the order BQN as follows:

  • throw a tetrahedron; if n is up, place the white-squared B on the nth free white square
  • do the same for the other B, except place it on the nth free black square
  • throw a cube; if n is up, place the Q on the nth free square
  • throw a cube; rethrow until a number n≠6 is up; place a N on the nth free square
  • throw a tetrahedron; if n is up, place the other N on the nth free square
  • now place RKR on the remaining free squares in that order

This method uses two dice: a tetrahedron and a cube. The tetrahedron is thrown 3 times; the cube a minimum of 2 times and a mean of 2.2 times.

Equivalently, use a single dodecahedron and interpret n base 4 or 6 according to whether you would otherwise use a tetrahedron or cube. You then need to throw at least 5 times and a mean of 5.2 times.

This is neat because all you need to remember is "BQN". But I do not know whether this yields all 960 positions with equal probability.

  • If you don't have a tetrahedron, you can, of course, throw a regular six-sided die until you get a result which isn't 5 or 6. – Arthur Oct 26 at 13:55

In the year 2005 or earlier, an Edward D. Collins, wrote the following procedure "How to Create a Fischer Random Opening Position".

The pawns go on their original squares. The pieces will be placed randomly on the back rank, subject to the rules of Fischer Random chess. The bishops must be on opposite colors and the King must be between the two Rooks. For each of the first five steps below, simply roll the die and act accordingly to place the white pieces. After placing White's pieces, Black's pieces are simply a mirror image.

Step #1 Select a black square for the bishop If you roll a 1 place a bishop on a1. If you roll a 2 place a bishop on c1. If you roll a 3 place a bishop on e1. If you roll a 4 place a bishop on g1. If you roll a 5 or a 6, roll again.

Step #2 Select a white square for the next bishop If you roll a 1 place a bishop on b1. If you roll a 2 place a bishop on d1. If you roll a 3 place a bishop on f1. If you roll a 4 place a bishop on h1. If you roll a 5 or a 6, roll again.

Step #3 Place the Queen on the empty square of the number that you roll. For example, if you roll a 1, place a Queen on the first empty square. If you roll a 3, place the Queen on the third empty square.

Step #4 Place a knight on the empty square of the number that you roll. Again, for example, if you roll a 2, place a knight on the second empty square. If you roll a 6, roll again.

Step #5 Repeat Step #4 for the other knight. If you roll a 5 or a 6, roll again.

Step #6 Finally, place the King in-between the two rooks.

This procedure creates any of the possible 960 opening setups with equal probability.

EDIT: The source is http://www.edcollins.com/chess/fischer-random.htm

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.