GNU Backgammon (gnubg) plays and analyses backgammon games and matches.
Version: 0.14.3 BetaGNU Backgammon (gnubg) plays and analyses backgammon games and matches.
Operating System: Linux
It is currently a work-in-progress. So far it is able to play both independent 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. See the following section for a more complete list.
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 (png 117k) where available. GNU Backgammon is extensible on platforms which support Guile and/or Python.
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 at around 2000 on FIBS, the First Internet Backgammon Server -- at its best, it is in the top 5 of over 6000 rated players there) and is gradually improving; it should be somewhat stronger than this when released. GNU Backgammon can be played at numerous other online backgammon servers.
Here are some key features of "GNU Backgammon":
· Tournament match and money session cube handling
· A command line interface (with full command editing features if GNU readline is available) that lets you play matches and sessions against gnubg.
· Support for either a GTK+ interface with a graphical board window, or a rough ASCII representation of a board on text terminals. For the GTK+ interface both 2D and 3D graphics are available.
· Functions to generate legal moves and evaluate positions at varying search depths.
· Neural net functions for giving cubeless evaluations of all other contact and race positions.
· Support for both 1-sided and 2-sided bearoff databases: 1-sided bearoff database for 15 chequers on the first 6 points and optional 2-sided database kept in memory. Optional larger 1-sided and 2-sided databases stored on disk.
· Automated rollouts of positions, with lookahead and race variance reduction where appropriate. Rollouts may also be extended.
· Both TD(0) and supervised training of neural net weights.
· Position databases for supervised training (if GNU dbm is available).
· Loading and saving .sgf games and matches (.sgf files are in the Smart Game Format).
· Exporting games and matches to HTML, LaTeX, .mat, PDF, PNG, PostScript and plain text formats.
· Importing .bkg, .mat, .pos, .sgg, .tmg and FIBS "oldmoves" files.
· Scripting ability (if GNU Guile or Python is available).
· Automatic and manual annotation (analysis and commentary) of games and matches.
· Record keeping of statistics of players in games and matches (both native inside gnubg and externally using relational databases and Python).
· Native language support; 10 languages complete or in progress: (cs_CZ, da_DK, en_GB; en_US, fr_FR, de_DE, is_IS, it_IT, ja_JP, and tr_TR)