[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug-gnubg] Errors in evaluation of races with backgammons
From: |
Philippe Michel |
Subject: |
[Bug-gnubg] Errors in evaluation of races with backgammons |
Date: |
Mon, 27 Feb 2012 00:23:32 +0100 (CET) |
User-agent: |
Alpine 2.00 (BSF 1167 2008-08-23) |
It looks like there are some bugs in the evaluation of backgammon chances
in races, in raceBGprob() in eval.c . For instance, this position :
+24-23-22-21-20-19------18-17-16-15-14-13-+ O: gnubg (Cube: 2)
| O O O O O | | O | 0 points
| O | | |
| O | | |
| | | |
| | | |
| |BAR| |v
X | 8 | | |
X | X | | |
X | X O | | |
XX | X O O | | | On roll
XX | X O O O | | O | 0 points
+-1--2--3--4--5--6-------7--8--9-10-11-12-+ X: pm
evaluates as :
Position ID: pU4AWhz/AAAAAA
Match ID: QQkAAAAAAAAA
Evaluator: Race
Win W(g) W(bg) L(g) L(bg) Equity Cubeful
static: 1.000 1.000 0.678 0.000 0.000 +2.678 +2.678
The backgammon ratio is wrong by about 0.1.
It is supposed to be computed exactly (not by a net) as the winning chance
of a 8 vs 2 1 0 0 3 cubeless bearoff, either by not-particularly-obvious
internal functions or with the bearoff databases.
In the example above, it is the internal functions that are used and there
may be a bug in them or, perhaps more likely, they are not used properly.
If I twist the code in eval.c to only use the databases, I get :
Win W(g) W(bg) L(g) L(bg) Equity Cubeful
static: 1.000 1.000 0.784 0.000 0.000 +2.784 +2.784
1 ply: 1.000 1.000 0.784 0.000 0.000 +2.784 +2.784
2 ply: 1.000 1.000 0.744 0.000 0.000 +2.744 +2.744
3 ply: 1.000 1.000 0.744 0.000 0.000 +2.744 +2.744
4 ply: 1.000 1.000 0.709 0.000 0.000 +2.709 +2.709
Now the bg rate is accurate for 0 and 1 ply, but not for deeper searches.
The diminished backgammons surely don't come from misplays by X so there
must be another problem here, either in shorter races or in the collating
process to get the result from higher plies.
- [Bug-gnubg] Errors in evaluation of races with backgammons,
Philippe Michel <=