This chapter documents the most frequently asked questions. Sources include the newsgroup rec.games.backgammon, the gnubg-mailinglist and the discussion board of GammOnLine.
GNU Backgammon (gnubg) is software for playing and analysing backgammon positions, games and matches. It's based on a neural network. Although it already plays at a very high level, it's still work in progress. You may play GNU Backgammon using the command line or a graphical interface (based on GTK+).
Currently GNU Backgammon is specifically designed for GNU/Linux. It also compiles and (hopefully) runs under *BSD, IRIX, Solaris and True64 Unix. Last but not least there are downloads available for MS Windows, MS DOS and MacOSX. If you successfully port GNU Backgammon to another operating system please let us know, contact bug-gnubg@gnu.org.
The official website is http://www.gnubg.org/. You can get daily snapshots at ftp://alpha.gnu.org/gnu/gnubg/snapshots/. MS Windows binaries are available at http://home.online.no/%7Eoeysteij/. Daily MS Windows builds are downloadable from Nardy's homepage at http://users.skynet.be/bk228456/GNUBgW.htm GNU/Linux-Rpm's are available at acepoint.de/. And a download for MacOSX can be found at http://mapage.noos.fr/gnubgosx/.
GNU Backgammon is free software and belongs to the GNU Project. For more information see the GNU General Public License. But be aware that GNU Backgammon is not public domain software or shareware as used in MS Windows.
The best starting point is GNU's homepage.
Hypergammon is a variety of backgammon with only three checkers for each player. Both players start with their checkers on the 22-/23- and 24-point. Rules a like the original backgammon rules. Winning/Loosing a gammon or backgammon is also possible.
Nackgammon is a variety of backgammon with exactly the same rules. The only difference is the starting position. Both players take a checker from their 6- and 13-point and put them back on the 23-point.
Albert Silver has written a wonderful tutorial for playing GNU Backgammon on MS Windows. See http://www.bkgm.com/gnu/AllAboutGNU-1.0/AllAboutGNU.html for more details.
Send emails to the gnubg-mailinglist. If you've found a bug, please be sure to include details of your operating system, the version of gnubg you're using and any error messages. Try to describe exactly what is happening before the error occurs.
Either send an e-mail to the gnubg-mailinglist,
or use the menu Help/Report bug
to fill out an online bug report. Please make
sure that the bug you found was not reported and/or fixed before.
Wonderful! Send e-mails to the gnubg-mailinglist.
Probably you are right. But you are cordially invited to send corrections to info@gnubg.org. And keep the following quote in mind ;-):
Documentation is like sex: when it is good, it is very, very good, and when it is bad, it is better than nothing.
MS Windows binaries are available at http://home.online.no/%7Eoeysteij/. Nardy Pillard has published an excellent page at Windows build. GNU/Linux-Rpm's are available at http://mole.dnsalias.org/~acepoint/ or http://www.acepoint.de. And a download for MacOSX can be found at http://mapage.noos.fr/gnubgosx/.
No, everything is included in the binaries.
If you are using a MS Windows operating system make a copy of
either .gnubgrc
or .gnubgautorc
and
.gnubgmenurc
. You will find them in either c:
or the home
directory of your GNU Backgammon (for instance: c:\program
files\gnubg\
). After you have installed the new version, copy them
back.
If you are working with GNU/Linux these files are
probably in your home directory (~/
). They won't be overwritten
by installing a new version of GNU Backgammon, but it's always a good
idea to keep backup files.
Good luck to you! Download the source code and read either: What software do I need for compiling under GNU/Linux?, What software do I need for compiling under MS Windows?.
Depending on the distribution you are working with:
Unpack the GNU Backgammon snapshots and follow the instructions given in
the INSTALL
file.
Nardy Pillards has published an excellent instruction guide for making a Windows build.
Check that you've installed all necessary development packages. All you need should be listed in either
GNU/Linux:What software do I need for compiling under GNU/Linux?
or
MS Windows:What software do I need for compiling under MS Windows?
Look for warnings or errors during compiling. If you still don't have a clue, contact the gnubg-mailinglist.
Your computer is trying to tell you something, give it a chance and read the messages. Then read the next items carefully ....
GNU Backgammon is probably missing either the file gnubg.weights
or gnubg.bd
. Gnubg.bd
is the bearoff database used to
evaluate endgame positions.
The file gnubg.weights
contains the trained neural net weights
for most of gnubg's position evaluators. Like gnubg.bd
, it should
be kept in either the current directory or the installed directory.
Open the MS Windows menu and go to the entry of
gnubg, then right-click with the mouse and choose
properties
. Check if the working path
is the same
directory as the *.exe
-file one line above. If not, adjust the
working path.
Install the newest driver for your graphic card. Be sure that you have chosen a desktop resolution of at least 65535 (16 bit colour depth). If your card is an ATI Rage "something" there might be some problems with the graphical interface (GTK+) and MS Windows.
MS Windows users should click on the correct menu entry (GNU
Backgammon for windows
). If this doesn't work, check whether you have the
file c:\[path-to-your-gnubg]\gnubg.exe
.
GNU/Linux users should check if GTK+ is installed.
Did you previously save your settings (menu Settings, Save settings
)?
If you have just installed a newer version of GNU Backgammon go to Installing newer versions
For GNU/Linux users: open a terminal and start gnubg with the
option -t
.
MS Windows users: Look for gnubg-no-gui.exe
in gnubg's directory or open the MS Windows menu
execute
and type c:\[path-to-your-gnubg]\gnubg-no-gui.exe
.
There is also the menu entry GNU Backgammon Command Line Interface
.
When you start a new match you will be asked to play to a certain match length (for example, 7 points). The player who first reaches this score wins the match. The default for match play has the Crawford Rule (see Backgammon Galore: Crawford rule).
Starting a new session means playing an unlimited number of games. You may stop the session at any time and save it. The default for sessions has the Jacoby rule (see Backgammon Galore: Jacoby rule).
If you choose to play a new game, GNU Backgammon will open the last saved match or session you were previously playing. When there isn't a saved match or session it will start a new unlimited session.
The easiest way to move checkers is to "drag and drop". Put your mouse over the checker you wish to move, press and hold the left mouse button and drag the checker to the desired point.
If you simply click then the left mouse button moves a checker the amount shown on the left die, and the right mouse button moves a checker the amount shown on the right die.
To always display the higher number on the left go to the menu
Settings, Appearance, General
and activate Show higher
die on left
.
Standard international backgammon tournament rules allow up to all 15 checkers
on a single point. If you wish to play with a maximum of 5 checkers, go to
the menu Settings
and activate the Egyptian Rule
.
Are you sure? If you are then you should definitely enter the Backgammon World Championship in Monte Carlo!
Otherwise check whether the file gnubg.weights
is correctly
installed, also see GNU Backgammon complains about missing files.
Go to the menu Settings, Players
and change the values of
Player 0
. There are also some predefined settings you may
choose from.
In the menu Settings
you may choose between different random dice
generators. If you still think GNU Backgammon is cheating, program your
own dice generator or roll manually.
Go to the menu Settings, Players ...
and click on Player
1
. At the top there is a field where you can change the human player's name.
The player records are stored in a file called gnubgpr
. On linux systems
this file will be saved in ~/.gnubg/. On MS Windows you can find this file in
the directory of gnubg, i.e. C:\Program Files\Gnubg\. It's alway a good idea to make
a periodically backup of this file and of .gnubgautorc
.
The settings are stored in a file called .gnubgautorc
. On linux this file is
in your home directory, on MS Windows in the same directory as the program
itself.
Go to the menu Settings, Appearance
. Here you may change the colours
of checkers, points and the board itself.
Go to the menu Settings, Appearance
and click on the card
General
at the right. Disable the option Beep on illegal input
.
A ply describes how far GNU Backgammon evaluates the position. "0-ply" means GNU Backgammon estimates the worth of the position as it is. A "1-ply" evaluation looks one step deeper. GNU Backgammon also evaluates positions that may occur one roll further. "2-ply" is another roll further and so on.
The more plies you choose the stronger GNU Backgammon becomes. But keep in mind that it will also decrease its playing speed.
Note that "0-ply" in GNU Backgammon is equivalent to the "1-ply" evaluation of Snowie.
Noise is a way of reducing GNU Backgammon's 0-ply evaluation. Increasing the noise decreases its playing strength.
It's a method for cutting down the searching for candidate moves to increase speed. Reduced evaluations only work with 2-ply and deeper.
You may use different images to export positions, sessions or matches into html.
GNU Backgammon creates its own set of images when you go to the menue
file/export/HTML images ...
and select a path. If you want to use BBS- or
fibs2html-images, download them from Nardy's page at
http://users.skynet.be/bk228456/GNUBgW.htm.
If you want to export GammOnline positions you
can do this by using Edit/Copy as/GammOnline (HTML)
. Note that you have to
download the images from http://www.gammonline.com/members/imgcopy.htm. You have
to be a member for accessing these images.
You will find two small fields titled Position
and Match
ID
at the top left of the GNU Backgammon window. Here you may use the
position_id
- or match_id
-format for setting up or
copying positions.
An explanation of both formats will (hopefully soon) follow in GNU Backgammon's documentation.
Open a new game, match or session. If gnubg has already rolled the dice,
don't bother. Press edit
and either type the position_id and press Enter
on your keyboard. Or use the mouse to arrange the checkers.
Clicking the mouse on the border of the board removes all checkers. A mouse click on a point then adds a certain number of checkers depending on exactly where you click. For example, to add 5 men on your 6 point, click at the top of your 6 point and it will fill with 5 men. The right mouse button will add the men for your opponent's side. To add more than 5 checkers to a point you need to further click on the bottom edge of the fifth checker. Click on the the doubling cube to set its position and value.
Then go to the menu Game, Set turn
and choose the player on
roll, the dice will then disappear.
You can remove a chequer from the bar in edit mode by drag and drop while holding down the [ctrl] key.
Currently only *.pos
from Jellyfish are supported.
You may import *.mat
from Jellyfish, *.ssg
from Gamesgrid or the oldmove format used on
FIBS. Also possible now is the *.tmg
format of truemoneygames.
Go to the menu Game
and select Swap players
.
After analysing a game or match GNU Backgammon lists some comments on
checker plays and cube decisions. Open the menu Windows,
Game record
and you will see a list of moves. If any moves or cube
decisions differ from the best, GNU Backgammon will place a comment next
to it.
The default settings are:
+0.040 (very good): | Not yet in use
|
+0.020 (good): | Not yet in use
|
-0.040 (doubtful): | ?!
|
-0.080 (bad): | ?
|
-0.160 (very bad): | ??
|
You may change these comments in the menu Windows, Annotation
,
creating other comments for moves and/or cube decisions.
GNU Backgammon determines the players strength as follows: If a player has an average error (per move) of:
Less than 0.005 --> | Extra-terrestrial
|
Less than 0.010 --> | World class
|
Less than 0.015 --> | Expert
|
Less than 0.020 --> | Advanced
|
Less than 0.025 --> | Intermediate
|
Less than 0.030 --> | Novice
|
More than 0.030 --> | Beginner
|
After analysing a game, match or session you can see a summary in the
menu Analyse, ... statistics
. Note that you cannot change the
ranges of these values.
Depending on the release and your settings there are different databases available:
gnubg_os0.bd --> | One sided bearoff database
|
gnubg_ts0.bd --> | Two sided bearoff database
|
hyper1.bd --> | Database for Hypergammon with one chequers
|
hyper2.bd --> | Database for Hypergammon with two chequers
|
hyper3.bd --> | Database for Hypergammon with three chequers
|
The default gnubg_os0.bd
one sided bearoff database contains
the approximative probabilites for bearing off a maximum of 15 chequers on 6 points
in "n" rolls. The default gnubg_ts0.bd
contains the exact probabilities for
a maximum of 6 chequers on 6 points for both sides. For a detailed desciption go to
Nardy's excellent page at http://users.skynet.be/bk228456/Bearoff-databases.html
The Hypergammon databases are for playing hypergammon. You have to create them for your own. See How do I create the necessary databases for playing Hypergammon?.
Actually the default databases (see above) should be included. For Linux systems you can also get them at http://www.acepoint.de/GnuBG/rpm.html. The windows databases can be found here: http://users.skynet.be/bk228456/dlls_recent_builds.htm
Depending on your operating system it's either:
makebearoff -o [P] -f [gnubg_os0.bd]
for linux with "P"= Number of points
makebearoff.exe -o [P] -f [gnubg_os0.bd]
for MS Windows
or
makebearoff -t [P]x[C] -f [gnubg_ts0.bd]
for linux
with "P"= Number of points and "C"=Number of chequers
makebearoff.exe -o [P]x[C] -f [gnubg_ts0.bd]
for MS Windows.
Again a detailed description can be found at http://users.skynet.be/bk228456/Bearoff-databases.html.
On linux it's
makehyper -f hyper1.bd -c 1
makehyper -f hyper2.bd -c 2
makehyper -f hyper3.bd -c 3
On MS Windows it's
makehyper.exe -f hyper1.bd -c 1
makehyper.exe -f hyper2.bd -c 2
makehyper.exe -f hyper3.bd -c 3
Note that the 3-chequer database will need approximately 400 MB of RAM.
"gwc" is an abbreviation for game winning chances.
"mwc" is an abbreviation for match winning chances.
In the menu Analyse, Game/Match/Session statistics
you will see
a window with some statistics. Near the bottom are four lines beginning with
Missed ... and Wrong ...
. "dp" means "doubling
point" and describes a situation in the game where you probably should've
doubled your opponent.
"tg" is an abbreviation for "too good". It indicates that you probably should have kept the cube and not doubled (because of high gammon chances).
"Epc" is the abbreviation for "effective pip count". See Some Backgammon and technical terms for a detailed description.
The effective pipcount (epc) is the result of average rolls you need to bearoff a chequer in a one chequer race muliplied with the average roll (8.167). The wastage is calculated as the result of epc - pipcount.
An example:
Player A: 5 chequers on his 1-point, 4 chequers on his 2-point Pipcount: 5x1 + 4x2 = 13 Epc: 2.189 (Average rolls) x 8.167 = 17.878 Wasted: 17.878 - 13 = 4.878
It's easy to see that your wastage arises the more chequers you have on lower points (i.e. you roll a 6 to bear off a man from the 2- or 1-point.
The Kleinman Count is another calculation in longer bearoff situations. The formula is DxD/S, where "D" is trailers pipcount + 4 - leaders pipcount, and "S" is the sum of leaders and trailers pipcount -4.
If the result of DxD/S is round about 1.2, then the leader has a double and the trailer a close take. Get more informations about the Kleinman Count at http://www.bkgm.com/rgb/rgb.cgi?menu+cubehandlinginraces
Thorp Count is a mathematical method to calculate cube decisions in tricky bearoffs:
Get more informations about Thorp Count at http://www.bkgm.com/rgb/rgb.cgi?menu+cubehandlinginraces
The Jacoby rule is used in backgamon sessions or moneygame. This rule implies, that a player can't win an undoubled gammon (meaning: when the cube is still in the middle). This rule was established to protect players from "boring" games while watching his opponent trying to win a gammon and getting doubled out if this doesn't succeed. For more information see Backgammon Galore.
The Crawford rule is only used in match play. It implies, that a player cannot double in the first game after his opponent has reached a score needing only 1 point to win the match. See also Backgammon Galore.
A beaver is only allowed in session games (also known as money games). To beaver means redoubling (and keeping the cube) rather than just accepting when your opponent has doubled (see Backgammon Galore: beavers.
When you doubled your opponent, and he makes use of the beaver you are allowed to turn around the cube again. This is called a raccoon.
The probability describes the likelihood of an event's outcome. If you, i.e., flip a coin the probability getting "head" will be 50% or 0.5 [going from 0-1]. Getting a certain number on a die with numbers from one to six is 1/6 or 0.166 or 16%.
An example in backgammon:
Assume that you have one chequer on your 2-point and one on your 5-point. Your opponent has two
chequers on his acepoint, but fortunately you are on roll. What is your probability to win?
19 rolls (66, 65, 64, 63, 62, 55, 54, 53, 52, 44, 33, 22) will take both chequers off, 17 rolls will not.
Your probability is
19/36 = 52,8% or 0.528
to win the bearoff.
Equity in backgammon is the number of points you expect to win in a certain position.
Take the same example from above. Your equity will be:
(19x1 (w) + 0x2 (g) + 0x3 (bg) - 17x1 (l) - 0x2 (lg) - 0x3 (lbg))/36 = 2/36 = 1/18 = 0.056.
Every time you play this position for a dollar you are expected to win 5.6 Cent. If you play this position a hundred times your gain will be (theoretical) 5.6 dollar.
This is more difficult and best explained by an example. Let's assume you roll a die 10 times.
The result is
3,6,6,1,2,5,4,6,5,2
Add up all numbers and divide them by 10 (the number of rolls).
You'll then get an arithmetic mean of
40/10 = 4
Of course this differs from the expected value of
3.5 = (1 + 2 + 3 + 4 + 5 + 6)/6
The variance of our example is calculated as:
( (3-4)^2 + (6-4)^2 + (6-4)^2 + (1-4)^2 + (2-4)^2 + + (5-4)^2 + (4-4)^2 + (6-4)^2 + (5-4)^2 + (2-4)^2 )/10 = (1 + 4 + 4 + 9 + 4 + 1 + 0 + 4 + 1 + 4)/10 = 3.2
and is a measure for how far single events differ from the arithmetic mean. The standard deviation is the
square root of the variance, here it is
3.2^1/2 = 1.79
Transferred to our backgammon example from above let's assume you don't know anything about
the calculated probability we have done before (or imagine a position that can't be exactly
calculated). You play this position with a friend a hundred times, you win 58 games and loose
42 games. This will give you an equity of
(58-42)/100 = 0.16
But how sure can you be that 0.16 is the "true" equity of this position? Perhaps you will loose 6 points
in another session of 100 games. Let's calculate the standard deviation of our result.
A market window is the range between the point of "first double" and "last take". In moneygames it's usually between 50% - 75% winning chances depending on the value of the cube. In matches this range may extremely differ.
In money games the gammon value is usually 0.5. This means that you have to win twice as much gammons than loosing games to justify a certain move compared to another candidat. In matches this may also extremely differ depending on the match score.