| |
BGonline.org Forums
What do bots do to adjust their play ATS?
Posted By: NJ In Response To: What do bots do to adjust their play ATS? (Timothy Chow)
Date: Thursday, 24 September 2009, at 2:31 a.m.
I'll tell you how Backgammon NJ does it, which I believe is the way all the other programs do it as well. There is only one net, and it gives cubeless chances for winning/gammon/backgammon. Using the cubeless chances, it computes a cubeful/matchful evaluation.
For example, in a money game if you have 75% winning chances and no gammons are possible, the equity would simply be 0.75 * 1 + 0.25 * -1 = 0.5. This is because the value of a win is 1 (W = 1) and the value of a loss is -1 (L = -1).
If instead you were playing a match, then the value of W and L come from the MET instead. Suppose you were playing a 7 game match and the score was 3 to 4 (i.e. 4 away, 3 away). In the same situation as above, the bot would compute your equity as 0.75 * W + 0.25 * L, where W = MET(3 away, 3 away) and L = MET (4 away, 2 away). In my met, where the equities range from -1 to 1, W = 0 and L = -0.3655, so equity = -0.09. Other mets list match winning chances, so for example W = 50% and L = 31.7% and MWC = 45.4%.
Gammons and backgammons factor in similarly. The value of winning a gammon is simply MET(score-2, oppscore) and losing a gammon is MET(score, oppscore-2). If the doubling cube is at 2, then a gammon win is MET(score-4, oppscore) and a gammon loss is MET(score, oppscore-4).
So far all this just covers dead cube matchful evaluations. Once a live doubling cube is factored in the evaluation is much more difficult. Basically you must first compute the take and cash points, which is done recursively. For example, in a 15 point match where the score is 0,0 and the cube is centered, you need to compute the take and cash points for cube = 8, 4, and 2 in that order before you can compute the take and cash points for cube = 1. This is because the take/cash points for cube = 1 depend on equity graph of cube = 2, which depends on the equity graph of cube = 4, etc.
Once you get the take and cash points, you can use Janowski's formulae to compute your cubeful equity from the cubeless chances. In the end, the bot computes an equity for each possible move, and chooses the move that maximizes its equity.
I think these links might help explain more:
http://www.bkgm.com/articles/met.html (nice graphs showing the recursion)
http://www.gnu.org/manual/gnubg/html_node/Live-cube-equities.html
| |
BGonline.org Forums is maintained by Stick with WebBBS 5.12.