Let’s talk money! I will pay you $1000 if you can show that BGBlitz uses unfair dice. Easy money?
It is often said that Backgammon programs cheat, although no evidence has ever shown this to be the case. BGBlitz doesn't cheat, but you don't have to take my word for it, it is simple enough to prove this to yourself with the use of the superb BGBlitz.
Theoretically, a program can cheat in two ways (if you
find another way, please tell me). Firstly it can change
the rolls, so that it gets more ‘fortunate
numbers’. You could naturally use manual dice to
avoid that but this can be time consuming and a little
cumbersome to say the least, though feel free to try this
way if you so wish. Instead you could try the following;
Select "Game/Random Number Configuration" and type in any
number as the seed (Initial value) e.g. 7 and "Linear
Congruence" as random number generator (RNG). Now play a
game and record your dice (with this example the rolls will
be 26, 52, 25, 36, 15 and so on).
Now, set the seed to the identical value again (i.e. 7 Linear Congruence). The same dice will come up time and time again. Although you may move differently, whatever you try, the same sequence of rolls occurs totally independent of the state of the game. Here is a screencast that demonstates this. This is one way to take out the ‘fortunate number’ idea.
The second way to cheat is to peek into the future to
see the upcoming rolls.
Setup any position, look which move BGBlitz chooses. Then, setup this position again and change the value of the seed. Each time, TachiAI (the Artificial Intelligence setting for BGBlitz) will select the same move totally independent of the future rolls. This shows that BGBlitz does not look into the upcoming rolls, but plays its best moves on the position in hand. You can also look at the "Best Moves" (game/ best moves) dialog box. There, you will find the same move order and the same evaluation every time, totally independent of the seed.
Since version 1.9.4 you have even more transparency. On the "Game/Random Number Configuration" dialog box, you can select the RNG to use:
- The already used "Linear congruence" generator. (The algorithm is described in Watkins: "Discrete Event Simulation in C").
- The well known Mersenne Twister.
- The algorithm Sun Microsystems uses for cryptographic random number generation.
- When connected to the internet: real random numbers from www.random.org. If not connected, the aforementioned Sun algorithm is used instead.
- Recorded real random from "quantum randomness of photon arrival times" (see https://qrng.physik.hu-berlin.de).
- Numbers provided by you, read from a text file.
If you press "Set" the RNG is initialized accordingly and you will see the corresponding rolls during the game.
I hope that this has helped in understanding just how well BGBlitz plays its game. The $1000 offer still applies but I feel this to be the safest bet I would ever make.