The Fischer Random Shuffle consists of 960 opening positions, where the pieces on the chess board are arranged in a random pattern according to a set of rules.
frshuf creates a library of subroutines for generating the 960 opening positions for Fischer Random chess. The main subroutine in this library is called shuffle(). This subroutine creates a list of opening positions in random sequence. From this list of opening positions, you can create draw sheets for each round in a tournament, where Fischer Random chess is played. For example, board 1 in each round takes the first position on the list. Board 2 takes the next position on the list. This is repeated until all the boards for each round are assigned.
On the other hand, if you are playing a game against a computer, you can run the frsfen program to generate a list of FEN positions. These FEN positions can be loaded into a chess playing program, one at a time, allowing you to play a game according to the current position.
frsfen >filename.fen
In this example, filename.fen is the name of a FEN file to load into a computer chess program.
tst.sh is a shell script for validating the permutations of the Fischer Random Shuffle. There are no parameters for this shell script. The result should be a one line report showing the number 960. This number indicates that all 960 positions in the permutation are unique.
Chess Life (magazine)
March, 2004, page 6.
UPC: 0-73361-64631-6 03
Describes a way of creating a Fischer Random Shuffle position with coin flips.
Network Working Group
Request for Comments: RFC-1321
The MD5 Message-Digest Algorithm
by Professor Ronald L. Rivest
MIT Laboratory for Computer Science
and RSA Data Security, Inc.
April, 1992
md5 is used to hash the randomizing seed in libfrshuf.a.