GNU Backgammon (@gnubg{}) plays and analyses backgammon games and matches.
It is currently a work-in-progress. So far it is able to play individual games and tournament matches, evaluate and roll out positions, tune its own evaluation functions using either TD or supervised training, maintain databases of positions for training and other purposes, and more.
It is driven by a command-line interface, and displays an ASCII rendition of a board on text-only terminals, but also allows the user to play games and manipulate positions with a GTK+ board window where available. It is extensible on platforms which support Guile.
It currently plays at about the level of a championship flight tournament player (depending on its parameters and its luck in recent games, it rates from around 1900 to 2000 on FIBS, the First Internet Backgammon Server --- at its strongest, it ranks in the top 5 of over 6000 rated players there) and is gradually improving; it should be somewhat stronger than this when released. Since almost all of the CPU time required during supervised training is spent performing rollouts, and rollouts can easily be performed in parallel, it is hoped that users will be able to pool rollout results and collectively train it to a level stronger than any individual could obtain.
If you can tolerate the rough edges, periodic pre-releases of the source will be made on the alpha.gnu.org FTP server.
Anonymous CVS access to the very latest code is available: if you have a
CVS client, set @env{CVSROOT} to
:pserver:[email protected]:/cvs
and check out module
`gnubg'. If not, daily snapshots of the CVS repository are made
available by FTP, or you
can browse the repository through the
WWW gateway. Do
not expect this code to be stable; it will generally include both more
features and more bugs than the main pre-release version.
You can also compete against recent versions of @gnubg{} on FIBS; it plays there under the names `gnu', `mgnutest', `mpgnu' and `gnu_one_ply'.