All About GNU

by Albert Silver

By now, it’s fairly common knowledge that just about all the top players make use of the neural-net backgammon programs such as Snowie, or the older Jellyfish. The impact these programs have had on the way the game is understood and played cannot be overstated. Players of all levels have the option of purchasing these revolutionary ‘bots’ (short for robots) in order to not only have the pleasure of getting a drubbing by a world-class opponent as many times as they want, but also have it analyze their moves, games, and matches. The program will point out our mistakes, tell us how big a blunder our move was, and list the best moves. It is still up to us to understand why our move or cube action was wrong, however there is no question such a tool is priceless.

Perhaps ‘priceless’ is a poor choice of words as the price is by no means a given. Though the programs come with different options depending on how much one is willing to spend, a version with all the trimmings, such as importing one’s matches, analyzing the games, grading your play, allowing rollouts, etc. will set you back no less than $380 for Snowie or ‘only’ $220 for the older, and less sophisticated Jellyfish. This would seem to indicate that a top-quality aide is only in reach of someone with deep pockets or a deep commitment. If not, one has to look at some of the free offerings available on the Internet.

That's where GNU comes in. Personally, when I first heard of GNU Backgammon, I immediately remembered with a grimace my first experience with an old version of GNU Chess several years earlier: an engine that barely played at an expert level, as opposed to other master-level programs, an absolute bare minimum in functions, and graphics that reminded me of my first Atari video game system ... from back in 1977. The surprise that awaited me couldn't have been greater.

GNU Backgammon is first of all a neural-net program of World-Class strength. It is based on the same technology from which Jellyfish and Snowie originated.

Neural Net technology
 
The concept of neural-net technology is what permitted the breakthrough in playing levels from 'interesting amateur' to 'world-class' playing literally on par with the best in the world. The person behind this brilliant idea is Gerald Tesauro, a researcher for IBM, who built the first neural-net program called TD-Gammon. The difference it brought was that instead of simply using weights and strategies of programmers and players, it created its own by playing against itself hundreds of thousands of times, with each version stronger than the previous one. By version 2.1, which had played 1.5 million games, two-time World Champion Bill Robertie declared it as good as a strong master and even wrote a book on the experience called Learning from the Machine. In fact, because of its independent learning, its play and that of subsequent programs using neural-net technology have revealed revolutionary strategic knowledge of the game from which top modern practice is based. GNU Backgammon is among those neural-net giants, and is among the top programs in the world.


Features

How strong is GNU?

On GamesGrid, the famous online server where many of the world's best play, a bot called GGRaccoon, using the GNU 0.13 engine and playing on a weaker setting so that it plays instantly, has achieved a rating as high as 2165 and is a favorite sparring partner of the top players there.

A match was also done using Tony Lezard's Dueller software where GNU 0.13 played 100 7-point matches against Snowie 4 using their ideal settings. Although GNU won with a convincing 56-44, subsequent analysis, taking into account the luck factor, revealed that they were of exactly the same strength. GNU 0.14 is 1.18% stronger at 0-ply (the setting of GGRaccoon) than GNU 0.13 at 0-ply in money games.

GNU is made of 3 neural nets: the contact net which is the main net for middlegame positions, the crashed net, and the race net which is so that GNU does not suffer from the common bane of backgammon programs: the non-contact bearin. For more information on how the neural nets were developed, see Joseph Heled's (the developer) site The GNUbg Training Program. Be sure to select full instead of concise at the bottom left of the site if you do visit it.

Brief feature list

Aside from offering an analytical engine of the highest order, GNU's interface provides a very impressive number of features for users, many of which are not available in commercial programs. It's worth mentioning that GNU Backgammon is also available for MacOS, Solaris, Linux, and other operating systems. There are also programs using the GNU engine running on Pocket PC PDAs, and the source is available to be ported to PDAs.

Advanced players will also find a wealth of options to help in their study of the game: What follows is a tutorial intended to present most of what GNU Backgammon has to offer, though not exhaustively so, and how to make the most of it. Therein you will find out about:


Where to get it

The official site of GNU Backgammon is either http://www.gnu.org/software/gnubg/ or http://www.gnubg.org though to download an installable version of the program, you’ll want to go to the second site. Go there and select Download.

And then the version (Windows, Mac OS X, Linux, etc.) you want.


Playing a game

The first and most basic feature is to simply set up a game and play, so let’s start with that. Start the program and maximize the window. If the appearance isn’t to your liking, you will find out how to customize it further below.

Starting a game

To start a game, just click on the New button    and a small window will open

so you can set your choice of a game, match, or money game session, as well as whether you want to use Manual dice, or activate the Tutor mode. When you are playing, it will automatically show the pip count (and difference), though you can de-activate it by going to Settings menu and in Options, under the Display tab

uncheck the box Show pip count below board. If you want to only refer to it on occasion, for example to test your own estimation, go to the Analyze menu, select Pip count, and the count will appear at the bottom left.

Rolling dice and doubling

To roll the dice, simply click on the empty space of the board on the right side. The same goes for doubling, where you can just click on the cube on the board.

After you’ve rolled the dice, just clicking on a checker will have GNU play the highest number with it, and after with a second checker or the same one, it will play the lower number. GNU will also help you see where the pieces can go. Just click on a piece and start to drag it. You will see the possible landing squares highlight in green.

If you would like GNU’s analysis of a move or cube decision while playing, go to the Analyze menu and select Hint, or press the keyboard shortcut Ctrl-H. For details on the Hint/Annotation window, see below.

Tip:  You can also play GNU with a full-screen 3D board and 3D dice rolling. See Board designs—2D and 3D and Full Screen Board for more on that.

Toolbar

While playing, you can access the main functions through the toolbar at the top:

The functions from left to right are:

New To start a new game.
Open To open a saved match or position.
Import To import a game/match from another source, such as FIBS, Gamesgrid, or Truemoneygames.
Save To save a game or position in GNU’s native format.
Export To export the game to HTML or another format.
Accept
Decline
In case a double or redouble is offered.
Beaver Allows you to beaver in case a double or redouble is offered in a money game.
Resign To resign, though GNU will refuse an offer for a single game if there is a chance for a gammon still.
Undo If you haven’t clicked on the dice yet, and want to change your move.
Hint To ask GNU’s considerable opinion.
Edit To change the names of the players, or the position.
Direction To change the direction the checkers move.
Stop To stop the program if it is analyzing or doing a rollout.

Human vs. Human

You may wish to use GNU to keep track of a game or match against a friend, and play directly on GNU, or you may wish to enter a game from another source such as a book or a videotape for safekeeping and analysis. Start a game by clicking on the New button. In the window, select Human vs. Human. Select Manual dice if you want to enter the dice played, and not have GNU roll them.

If you want to change the direction of the play (ex: left to right), just click on the Reverse Direction    button. You can set/change whose turn it is to play by clicking on the small checker next to the player's name at the bottom.

You can also set the turn of the player to move in the Game menu and by selecting Set turn at the bottom.

To enter the moves, just play as you normally would against GNU: clicking on the board to roll the dice, selecting the dice rolled, and then playing the move. If you make a mistake and enter the wrong dice, just go to the Game menu again and select Set dice.

If you make a mistake in the move played, and want to correct this, go to the Game Record (the move list), click on the move you want to change,

replay it, and continue from there. It will automatically erase the moves after. If you also want to change the dice rolled, click on the move, then press the Edit button on the toolbar, click on the dice, select the dice you want, press the Edit again, and continue from there.

If you wanted to double, the simplest way is to click on the move before, re-enter it, and then double. GNU will automatically continue the game with your change and erase the moves that came after.

If you don’t see the move list, go to the View menu, and select Game Record.

Tip:  Don’t forget to save your results regularly (press the Save button) so you don’t lose important information by accident.

Player strength

First set the settings by clicking on the Settings menu at the top, then click on Players. This opens a window displaying the settings for GNU or allowing you to play against someone else (or even have GNU play against itself). At the top there is a tab where you can also set your name for the player. For the GNU engine, I prefer the pre-defined setting of Supremo or World Class for both checker play and cube decisions. At this setting it will take some time to play at given moments which may not be to the taste of everyone, so if you want a top-notch game, just a fraction worse, but almost instant, select Expert instead. You may also get tired of getting beat up by it (if you think it cheats, read the section A Word about 'Cheating'), in which case, you can select more modest playing levels.

If you are a Snowie user, or have seen Snowie's analysis, you may wonder why my recommended level of play (Supremo) is set at 2-ply when Snowie's strongest setting is at 3-ply. The reason is simply one of nomenclature, or naming. Snowie starts counting at 1-ply whereas GNU starts at 0-ply, so GNU's 2-ply is in fact the same search depth as Snowie's 3-ply.

Move Filter

The move filter allows you to control exactly how many moves GNU is examining at each ply. A ply is basically one move played by one side, thus if both sides played a move, it would be one whole move, but two plies, one for each side. To change the specific settings, press the Modify... button.

Although the level presets, such as World Class, Supremo, etc. are tested and good, you may want to know or control how GNU filters its moves to analyze and how many.

If you are playing Expert level (this is what GGRaccoon is set at) or another 0-ply setting, the Move Filter settings will not change a thing, as Expert level automatically examines all moves. At Supremo level, this changes though, as it takes a selection of the best moves from 0-ply and examines them at 2-ply. This means that for those selected moves it will calculate all the possibilities 2 plies ahead and evaluate them, allowing it to find better moves. Since Supremo is a 2-ply setting, we are only interested in the 2-ply settings of Large as in the figure above. 3-ply or 4-ply settings will have no effect here because Supremo doesn't examine at that depth.

In the figure above, we can see it first will Always accept 0 moves. This first line means that it won't force any moves to be analyzed at 2-ply, it will only analyze moves according to the second line. If it had said it would always analyze 2 moves, this would mean that no matter how ridiculously bad the 2nd move was compared to the 1st, it would analyze both at 2-ply.

The second line says it will Add extra 16 moves within 0.320. This means that provided they aren't more than 0.320 equity worse than the top move, it will select a maximum of 16 moves to analyze at 2-ply. For example, in the diagram below

the 2nd best move is no less than 0.453 equity worse than the top choice, so it didn't bother analyzing them at 2-ply as it is unlikely to change its mind on what the best move is.

Take a look at the figure below now:

Here, the exact same settings were maintained, but the 1-ply filter was activated. This just means that those 16 moves selected from the 0-ply are sent instead to be analyzed at 1-ply, and then up to 5 moves from 1-ply will be sent to be analyzed at 2-ply. So this would actually be faster than the previous setting (and weaker), since a maximum of only 5 moves would be analyzed at 2-ply depth.

Tip:  Feel free to experiment with the settings, as you can always reset them by simply choosing one of the level presets. One setting change I’d recommend is that of the 4-ply. The default setting only considers 2 moves if they are within 0.040 equity of each other. While I trust GNU’s analysis, there is often more than one move within that range, and I wouldn’t want it to miss analyzing one because it is instructed to only look at two moves. I set the filter as in the diagram below:

Before going any further, do not forget to click on Save settings at the bottom of the Settings menu. You must do this every time you make changes you wish the program to remember the next time you load it.

Playing options and Tutor

In the Settings menu, select Options, and a small window opens. Here, you can activate automatic bear-off (it will automatically take off the most checkers if it can sparing you the effort of playing obvious moves), choose the equity table to be used (Woolsey's, Snowie's, etc.), select Nackgammon, choose to play with manual dice (you play with your own personal dice instead of the computer's) and a great teaching tool: the Tutor Mode.

When activated, the Tutor mode has GNU analyzing your moves and/or cube decisions and comparing them with its choices. You set the threshold for its alerts, so if you set it for bad, it will only warn you when you make a bad mistake. It will then allow you to re-examine your choice, go right ahead with it, or provide a 'hint' essentially showing you its analysis.

My personal choices are to set the limit to bad, and to set the Tutor decisions as Same as Analysis.

Tip:  Before going any further, do not forget to click on Save settings at the bottom of the Settings menu. You must do this every time you make changes you wish the program to remember the next time you load it.

Backgammon variations

Backgammon has a number of variations, some of which are quite popular on the servers. The main ones are Nackgammon and Hypergammon, both of which are supported by GNU, as well as an Eastern variation of the rules not allowing more than 5 checkers on a single point. GNU is also capable of directly importing and recognizing Nackgammon and Hypergammon games played on the servers for analysis.
Nackgammon

This variation of backgammon conceived by Nick "Nack" Ballard has two checkers removed from the 6 and 13 points and places them in the opponent's board to form a second anchor. Play follows standard backgammon rules and games are naturally longer. It is considered a more strategic struggle, with luck influencing less than normal backgammon. To play a game of Nackgammon against GNU, go to the Settings menu and then select Options.

Under the tab Game, select Standard backgammon with Nackgammon starting position. This way it will set up a game of Nackgammon instead of normal backgammon.

Hypergammon

Hypergammon is a very different game, though it too follows the standard rules of backgammon. In it, each player starts with only 3 checkers in the opponent's board and must of course cross the board and bear them off as in normal backgammon. To play Hypergammon in GNU you must first build the Hypergammon databases using the tool makehyper.exe, or you can download the databases here.


Advanced Playing Information

For players seeking more advanced information on the position, GNU also provides information on the Match Equity Table (MET), race theory (Kleinman count, Thorp count), a powerful Market Window/Gammon value viewer, and a new tool called the Temperature Map courtesy of Sho Sengoku.

Match Equity Table

The Match Equity Table can be viewed at any moment by entering the Analyze menu and selecting Match Equity Table. There you will see table values including Pre-Crawford and Post-Crawford scores. The table used by GNU is by no means imposed, and you can select any of a number of provided ones, including the Snowie MET, Woolsey's, Jacob and Trice's, etc. by selecting Load Table.

In the window that opens, enter the met directory on the right, and then on the left choose the table you want. The tables all end with the .XML extension, so to select the Jacobs and Trice table, choose jacobs.xml. Again, don't forget to save the settings (Settings menu Save settings) otherwise it won't remember your choice of table the next time you use GNU.

Match Equity Tables
 
The use and knowledge of Match Equity Tables, or METs, in match play is well understood by experienced players. If 25% is the limit to take a double in a money game, ignoring cube revig, in a match this changes enormously according to score. The most famous and popular MET is probably that by Kit Woolsey and Hal Heinrich. However, quite a number have been developed by notable players and researchers, each seeking to get a little closer to playing perfection. GNU allows you to select the MET of your choice, and also includes several you may not be familiar with, with mysterious names such as g11 or Mec26. The first thing to realize is that the Woolsey/Heinrich table is based on a 20% gammon rate, and the bots have clearly shown by today that a more appropriate gammon rate is around 26%. Both the g11 and Mec26 tables use such a rate, though g11 is probably even more precise, as the values up to an 11-point match were generated from extensive rollouts by GNU, and the scores above refer to the Mec26 table. For an expert opinion on the subject, allow me to refer to Neil Kazaross, who wrote a post on this at the GammonLine forum.

Kleinman and Thorp counts

If the game situation is a race, one can look up what the Kleinman count or Thorp count has to say about it.

Market Window/Gammon value

GNU offers a powerful Market Window/Gammon values tool (Analyze menu Market Window) to the advanced or aspiring player. This tool will answer all questions on a position's take point, double point, etc. for both players at any match situation, including side-by-side dead-cube/live-cube scores. If you wish to see how other match scores would affect the figures, you can simply use the arrows, and you can change the cube value. And if it is a money game, then the respective double, beaver, raccoon, redouble values will be shown instead.

Temperature Map

Sho Sengoku conceived and developed the idea of the Temperature Map, which is now available to GNU users. Essentially what it does is allow you to see the possible consequences of a move or cube decision in a visual manner. It is available in the Analysis pane, and in the Hint window. The best way to understand this is to give an example.

Commenting on the position above, as can be seen in the Hint window below, GNU says that running off the anchor with 20/14 would lose 0.064 equity compared to the best move 6/5 6/1.

It explains this to us through its estimated percentages of wins and losses, but even trusting the numbers, it is sometimes difficult for a player to see why one is worse than the other. This is a classic "pay now, pay later" situation, ideally suited for the Temperature Map. To see it I highlight the moves I want to compare, and then press the Temp. Map button. To select more than one move, keep the Ctrl key pressed and click on the moves you want to examine. Here is what it shows me:

The whiter the squares the worse the roll would be for me, and the darker the red, the better. We can see that after 20/14 there would be a number of possible rolls that would lead to disastrous situations compared to the ugly, but necessary 6/5 6/1.

If for example, you wanted to see why a certain roll, flagged with a white square, plays worse, you can click on Show best move, and the best move after each roll will appear in the corresponding square. Likewise, checking Show equities would show the resulting equities of each case scenario.

The Temperature Map is also available for cube decisions. Why cube decisions you might ask? The reason is that it allows you to see the volatility of the position, and would thus allow you to see quickly and easily the potential market losers of a position. You can set the depth of the analysis as seen at the bottom of the figure above, but be warned that even a 2-ply analysis of all the possibilities can take some time.
 


Importing and Exporting games

GNU allows users to import matches from a variety of formats, including the Jellyfish formats, the FIBS oldmoves format, the Snowie GamesGrid format (.sgg), the TrueMoneyGames format (.tmg), and even Snowie's Standard Text Format among others. It also allows you to export your games and positions into the Jellyfish format (.mat), HTML (including easily customizable graphics), a readable text format with diagrams (.txt), and even a PDF document. If you'd like to share a position and some analysis in text format, you can have GNU send this directly to the Windows clipboard for pasting.

Importing games

Since many players who play online will want to make use of this to analyze their matches, or at the very least see how they did, below are step-by-step instructions on how to do this whether you play at FIBS, GamesGrid, or TrueMoneyGames. Essentially, you just want to save the games in a format that GNU can read and then import them.

To import a match or position, just press the    button on the toolbar. Then select the type of file you wish to import, locate the file, and that's that.

Tip:  For those who take online classes, please note that it imports the commentary saved on a move-by-move basis at GamesGrid, so you can see comments in the annotation window when going over the moves. I tested this with an online class and it was all there, neatly saved at every move.

FIBS—Importing and analyzing

These instructions are for use with JavaFIBS, my preferred FIBS client.
  1. After your match or game is finished, in the JavaFIBS client, go to the Tools menu and select Match Converter.
  2. In the window that opens, click on the match you want to analyze, and press the Convert button. I'd recommend deleting the match after this (pressing the Delete button) so the list doesn't grow too big.

  3. Open GNU, enter the File menu, select Import, and then choose .mat match.
  4. Locate the match and import it. You'll find it in the main JavaFIBS directory, in the subdirectory Match and then Jellyfish. See the tip below to avoid having to do this every time.
  5. Go to the Analyze menu and select Analyze match. See Analyzing matches to learn how to change the analysis settings.

GamesGrid—Importing and analyzing

  1. When playing or watching a match at Gamesgrid, be certain to activate the Record button    so it will save the game when you are done.
  2. In the save game window, change the format to be saved to Gamesgrid Snowie Match (.sgg) and then press Save.

  3. Open GNU, enter the File menu, select Import, and then choose Gamesgrid .sgg match.
  4. Locate the match and import it. You'll probably find it in the Gamesgrid directory in a subdirectory called SaveGame. See the tip below to avoid having to do this every time.
  5. Go to the Analyze menu and select Analyze match. See Analyzing matches to learn how to change the analysis settings.

TrueMoneyGames—Importing and analyzing

  1. I'd first suggest changing the option in the TrueMoneyGames client so that it always saves matches by default. Note that you cannot save a match that you are only watching. After opening the program, go to the Tools menu and select Options. In the window that opens, click on the Table tab at the top and then set the options as in the figure below.

  2. After saving your game or match, open GNU, enter the File menu, select Import, and then choose TrueMoneyGames .tmg match.
  3. Locate the match and import it. You'll probably find it in the TrueMoneyGames directory, called TMG, in a subdirectory called SavedGames. See the tip below to avoid having to do this every time.
  4. Go to the Analyze menu and select Analyze match. See Analyzing matches to learn how to change the analysis settings.

Tip:  You can have GNU always remember where to get or save a specific file format. For example, to have it remember where to import your matches from Gamesgrid go to File, then Import, and then Gamesgrid .sgg match. In the window that opens, first go to the directory where the matches are saved, but before opening the file, press the Set As Default button at the top. After this, save your settings (Settings Save settings) and GNU will remember where to find your Gamesgrid matches. You can set GNU to remember different directories for each and every type of file format.

Exporting games/positions

GNU allows users to Export their games and matches into a variety of formats such as the Jellyfish formats, text format, not to mention PDF, LaTex, PostScript, and even HTML. Note that when exporting to these formats you get the moves, diagrams at each move, the analysis, and even the game/match statistics. In text format you'll see the boards in ASCII art, and in PDF, you'll literally get an instant e-book of the match. It also can export board positions and Gammonline HTML to the Windows clipboard for easy pasting.

Windows Clipboard export

Text export

If you want to share a position and analysis with someone via e-mail or a bulletin board, you can save it to a text file and then recopy the contents, but there is a simpler way. When the position is on the board, go to the Edit menu and select Copy as and the Position as ASCII.

Now all you need to do is paste it wherever you like using the Paste command from the menu or the Windows shortcut Ctrl-V (or Shift-Ins) and get something like this:

GNU Backgammon  Position ID: sGfwGQDg28EBBg
Match ID   : cAlvATAAIAAA
+13-14-15-16-17-18------19-20-21-22-23-24-+     O: Kit Woolsey
| X           O    |   | O  O  X          |     3 points
| X           O    |   | O  O  X          |
| X                |   | O                |
|                  |   | O                |
|                  |   |                  |
|                  |BAR|                  |     11 point match (Cube: 1)
| O                |   | X                |
| O                |   | X                |
| O           X    |   | X                |
| O     O     X  X |   | X                |     Rolled 63
| O     O     X  X |   | X                |     4 points
+12-11-10--9--8--7-------6--5--4--3--2--1-+     X: Gammonline Readers

If the diagram comes out bad, it is probably because of the font. To fix it to look like the above, highlight the text of the diagram and change the font to Courier New and the size to 9 or 10.

To paste the analysis of the position, look at the analysis in either the Annotation window or the Hint window, highlight the moves, and press the Copy button. Then paste it just like the diagram.

Gammonline HTML export

If you are a GammOnLine subscriber, enjoy the GammonLine forum, and would like to share an interesting position, you can also make use of the GammonLine board images as seen in pretty much every article available, AND publish the analysis in elegant HTML. To do this go to the Edit menu, select Copy as, and then GammOnLine (HTML).

Now go to the text body in the forum and paste it with Ctrl-V (or Shift-Ins). This will work even if the analysis is only in the Hint window.
 

PNG Image export

You may also wish to simply save the board position as an image file that you can add to a Word document or HTML document for example. To do so, go to the File menu and select Export, then Position, and PNG. Be careful to add .PNG to the name when saving the image. The board image saved will use the color scheme currently being used. If you wish a different color scheme, change the design (for more info see Appearance: Board designs). You can also change the size of the image that is created by entering the Settings menu, then Export, and at the bottom right of the window that opens, set the size you want.

HTML export

GNU is capable of creating elegant HTML files so that you can publish your games on the web. It will create them exactly according to your specifications, including the number of moves, what it analyzed, the board design of your choice, and even the match/game statistics. Here is a sample of what it looks like:

Move number 3: mamabear to play 31

Position ID: 0HPhATDg2+ABMA Match ID: MIHlAEAAAAAA
Pip counts: mamabear 160, KitWoolsey 162

*mamabear moves 24/20*

# Ply Move Equity
* 1 2 24/20* +0.206
  60.6% 21.1% 1.7% - 39.4% 8.9% 0.2% 
  2 2 8/5 6/5 -0.067 ( -0.272)
  55.2% 18.1% 1.1% - 44.8% 13.8% 0.6%
  3 0 24/23 13/10 -0.244 ( -0.449)
  50.2% 15.1% 0.9% - 49.8% 15.1% 0.6%
  4 0 24/23 24/21 -0.256 ( -0.462)
  49.8% 13.6% 0.8% - 50.2% 14.8% 0.4%
  5 0 24/21 6/5 -0.285 ( -0.491)
  49.7% 14.4% 1.0% - 50.3% 16.5% 0.7%

To set all the settings as you'd like, you need to go to the Settings menu and then select Export. There you can choose, down to the smallest details, what it will display and how. The 'how' concerns the images used to produce board positions. This is chosen at the bottom of the window and you can choose between its own HTML images or two others, which are FIBS and BBS.

You can choose what the board in the HTML page will look like, and have it appear exactly as the board design (see Appearance: Board designs for more on this) you are using in GNU. To do so, you need to create a directory to place the images and then export them. First, go to the File menu, select Export, and then HTML Images... Find a directory to place them in, or create your own by pressing the Create Directory button at the top. I'd suggest using the default name \html-images. Now enter the directory and press the Ok button. Be careful to remember the name of the directory you placed the images in, including capital letters if you used any. Now go to the Settings menu, select Export and then at the bottom select GNU Backgammon board images (circled in red below) and type the name of the directory.

Tip: If you want to post a position in an online forum that supports HTML you can do this regardless of whether the forum itself supports the necessary images. Here's how:

  1. First be sure the image to be exported is currently on the board, and then in the Export settings set the HTML board type to fibs2html. In the space below URL to pictures, enter http://fibs2html.sourceforge.net/images/ as shown below. Be sure to click Ok, and then Save settings.

  2. Go to the File menu, and select Export, then Position, and then HTML. Save the file and then open it in Internet Explorer. In case this already sounds a bit mysterious, inside IE just go to File Open and click on Browse... Locate the HTML file you saved and open it.
  3. Once you see the board and image in front of you, still in IE, go to the View menu and select Source... This will open a small window with a lot of code. Copy the entire contents to the body of the post you are writing, and the board and analysis should appear in the forum without any problems.


Analyzing matches

GNU also comes with a set of functions that allow it to analyze a game or match, provide a detailed graded report, and allow you to navigate through the moves to quickly see the mistakes made.

Before starting, you'll want to configure the settings first, though this will only need to be done once. Go to Settings and select Analysis. A fairly large window will open, allowing you to play with as many settings as you could want. This is also where you set the thresholds for the Tutor mode (dubious, bad, etc.). Feel free to look around, but I simply set this to analyze checker play, cube decisions, and luck, and set the level of analysis at World Class for both checker play and cube decisions. The Move limit setting is to set the maximum number of moves it will display in the Hint window and the Analysis pane.

Tip: Once more, please do not forget to save (Settings Save settings) after making changes in the settings, or you will be forced to change them again the next time you start the program.

If you just played a match at an online server, import it first, then go to the Analyze menu and select Analyze match. If you only want to analyze a specific game, open it and then select Analyze game. Once started, you will see a bar in the bottom right corner showing the progress made in both the number of moves and percentage completed.


Analysis Results and Grade

Once GNU has finished analyzing your games, you'll want to see the report and then go over the bloopers. In the Analyze menu, select Match statistics, and a window will open. Feel free to resize it (clicking and dragging the edges) to show more information. It will show you the results of both players side by side, allowing you to quickly compare notes.

You can click on the tabs at the top see the detailed information on how you did specifically in checker play, cubes, and even how lucky or unlucky you were, and see the individual grades for each area.

If you right-click on the information, you will have the choice to copy it or all the pages into the Windows clipboard, that you can paste wherever you like.

It is very revealing when you see a very different evaluation of your checker play as opposed to your cube decisions. Another feature (in my opinion) is that GNU only grades your checker play according to non-forced moves, contrary to Snowie which grades while including moves that were spent on the bar or that were forced. In other words, if you played 50 moves but 10 of those were spent on the bar (you can hardly make a mistake if you can’t play), then GNU will average your error rate according to the 40 unforced moves.

You can save these results with the match (File Save Match), so that you can see the analysis at anytime without having to redo it. If you are used to Snowie's grade system, or would like to compare them, you will see the equivalent Snowie grade at the top.

GNU can be quite tough on the grades, much harder than Snowie 4, so an Advanced grade in GNU could easily be an Expert or World Class grade in Snowie 4. Below are the limits of each grade:

Snowie's thresholds (to understand the Snowie rating) are:

0.0 - 1.2Extra-terrestrial
1.2 - 4.4World class
4.4 - 5.9Expert
5.9 - 8.8Advanced
8.8 - 12.6Intermediate
12.6 - 18.5Beginner
18.5 - ??Novice

GNU's thresholds are:

0.0000 - 0.0017Supernatural
0.0017 - 0.0062World Class
0.0062 - 0.0083Expert
0.0083 - 0.012Advanced
0.012 - 0.018Intermediate
0.018 - 0.026Casual Player
0.026 - 0.035Beginner
0.035 - infinityAwful!

GNU will also attribute an estimated Elo rating of your play based on the FIBS rating system, but it will only do so for match play.

You can also copy the results of the report to another document. To do this, click on any of the lines, then right-click with the mouse, and select either Copy Page or Copy all Pages.

Tip:  If you use a program such as Word or WordPad (avoid Notepad), the formatting will be lost when you paste it, but this is easily fixed: in the document, highlight the text, and change the font to Courier New and size to either 9 or 10. Ex:

                                     Malcolm Davis         Neil Kazaross
Overall Statistics:
Error rate (total)                    -1.421 (-12.205%)    -1.121 (-10.072%)
Error rate (per decision)               -8.4 ( -0.072%)      -6.2 ( -0.056%)
Equiv. Snowie error rate                -3.7                 -2.9
Overall rating                        Advanced             Expert
Actual result                          -50.00%              +50.00%
Luck adjusted result                    +0.87%               -0.87%
Luck based FIBS rating diff.            +9.13
Error based abs. FIBS rating          1951.5               1972.1
Checkerplay errors rating loss          89.2                 77.4
Cube errors rating loss                  9.3                  0.5


Player Records

You can keep track of the results obtained by yourself and your opponents using the Player Records. There you can store the statistics of your matches and keep records of the average results obtained such as checker play, cube decisions, and luck. It will also break down the results according to the last 20 games played, the last 100, etc.

To add results to an existing account, or simply create a new account in which to add the results (of course you must first have an analyzed match open), go to the Analyze menu, and select Add to Player Records and Match statistics. If the account doesn't already exist, GNU will create it automatically and add the results. If you wish to remove an account, then click on the name in the Player Records, and press the Erase button.
 


Reviewing moves and mistakes

Once you have seen the results of the report, you will probably want to go over the mistakes you made. To do this, you'll need to be sure both the Game Record and the Analysis panes are visible. If you don’t see them, or are unsure, go to the View menu, and activate them.

Game Record

The Game Record pane is located at the top right, and will list the moves, games, and errors:

It always shows the last move of the last game when you open or import a match. You can navigate backwards and forwards move-by-move with the green arrows, and game-by-game with the red arrows. If you use the buttons with the question marks on the green arrows, it will go from mistake-to-mistake. The side-by-side list with colored commentary (note that you must first analyze the match or move before) allows you to quickly overview who made more mistakes in a game, and identify what mistakes and how bad they were. Remember you can set the limits of what is considered a mistake by GNU in the Analysis options in the Settings menu.

Here is a summary of what the colors and codes mean. The early versions of GNU didn’t have the color coding, so they used punctuation marks, standard in chess notation, to describe the moves.

!? Indicates a dubious move.
? Indicates a bad move.
?? Indicates a blunder.

Since every move has two decisions involved, a checker play and a cube decision, one can make two mistakes in a single move, and thus see something like:

63: 24/15!???

Though it may seem like GNU got overly enthusiastic about its comments, the fact is there are two separate comments above. The first punctuation (!?) is for the checker play, and the second (??) is for the cube, so here a dubious checker play was made, and a cube decision blunder was also made.

Note that you can ignore this if you like, and stick to the color coding, as described below. If all this seems a bit disorienting at first, with a bit of practice, it will become second nature.

 Green text Indicates a dubious checker play.
 Blue text Indicates a bad checker play.
 Red text Indicates a very bad checker play.
 Grey background Indicates a dubious cube decision.
 Purple background Indicates a bad cube decision.
 Yellow background Indicates a very bad cube decision.
 Boldface Indicates a very lucky move.
 Italics Indicates a very unlucky move.

Hint window & Analysis pane

You can see GNU’s analysis either in the Hint window by pressing the    button on the toolbar, or in the Analysis pane after a game or move has been analyzed (see Analyzing matches above). You will see a window open showing the best to worst moves from top to bottom or an analysis of the cube decision.

Tip:  GNU allows one to see the analysis in several forms, such as the GWC (game winning chances) or MWC. In order to see it as shown below go to the Settings menu, select Options, then select the Display tab at the top. Set the last 3 choices as below:

Checker play analysis

A first suggestion is to go to the Settings menu, then Appearance, and in it, to the right, make sure the box for GWC as Percentage is checked. Here is what it shows for the dubious move shown above:

First of all, if you are new to backgammon software, and the above looks hopelessly complicated, relax, it isn't nearly that bad. Let's look at the 5th line in red, the move that was played, and figure out what it all means:

 RankAs it's ranked 5th we know that GNU thinks it is only the 5th best move. 
 TypeIt says Cubeful which means that it is taking into account the possibility that someone may double. This means that occasionally you may see several moves with an equity of -1.000 (see Equity below), despite significantly different winning percentiles, because it thinks that if they are played then the opponent will double, and you should pass. The 2-ply is the depth GNU analyzed the move.
 WinThis number is the percentage the move has to win the game. Thus the side to play has a 29.7% chance to win (including gammons and backgammons).
 W gThis number is the percentage of games that should end in a gammon win (including backgammons). Thus 0.7% of the games will be won as a gammon or backgammon.
 W bgThis number is the percentage of games that should end in a backgammon win. Thus 0.0% of the games will be won as a backgammon.
 LoseThis is the percentage of losses expected. Thus one has a 70.3% chance of losing the game (including gammons and backgammons).
 L gThis number is the percentage of games that should end in a gammon loss (including backgammons). Thus 2.2% of the games will be lost as a gammon or backgammon.
 L bgThis number is the percentage of games that should end in a backgammon loss. Thus 0.1% of the games will be lost as a backgammon.
 EquityThis is the overall evaluation of the position by the program, after considering the different win/loss percentiles, the cube position, and the match score. A 1.000 would mean that you are expected to win a point, a 0.000 would mean that it is roughly equal, and a -1.000 that you are expected to lose a point. The score shows an clear advantage for the opponent as your equity after the play is -0.064.
 Diff.This is the size of the error (the difference in equity) perceived in comparison to the top move. As we can see, the top move's equity reads -0.541 and the move played only -0.604, thus equating to a -0.064 error. The thresholds of the degrees of errors are determined in the Analysis settings.
 MoveThis is the move being evaluated. In the case of the red line, it is the move that was played.

As you can see, it shows the best moves considered, with the move actually played in red, plus the various equity scores for gammons, etc. Most players will focus on the last three, which are the total equity of the move, the difference in equity between the move played and GNU's top choice, and what move is being evaluated. However, since GNU can’t explain why one move is better than another, looking at the win percentage, and the respective percentages of gammon wins and gammon losses can help.

That’s all nice and well for the Hint window, however the Analysis pane, if activated, will appear below the Game Record a bit differently. If you don’t see it at all, be sure it is activated in the View menu. Remember also that you must first have analyzed moves or games (Analyze menu Analyze match) for it to display anything.

The organization is similar to the Hint window described above, and the information is identical. The top line of each move shows the rank, the type (depth), the equity and the move played (in boldface). The line below shows the move’s winning percentages, the gammon winning chances, and the backgammon percentages, followed by the respective percentages of the opponent. See above for a detailed description.

Cube analysis

In the diagram above, you can see how its cube analysis looks like. First you will see that aside from the pure cubeless equity, it also says (Money: +0.357). The reason is that the cube analysis was from a match, where the score can completely change the value and correctness of a double or not, and GNU tells you what the equity would be if the decision were in a money game.

Below you can see the expected win/loss percentages, just as for checker play, and below that you can see the actual cube analysis. Here is what you are seeing:

1.   Double, take   +0.688
This is the equity GNU estimates you will have if you double, and your opponent accepts. You will notice this is quite different from the cubeless equity at the top at +0.308. The reason is that this second equity of +0.688 takes into account the cube and power it gives. Since we know this is a match cube, the cube may have a very different value depending on how much it weighs on the match score.
2.   Double, pass   +1.000   +0.312
The +1.000 is simply because if your opponent passes, you would win a single game (no gammon or backgammon) hence the +1.000 equity. Since this is considerably higher than your equity of +0.688 if he were to take, dropping the cube would be a +0.312 blunder (1000 − 688).
3.   No double   +0.646   -0.042
This is what your equity would be if you didn’t double. Since the equity is lower than the +0.688 you would have if you doubled and the double was accepted, not doubling would lose 0.042 (688 − 646), and would therefore be a mistake.

Proper cube action obviously represents what should be done on both sides, in other words you should double, since not doubling would be a 0.042 mistake as we saw, and your opponent should take, since dropping would be a 0.312 blunder.

Other analysis functions

If you’d like to copy the analysis of a move(s) or cube decision to a document, highlight the moves that interest you, and press Copy. If you want to highlight more than one, keep the Ctrl key pressed while selecting the moves. Then paste it where you wish. Don’t forget to change the font to Courier New size 9 or 10 if you wish to maintain the formatting.

If you'd like to see how the different moves it analyzed appear on the board, press the Show button.

Now just click on a move you want to see and the board will display it. To see another move, just click on it. This allows you to quickly see and compare the moves it analyzed. To exit Show mode to be able to analyze the moves or run rollouts, click on the Show button again.

You'll also note a button called the Temp. Map . This is a powerful tool conceived and developed by Sho Sengoku. Please refer to the Temperature Map section for details.

You may also want to have GNU analyze a few select moves a bit deeper. To do this you can have it go a 3rd ply, a 4th ply, or even do a rollout. To do a 3-ply or 4-ply analysis, select the moves you want analyzed, and then press the or .

Let's have it do a 3-ply analysis of the three moves highlighted above. Just click on the number '3' and it will do a 3-ply analysis. Be a little patient as 3 plies is considerably slower than 2 plies, but it shouldn't be too long. If you want to customize the evaluator, click on the button indicated with a small red circle , and change the parameters you want. Now just click on the Eval button, and let it compute its results. You may also prefer to see the Match Winning Chances of the moves instead of the equity. This shows the chances of winning the match as opposed to the evaluation according to a single game. To do so, press the MWC button:

Here we see the results of the 2-ply analysis, displayed not only in percentiles, but in Match Winning Chances, as opposed to Game Winning Chances.

Commenting moves

You can add or read text comments on moves or cube decisions. This is available through the Commentary pane, available through the View menu (View Commentary).

These comments are saved with the game score and can also be exported into HTML, PDF, text files, or any of the other Export options.


Rollouts

So what's a rollout? A rollout is when you have the program play against itself a set amount of times (number of trials) and then sum up all the results of wins, losses, gammons, etc. from those games to give a more precise evaluation of a move/position. The interest is that the program may easily be underestimating some features/dangers of a position, and not realize this by only looking a couple of plies ahead. By playing it out, things will happen, and the game will unfold, giving it more accurate information on the consequences of a move.

One can do a full rollout, meaning it will play the position out until the last checker is born off, or it can be a truncated rollout, playing to a certain depth in plies, enough to evaluate the consequences, or even a mixture of settings.

Rollouts can be done at any time either directly from the Analyze menu with the Rollout option, or from the Hint window. To use the rollout function you must first select the moves you want to rollout, otherwise the button will remain grayed out and inaccessible. You will want to set your preferred options the first time by clicking on the button to the right of the Rollout button.

GNU offers a vast number of ways to set the rollouts, allowing you as many possibilities for efficiency as possible. Its 0-ply play is incredibly strong and practically instant, so it can help give meaningful results very quickly. GNU also plays according to score in its rollouts (using the match equity table of your choice naturally), which Snowie 4 does not for example. I will explain the main options, share the results of some of the testing that has been done, and share my preferences.

When one opens the rollout options window for the first time, it can look vastly intimidating and confusing.

However, it really isn't, so let's run through it from top to bottom and see what GNU can do for you.

Playing Strength

To set the primary playing strength used in the rollouts, click on the tab First Play Both at the top:

This is where you configure the primary strength of play. If you want to set a different playing strength for the cube decisions, you must go to the General Settings tab and at the bottom deactivate the option Cube decisions use same settings as Checker play.

Trials

The topmost part under the tab General Settings is where you set the number of trials.

The number of trials is simply the number of games you want GNU to play out (or roll out) as it collects the results. The more trials the better as this reduces the error margin of the results. After all, if it won a certain position 2 times in 3, it could be a fluke, but after hundreds or thousands of trials with variance reduction (see below) the results become far more trustworthy.

Truncated rollouts

Truncated rollouts are rollouts played to a certain number of moves as opposed to full rollouts. You may feel that the program doesn't really need to play the game to the last move to know whether a move leads to good positions on average or bad ones.

In the above figure the setting is 11 plies, so GNU will play out 11 moves, stop and evaluate the resulting position, and then start the next trial. This is far faster of course, and is particularly desirable if you want to analyze using a 2-ply playing strength which might be too slow for a full rollout.

Evaluation for later plies

One can set GNU to use a different playing strength after a specified number of plies in the Evaluation for later plies.

For example, suppose you had a backgame situation to rollout. Although you wanted the game to be rolled out at 0-ply (1900-2000 Elo), you didn't trust the first plies to be the best. Enabling this as above, you could set the first 8 plies to be played at Supremo (2-ply) and the rest of the game at 0-ply, giving you a bit of both worlds. In fact this has been tested and shown to be very efficient for exactly that type of scenario.

So how does one set the playing strength of the first 5 plies (for example) and after? At the top, there are those mysterious tabs:

If you click on the tab First Play Both, you can set the strength of the first plies to be played. Naturally, if you haven't activated the Evaluation for later plies option this will be the default rollout playing strength. Now, once you have set this, click on the Later Play Both, and you will be able to set the playing strength for the subsequent plies. You can use this option in both full rollouts and truncated rollouts.

Stop at specific Standard Deviation

Obviously, a rollout with too few trials will not yield reliable results due to the large Standard Deviation, or in other words how much the result could be wrong by. The more trials the smaller the possible error, however how many trials are necessary? Unfortunately, this can vary a lot according to the position, so to get a Standard Deviation of 0.020 (meaning the equity given could be actually 0.020 more or 0.020 less) one position might need 400 trials, and another might need 1400. This option is designed to address this problem.

In the figure above, the margin was set to 0.100 and a minimum of 144 games were requested.

Stop at specific Joint Standard Deviation

"When comparing the results of two plays, each of which has an associated random uncertainty (standard deviation), a joint standard deviation needs to be calculated. If s1 and s2 are the respective uncertainties, the the joint standard deviation is given by sj = sqrt(s1*s1 + s2*s2). If s1 and s2 are close (which is almost always the case in backgammon rollouts where the same number of trials were used for each play), this simplifies to s*sqrt(2) = 1.4*s." (Chuck Bower, Understanding Uncertainty, 2001.)

This option allows you to set a rollout to stop when a specific j.s.d. has been reached to compare two moves. You can have it stop when there is no longer any doubt which move is better, or you can have it continue until a certain degree of precision has been reached (you not only want to know which move is best, but by how much), while requiring a minimum number of trials before stopping.

Cubeful

This option is designed to activate or not cubeful rollouts.

A cubeful rollout means that it is using the cube in the rollout and, just as in a normal game, might stop the rollout short due to a doubled cube that is passed.

Bearoff Truncation

Since GNU comes with bearoff databases allowing not only perfect play but perfect evaluations of a position as well, it makes since to have the program stop a rollout when it reaches one of these databases.

Here one can activate or de-activate this option, though it is on by default.

Variance Reduction
 
Whenever running a rollout, you will always want the Variance Reduction activated as it greatly increases the reliability of the results. The first time this ingenious technique was introduced to backgammon rollouts was by Fredrik Dahl, the author of Jellyfish. In a nutshell, it factors in luck when evaluating results, so that the program doesn't need 10,000 games to average out the luck of the dice and that way ensure luck wasn't a factor in the results obtained. With it, 100 rolled out games with Variance Reduction can be the equivalent of 5,000 games with no Variance Reduction.

Quasi-Random dice

Normally, GNU will roll the dice out completely randomly, but this may not be desirable in the rollouts. The reason is that luck may cause a number of flukes to happen, especially in the first roll. What if in your trials, the first roll it played never included some numbers which might lead to a slight change in its evaluation? The variance reduction will compensate for this, but so does the option to use quasi-random dice.

This option deliberately alternates the first roll for every trial so that every possible first roll will have been played after 36 trials, starting with 1 and 1, then 1 and 2, all the way to 6 and 6. The idea is to help negate the luck in the rollouts a bit more. However, this also means that if used, one must use a number of trials that is a multiple of 36. That is why 1296 trials (or 2592 or 3888) is a good number to run rollouts as it is 36 x 36.

Rollout as initial position

If you plan to do a rollout on one of the opening moves you will want to activate the option Rollout as initial position.

The reason is that in the opening move one is not allowed to roll a double. This guarantees this will be respected if you roll from the opening position.

Seed

The seed is a random number that you can choose and that is linked to the random dice generator. It doesn't affect the randomness by any means, and its sole purpose is to allow you or others to exactly reproduce rollout results.

If you see a posted rollout result with the played settings (strength and number of trials), the type of random dice generator chosen, and the seed, you should be able to exactly reproduce the results by using the same settings and the same seed.

Same cube and checker settings

You may want to use different settings for the cube decisions than the checker play. If so, uncheck the option Cube decisions use same settings as Checker play.

Same settings for both players

Although the obvious choice (and the default one) is to have both players use the same settings, you can also choose not to.

By deactivating the Use same settings for both players option, you can configure different checker and cube play settings for each side. Thus one side could be playing at Expert level, and the other at Supremo. To set the different playing strengths, you'll now make use of two other tabs at the top:

Once you have opted for individual settings for each side, you must set them. Without this option, the tabs First Play Both and Later Play Both establish the playing strength for both sides. With it, they only determine the playing strength of the first player. You must go to First Play (1) to set the level to be used for the other player. If you have activated Evaluation for later plies you must also set the Later Play (1).

Final truncated evaluation

If you are using a truncated rollout, you may be concerned about the final and decisive evaluation. For example, you might be content to let it play 17 plies at 0-ply to evaluate the resulting position, but want a little more precision on the evaluation of the final position. You can change this by deactivating the Use player0 setting for truncation point.

When deactivated, you can set a different playing level for that final evaluation. It goes without saying that this is pointless for a full rollout. To set the level, you'll need to go to the top to the Truncation Point tab.

My suggested settings

A lot of testing has been done by a number of people seeking to find the most reliable settings under different circumstances, as well as spotting the unreliable ones. I'd like to especially thank Michael Depreli, Ian Shaw, Ian Dunstan and Neil Kazaross for their painstaking research and the huge amount of computer time spent gathering and processing the data. The results helped answer a number of questions that reflect in my choice settings.

The first thing to note is that the 0-ply checker play is indeed extremely strong (as any victim of GGRaccoon can attest to) and due to its speed is usually ideal for full rollouts. It is only less than ideal for backgame situations, prime vs. prime situations, and positions where timing is an important consideration. So for pretty much any other situation, it can be used confidently. There has been significant questioning of the odd-ply play as it has often been seen that 1-ply would produce erratic results. Tests have shown that this is true of cube decision, but 1-ply checker play is a bit stronger than 0-ply as one would expect.

The primary setting is what I use the most and covers 95% of my rollouts, giving excellent results within a few minutes.

Stopping and continuing rollouts

If you are running a rollout but must stop it before reaching a satisfactory answer, you can stop the rollout and then continue it later. After stopping the rollout, save it. When you open it and go back to the move, if it is a checker play, select the moves you had been analyzing (or only the ones you want to continue) and just press the Rollout button. There is no need to reset the settings, as GNU will remember the exact same settings it had been using when it first began the rollout.

Copy and Paste results

Once you have set your choices, press Ok, and then the Rollout button. When you are done, you may wish to copy the results to a document or e-mail for example. To do so, just select the moves that interest you, keeping the Ctrl key pressed to select more than one, and then press the Copy button as shown.

To see the results, just paste them on the document (Ctrl-V or Shift-Ins for Windows users).

    1. Rollout          10/9 7/4                     Eq.:  -0.2669
        35.74%  10.04%   0.38% -  64.26%  21.19%   0.74% CL  -0.4004 CF  -0.2669
      [  0.13%   0.13%   0.03% -   0.13%   0.17%   0.05% CL   0.0034 CF   0.0049]
        Full cubeful rollout with var.redn.
        2388 games, Mersenne Twister dice gen. with seed 103 and quasi-random dice
        Play: world class 2-ply cubeful prune [world class]
        keep the first 0 0-ply moves and up to 8 more moves within equity 0.16
        Skip pruning for 1-ply moves.
        Cube: 2-ply cubeful prune [world class]
    2. Rollout          9/5                          Eq.:  -0.2747 ( -0.0078)
        33.62%   7.94%   0.23% -  66.38%  14.36%   0.38% CL  -0.3933 CF  -0.2747
      [  0.12%   0.12%   0.02% -   0.12%   0.16%   0.03% CL   0.0030 CF   0.0044]
        Full cubeful rollout with var.redn.
        2388 games, Mersenne Twister dice gen. with seed 103 and quasi-random dice
        Play: world class 2-ply cubeful prune [world class]
        keep the first 0 0-ply moves and up to 8 more moves within equity 0.16
        Skip pruning for 1-ply moves.
        Cube: 2-ply cubeful prune [world class]
    3. Rollout          10/7 9/8                     Eq.:  -0.3316 ( -0.0647)
        30.97%   6.07%   0.12% -  69.03%  11.81%   0.26% CL  -0.4394 CF  -0.3316
      [  0.12%   0.09%   0.02% -   0.12%   0.15%   0.02% CL   0.0029 CF   0.0039]
        Full cubeful rollout with var.redn.
        2388 games, Mersenne Twister dice gen. with seed 103 and quasi-random dice
        Play: world class 2-ply cubeful prune [world class]
        keep the first 0 0-ply moves and up to 8 more moves within equity 0.16
        Skip pruning for 1-ply moves.
        Cube: 2-ply cubeful prune [world class]

If you are using Word or Wordpad, it is suggested you set the pasted text to the font Courier New, and the size to 9 or 10, else the formatting will be lost, and it may be difficult to read.

Once more: Remember to save your settings before exiting the program or you will need to reconfigure your settings the next time you use GNU.


Setting up a position

Naturally, other than matches and games, you might just want to set up a position from a book or other source, and ask GNU's expert advice. First, you must start a new game or match, and then just press the Edit button, located at the top in the toolbar.

Names and score

At the bottom, you will see you have the option of setting the scores or the names of the players.

Side, cube, and dice

If you want to change the dice on the board, click on the side of the board where you would normally click to roll the dice. If you click on the left-side of the board it will propose the dice for the top player, and if you click on the right-side of the board it will present the dice for the bottom player.

You can set whose turn it is to play by clicking on the small checker next to the player's name at the bottom.

You can also set the turn of the player to move in the Game menu and by selecting Set turn at the bottom.

To set the cube position and value click on the cube or enter the Game menu and select Set cube. A small window will appear with cubes set in all directions.

The cubes that are upside down are for the top player, the ones rightside up are for the bottom player, and if you wish to set the cube in the center, choose the ones facing sideward. If you want the cube at its initial value in the center, choose the 64 cube facing sideward.

Tip:  If you want to setup the same position another GNU user posted, you don't need to set it all up manually. You can simply copy the Position ID and Match ID and instantly get the position, cube, and score. Suppose you saw this:

GNU Backgammon  Position ID: sGfwGQDg28EBBg
Match ID   : cAlvATAAIAAA
+13-14-15-16-17-18------19-20-21-22-23-24-+     O: Kit Woolsey
| X           O    |   | O  O  X          |     3 points
| X           O    |   | O  O  X          |
| X                |   | O                |
|                  |   | O                |
|                  |   |                  |
|                  |BAR|                  |     11 point match (Cube: 1)
| O                |   | X                |
| O                |   | X                |
| O           X    |   | X                |
| O     O     X  X |   | X                |     Rolled 63
| O     O     X  X |   | X                |     4 points
+12-11-10--9--8--7-------6--5--4--3--2--1-+     X: Gammonline Readers

Just copy the code after the Position ID into your GNU's space (highlight it and press Ctrl-C) for the Position ID.

Now do the same for the Match ID, and that's all there is to it.

Checker setup

Moving and setting up the checkers is quite easy and Snowie users will feel at home as the method is identical. To remove or add white checkers to a point for example, use the right mouse button and click on the point. You determine the number of checkers to be added or removed by the height of the point you press. For example, in the following diagram,

if you have 5 white checkers on the 19-point and only want to have 3, click with the right mouse button on the 3rd checker where the yellow arrow indicates and the top two will be removed. Adding checkers is the same, so if you wanted to add a red checker to the 6-point you would place the cursor where the green arrow indicates and left-click. If you want to quickly get the starting position, you can click on the area indicated by the blue ellipses on the left, and if you want to quickly clear the board of all checkers, click instead on the right side on the area indicated by the pink ellipses. Try it and experiment a little. It's much easier to do than to explain.

Once the position is set up, press the Edit button again to exit Edit mode. Now just go to the Analyze menu and select Hint (suggested even for rollouts). Attention, this isn't a suggestion, you must exit the Edit mode before asking for GNU to evaluate the position otherwise you will get odd results.


Appearance

Skins

You can change the overall appearance of the menus through a number of skins included with the installation, however this cannot be done from within the program and must done manually. The procedure is fairly painless if you aren't afraid of moving a couple of files in the Windows Explorer.

Open Windows Explorer, and enter the \Program Files\gnubg directory. In it there is a directory called \Themes, where the skins are located, and in that, you will see a number of directories with the names of the skins they contain. Enter the directory you want and copy the files in it to the main \gnubg directory. It will ask you if you want to overwrite the files in it. Say yes, and start GNU to see the changes. It is important to copy and not move the files, so if you're not Windows savvy, this means holding the Ctrl key on the keyboard down while dragging the files. Keep the Ctrl key pressed when you let go of the mouse button.

Board designs—2D and 3D

The appearance of the boards can also be changed making use of a number of presets, or you can design your own. To make changes, go to the Settings menu and select Appearance. A window will appear, displaying a number of tabs at the top. Select Designs and you will see a list of the preset board designs, as well as thumbnails of what they look like. To choose one, just click on the name of the preset and press Ok. That's all there is to it.

If you’d like to enjoy a 3D board, go to the General tab, and select 3D board:

Here and in the Lighting tab you can also set and control as much of the appearance as possible, allowing you also a great deal of creative possibilities.

Tip:  The 3D performance can suffer a little if you don’t have a good video card, so if you find this to be your case, and would like to enjoy the 3D board, select Quick drawing:

Full Screen Board

You can also enjoy a full screen game, without panels, toolbars, or any other distractions, by going to the View menu, and selecting Full screen. If you have a large screen it can be quite an experience, and it can also be a nice way to play against a friend if you have no board nearby.

To exit the Full Screen mode, just press the Esc key.

Creating Original Designs

You can also make your own designs and save them. Using the tabs at the top, you can change the appearance of the board and if you really like your new design, go back to the Designs tab and save it by pressing Add current design and then Save designs. Send the GNU team your best ones, pressing the Export design button, and they may include them in the next release.


Conclusion

By now it should be clear that while a number of backgammon players have complained about the steep prices of top commercial software excluding them from the tools and type of progress available to more fortunate players, that complaint is now definitely without foundation.

It's true that it is ever a work in progress and has its rough edges, but with time they will undoubtedly be ironed out for the most part. It is also an engine that is stronger than its older top-of-the-line siblings in GamesGrid, and at its price (free), one would have to be crazy not to have it, even if one does own the legendary Snowie. After all, two heads are better than one.

I would like to effusively thank the authors of GNU Backgammon and its numerous contributors, and would also like to suggest that anyone enjoying their efforts make a contribution to the Free Software Foundation (FSF), the principal organizational sponsor of the GNU Project, as a token of appreciation. The FSF survives mostly off the contributions, however small, of private donations, and without it, those loud complaints mentioned above would be entirely justified.


A Word about 'Cheating'

By far, the most common complaint seen about all backgammon software, weak or strong, is that it must be cheating to get so lucky. Most of these complaints stem from a lack of understanding of probabilities, and how skillful play will affect luck or the possibility of lucky rolls.

To begin with, let it be stated that there is no bias of any kind, and the source code of GNU is open to any doubting it. If you still cannot believe it, feel free to use your own dice by entering the Settings menu and selecting Options, and then in the right side Manual dice. If you are rigorously honest about your results, you will find no difference in the long run.

Probabilities are what rule supreme in backgammon. As there is indeed an uncontrollable luck factor, one cannot guarantee a victory or loss no matter how stacked up the chances are. So, good backgammon strategy is designed to maximize the good rolls for the playing side, and minimize the good rolls for the other side. In other words, after the best play, there will be less good rolls for the other side. If the other side doesn't realize what is happening, then it will seem like a never-ending streak of bad luck. It's not; it's the consequence of good playing. GNU is among the very best, so use it and learn with it. You can set it at a much weaker setting, and watch how its luck dries up.

The mathematics behind probabilities are also usually very poorly understood. Take for example the situation below. If your opponent had a checker on the bar, what is his chance of entering that single point?

If you said 11 chances in 36 or a little over 30%, good for you, but if you said 1 in 6 then you need a little brushing up. 1 in 6 would be correct if your opponent were only using one die, but with two, the chances add up to 11 in 36. So how come you never enter and GNU does? It may seem like that at times, but it's really not the case. It is natural to focus more on what causes us anguish making reality look quite distorted, but maybe you were very unlucky. Stories of hard luck abound. In a live game, I once played my opening move, and then lost to a backgammon without ever playing another move. My opponent hit me, and I danced for the rest of the game. I wasn't even able to avoid a backgammon. A top professional once told me of an instance where he was giving a gammon, got hit, and lost after dancing 7 straight times against a 3-point board. Does it seem to get more doubles? What about those doubles you rolled while on the bar? They don't count, you say? Sorry, but lady luck makes no case of guaranteeing the double will arrive at the right time. Good strategy will help you be able to use it when it does arrive.


Acknowledgements

I would like to thank the developers of GNU backgammon for their unprecedented generosity to the backgammon community and remarkable work.

Christian Athlon
Joseph Heled
Øystein Johansen
Jon Kinsey
David Montgomery
Achim Mueller
Jim Segrave
Jørn Thyssen
Gary Wong

A special thank you to Neil Kazaross for his tireless expert advice in helping further develop and improve the GNU neural nets, and a warm thank you to Tom Keith, the owner of the fantastic website Backgammon Galore!,  for converting this tutorial to HTML.

This tutorial may be freely distributed in any form, though modifications to the content may only be made with the author's permission.


Version 3.00

Last updated: September 16, 2006

Copyright © 2006 — Albert Silver