Here it is:
Let's say the side on roll has the X checkers, the other side the O's.
Ward's formula gives predictions as to whether X should double or
redouble, and whether O should take.
First take the raw pip counts: call X's pip count X, O's pip count O.
Next adjust X and O as follows: add 2 for each checker on the 1 point
beyond the second, and add 1 for each checker on the 2 point beyond the
second. I.e. "extra" checkers beyond the second (the third checker,
fourth, etc.) count for 3 pips in the adjusted count.
Then, for either X or O, subtract 1 for each extra inner-board point
occupied. E.g. if X had one gap and O had none, you'd subtract 1 from
O because O occupied 6 inner-board points and X occupied 5. Caveat:
Ward says gaps must be treated on a case-by-case basis, because some
gaps are more harmful than others. For example, he wouldn't adjust
for a gap on the 3 point with the 6, 5, and 4 points evenly filled,
because 3's play well to fill the gap anyway.
Then add 2 for each extra checker on the board.
Then add 1/2 for each extra checker outside the inner board.
Then multiply X's adjusted count by 1.1.
Now you have both sides' final adjusted counts: call them X' and O'.
If X' <= O'+1, X should redouble.
If O'+1 < X' <= O'+2, X should double but not redouble.
If ((X+O) / 2) >= 100, O takes if and only if O' <= X'+4.
If ((X+O) / 2) = 75, O takes if and only if O' <= X'+3.
If ((X+O) / 2) <= 50, O takes if and only if O' <= X'+2.
Ward doesn't say anything about the cases 75 < ((X+O) / 2) < 100
and 50 < ((X+O) / 2) < 75; I guess you linearly interpolate in
the absence of any information. At an average raw pip count of 62.5,
O can take if and only if O' <= X'+2.5, I suppose.
There are some problems with Ward's formula, as with any other:
(1) it's not clear how to adjust for gaps (Ward gives a couple of
examples, but not enough);
(2) the adjustment for extra outside checkers doesn't penalize the
side with the extra outside checkers enough. For example, applying
Ward's formula to Problem 24 from the last two issues of Inside
Backgammon predicts redouble-take, whereas high-power race-crunching
software evaluates the position as redouble-pass, worth about
1.08 x cube for the strong side (cited by Goulding, "Inside Backgammon",
Vol. 2 No. 1, p.17):
01 02 03 04 05 06 | | 07 08 09 10 11 12
O O O O | | O O
O O O O | |
O O O | |
O | |
O | |
| |
| |
X | |
X X | |
X X X X X X | |
X X X X X X | |
01 02 03 04 05 06 | | 07 08 09 10 11 12
X on roll: cube action?
Even if you subtract 2 pips from X's count for the gap-adjustment
(Ward would recommend subtracting 0 or 1 because the high gaps
are unlikely to hurt O much; maybe he'll end up with a fast-decaying
5-point gap), we get X' = 58.3, O' = 59, predicting a take.
Recent work by Kleinman has shown that extra crossovers hurt very
much, in general. In using Ward's formula, I used to add 1/2 pip per
checker, plus another 1/2 pip for each 4 pips away from the home board
each outside checker was: even this didn't penalize enough for extra
outside checkers.
But Ward's formula is pretty good otherwise. Seems to be better than
Thorp's, though a little harder to use. And any formula is much better
than nothing.
Hope this helps.
Play well,
Marty
I suppose the thing to do is, try to come up with a good set of potential
features by hand -- features you'd be willing to compute in your head --
and then write a program to compute their effect on expected rolls to
bear off and standard deviation. To first order, you can assume they're
independent (say, that a checker on the 6 point takes 0.7 rolls to bear off
no matter where the other checkers are) but it will be important to
identify the important cases where this is inaccurate, by looking at
combinations of features that are highly dependent.
By choosing sets of features that you personally find easy to
approximate, you can roll your own racing formula.
Marc (average club player)
> It seems to me that given David Applegate's race programs, we could do
> a search of the space of easy-to-compute functions to find good simple
> approximations like Thorp's and Ward's. Personally, I never have the
> patience to do a pip count, so I'd like an even simpler (if less accurate)
> formula based on, say, the number of checkers outside the inner board,
> number of checkers on the 6 point, etc.
Well, the simplest formulas I know are based on the pip count.
"8-9-12" is one of them: double from the center if you're ahead
8% of your pip count; redouble if you're ahead 9% of your pip count;
pass if you're behind more than 12% of your opponent's count.
The length of the race is such an important factor that I don't know
how you can avoid using it in a formula.
>
> I suppose the thing to do is, try to come up with a good set of potential
> features by hand -- features you'd be willing to compute in your head --
> and then write a program to compute their effect on expected rolls to
> bear off and standard deviation. To first order, you can assume they're
> independent (say, that a checker on the 6 point takes 0.7 rolls to bear off
> no matter where the other checkers are) but it will be important to
> identify the important cases where this is inaccurate, by looking at
> combinations of features that are highly dependent.
Danny Kleinman has done lots of work along these lines; see
_Double_Sixes_From_The_Bar_ (available from Danny Kleinman, 5312 1/2
Village Green, Los Angeles CA 90016, for ~$25 I think).
Counting rolls instead of pips considers the length of the race, which
is good. But it seems like doing involved roll-counting will force you
to do some mental arithmetic that's more tedious than counting pips.
>
> By choosing sets of features that you personally find easy to
> approximate, you can roll your own racing formula.
This kind of work is worthwhile--you learn a lot about evaluating races
and you may even come up with a good, compact formula.
Still, the most useful formulas I know of use the pip count. Counting
pips accurately is therefore essential if you want to make good cube
decisions.
There's a saying, I forget whose: if you can't find anything to
evaluate in a position, take a pip count. It's good advice.
> Marc (average club player)
Play well,
Marty
A simple method that's easy to use (i.e. even I do it!) was pubished in
Bruce Becker's 'Backgammon for Blood'. It count *throws* to get home based
on the fact that the average dice roll is 8 and that the board neatly
divides in to groups of 4 points, each requiring, on average, half a throw
to get home.
i.e Points Throws
~~~~~~ ~~~~~~
7 - 10 1/2
11 - 14 1
15 - 18 1 1/2
19 - 22 2
23 - 24 2 1/2
Bar 3
ok, it's not perfect but it is easy and it's quite good for comparing
positions. To count the number of throws to bearoff, count one throw for
every pair of pieces on the 1,2 3 points, count 1 1/2 throws for every pair
on the 4, 5, 6 points. Add 1/2 throw for every gap.