fibs2html creates an HTML printout of a backgammon match, and optionally annotates it using a modified version of GNU backgammon.
Moves are accepted in the form of FIBS oldmoves command. In addition, it is possible to preset the board, match score and cube position using additional directives.
Two TCL scripts are included as well. One to convert Jellyfish `.mat' file to oldmoves, the second to capture matches from a FIBS log file.
fibs2html output is modeled after Dr Stephen Turner unreleased fibs2html.
fibs2html is under the GNU GPL.
See http://fibs2html.sourceforge.net/ for the latest version.
Unpack the distribution (gunzip -c fibs2html.tar.gz | tar xf -) and invoke gmake at the top.
After compiling, try generating the examples in the examples directory.
The fibs2html executable requires one additional data file named `ghubg.weights'. Either place this file in the same directory as the executable, or set the environment variable GNUBGWEIGHTS to the name of the weights file.
Please send any comments or bug reports to fibs2html-bugs@lists.sourceforge.net.
Please note that fibs2html is still under development.
fibs2html [flags] [-f output-file] match-fileWithout -f, fibs2html writes to standard output. With -f, it generates a file for each game.
flag | full name | description |
---|---|---|
-i | --image-dir=DIR | Name of directory containing board images.
|
-f | --file=FILE | Name of output file. If not specified, output is written to stdout.
|
-a | --analyze | Analyze match using GNU backgammon. |
flag | full name | description |
---|---|---|
-n | --move-plies=N | Evaluate moves using N-plies. Default is 1. 0Ply is static evaluation.
|
-d | --double-plies=N | Evaluate doubles using N-plies. Default is 3.
|
-p | --show-probs | Show win/gammon probabilities for each move. Default is to list equities only.
|
| --blunder-verify=N | Verify a possible blunder using N-plies. Default is 2.
|
| --missed-double-plies=N | Verify a possible missed double using N-plies. Default is 2.
|
| --nmoves=N | Show at most N moves per turn. Default is 5.
|
| --max-move-diff=TH | Do not show moves whose match equity is greater by TH from best move. default is 2% (0.02)
|
| --joker-threshold=TH | A difference of TH or more between position equity and equity after move is flagged as a joker. Default value is 0.1.
|
| --blunder-threshold=TH | A difference of TH or more between best and actual move is flagged as a blunder. Default value is 0.065.
|
| --search-space=NNET+NRACE | Speed up higher plies with a small accuracy loss. A good value is 10+10.
|
| --move-rollouts=N | Perform a rollout of N games for each move. Moves to roll are determined as when evaluating, so you can control which moves are picked using --move-plies , --nmoves and --max-move-diff .
|
| --double-rollouts=N | Perform a cubefull rollout of N games for double decisions.
|
| --all-doubles | Show double analysis for every position.
|
fibs2html input file may contain match presets, moves and pre-generated HTML comments.
Specifies checkers on the board, excluding checkers on the bar or borne out.
O plays from left to right, X from right to left. A positive value means the number of checkers O has on this point, a negative number means the number of X checkers on that point.
For example,
Board: 0,-2,3,-2,-3,-2,2,0,0,-2,0,-1,0,0,0,0,0,-1,3,3,-2,2,0,2Is,
Commas between values are optional. Board directive clears bar values, which means a Bar:
directive (if needed) should follow it.
Specifies cube value and owner. Owner can be X or O.
Format: Cube: value Owner: owner
For example,
Cube: 2 Owner: O
Specifies checkers on the bar. For example,
Format: Bar: O-val X-val
Bar: O-0 X-1
Specifies that game is a Crawford game. Relevant only when analyzing a match.
Crawford:
Explicitly set move number.
Move: 12
fibs2html input may contain any HTML code generated by an outside source. fibs2html takes this code as-is - no validity checks are performed!.
Format: *H HTML-CODE
For example
*H <TABLE><TR> ... *H </TABLE>
As with most analysis, the quality of analysis depends on the time spent generating it.
--move-plies
)
0ply is useless, 1ply is fast but of medium quality, and 2ply is slow with good quality.
--double-plies
)
2 (the minimum) is relatively fast but of medium quality, 3 is slow with better quality. Higher plies are too slow.
--move-rollouts
)
Is not terribly useful for analyzing whole matches since a rollout is slow (compared with evaluation), and you need a large number of rollouts to get a reasonably reliable answer. The minimum is probably 576. Maximum depends on your machine speed and your patience.
--double-rollouts
)
Again, this is probably more useful for examining specific positions that analyzing a whole match.
olmoves
deficiencies
When a player resigns, olmoves
does not indicate whether it was a normal or a gammon/backgamon. This can foil fibs2html detection of a crawford game, or the reversal of score, which is another FIBS problem. You may have to either,
wins
line. For example, X: wins 4 points.
Crawford:
directive into the match file.
Output format is also modeled on those matches.
By Tom Keith.
By Tom Keith.
By Stephen Turner.