bug-gnubg
[Top][All Lists]

## RE: [Bug-gnubg] Holding games

 From: Ian Shaw Subject: RE: [Bug-gnubg] Holding games Date: Fri, 20 Jun 2003 12:27:00 +0100

```> -----Original Message-----
> From: Joseph Heled
> Sent: 20 June 2003 00:21
>
> - In order to make a case we need more than one position. Probably in
> the order of hundreds or thousands.
>

I don't think we need that many to make the case, but if you can
generate some positions I'll put them through sagnubg.

Neil Kazaross has made the observation that "most bots tend to cube
holding games a bit late". If an expert of Neil's calibre has noted this
feature then I'm inclined to take it seriously. One of the best ways to
improve gnubg must be to identify classes of position where it is weak.
Expert opinion will be very valuable for this.

However, I think we could do with some more background to Neil's
observations (which is why I'm copying you in, Neil). I suspect that,
like most GoL readers, Neil uses 0 & 2 ply and doesn't bother with
1-ply. In holding positions, it may be that odd-ply is more accurate
than even-ply. See my highly conclusive sample of 1, below :o)

Interestingly, the results go against the trend of the opening rolls
that I presented in the thread "Why is odd ply equity always lower?" The
odd-even variation still exists, but it is the odd plies having the
higher equity. I'm not sure what the implication is for Nis' conclusion
about the systematic error. Nevertheless, his half-ply technique would
have got closer to the rollout answer than even-ply alone. (Odd-plies
were almost spot-on, but I assume that's not always going to be the
case.)

<Go off on tangent>
Perhaps if we can identify the classes of positions where odd-ply is
higher then even-ply and vice versa, we can add some net inputs which
would help correct things.
</back to the point>

I'm not fully convinced that the half-ply technique is the way to go.
Even if it does give better results, it seems like papering over the
cracks in the 0-ply evaluation, when we should concentrate on improving
the underlying net. If Nis' systematic error theory can be proven, then
the half-ply algorithm may well be an essential tool for correcting the
systematic error, however good 0-ply evals get.

Here is position 2-1 from Woolsey's Backgammon Encyclopedia, with 0, 1 &
2-ply evaluations, plus 0 & 1 ply rollouts. I haven't got the book with
me, but IIRC the Snowie 3-ply (gnubg 2-ply) rollouts had X winning 72%,
about the same as 1-ply eval and my rollouts.

GNU Backgammon  Position ID: 7HaBAQO2OQcHAA
Match ID   : cAkAAAAAAAAA
+24-23-22-21-20-19------18-17-16-15-14-13-+  O: O
|       O  O  O  O |   | O              X |  0 points
|       O  O  O  O |   |                X |
|          O     O |   |                X |
|                  |   |                  |
|                  |   |                  |
|                  |BAR|                  |v (Cube: 1)
|                  |   |                  |
|                  |   |                  |
|                X |   |    X             |
|    X  X  X  O  X |   |    X           O |  On roll
|    X  X  X  O  X |   |    X           O |  0 points
+-1--2--3--4--5--6-------7--8--9-10-11-12-+  X: X

Cube analysis
0-ply cubeless equity  +0.391
0.696 0.021 0.000 - 0.304 0.021 0.001
Cubeful equities:
1. Double, take         +0.576
2. Double, pass         +1.000  ( +0.424)
3. No double            +0.569  ( -0.007)
Proper cube action: Double, take

Cube analysis
1-ply cubeless equity  +0.460
0.723 0.031 0.001 - 0.277 0.017 0.000
Cubeful equities:
1. Double, take         +0.732
2. Double, pass         +1.000  ( +0.268)
3. No double            +0.652  ( -0.081)
Proper cube action: Double, take

Cube analysis
2-ply cubeless equity  +0.411
0.705 0.021 0.000 - 0.295 0.020 0.001
Cubeful equities:
1. Double, take         +0.621
2. Double, pass         +1.000  ( +0.379)
3. No double            +0.610  ( -0.010)
Proper cube action: Double, take

Cube analysis
3-ply cubeless equity  +0.455
0.722 0.028 0.000 - 0.278 0.017 0.000
Cubeful equities:
1. Double, take         +0.720
2. Double, pass         +1.000  ( +0.280)
3. No double            +0.697  ( -0.023)
Proper cube action: Double, take

Cube analysis
4-ply cubeless equity  +0.418
0.709 0.021 0.000 - 0.291 0.020 0.000
Cubeful equities:
1. Double, take         +0.639
2. Double, pass         +1.000  ( +0.361)
3. No double            +0.631  ( -0.008)
Proper cube action: Double, take

Cube analysis
Rollout cubeless equity  +0.459

Cubeful equities:
1. Double, take         +0.804
2. Double, pass         +1.000  ( +0.196)
3. No double            +0.768  ( -0.037)
Proper cube action: Double, take
Rollout details:
Centered 1-cube:
0.728 0.021 0.001 - 0.272 0.017 0.001 CL  +0.459 CF  +0.768
[0.002 0.001 0.000 - 0.002 0.001 0.000 CL   0.004 CF  +0.011]
0.731 0.019 0.001 - 0.269 0.016 0.001 CL  +0.929 CF  +0.804
[0.002 0.002 0.000 - 0.002 0.001 0.000 CL   0.009 CF  +0.013]
Full cubeful rollout with var.redn.
360 games, seed 1205370880 using quasi-random dice and Mersenne Twister
Play and cube: 0-ply cubeful [expert]

Cube analysis
Rollout cubeless equity  +0.463

Cubeful equities:
1. Double, take         +0.806
2. Double, pass         +1.000  ( +0.194)
3. No double            +0.784  ( -0.022)
Proper cube action: Double, take
Rollout details:
Centered 1-cube:
0.728 0.028 0.000 - 0.272 0.022 0.000 CL  +0.463 CF  +0.784
[0.002 0.002 0.001 - 0.002 0.002 0.000 CL   0.004 CF  +0.010]
0.729 0.027 0.000 - 0.271 0.022 0.000 CL  +0.926 CF  +0.806
[0.002 0.002 0.001 - 0.002 0.002 0.000 CL   0.010 CF  +0.011]
Full cubeful rollout with var.redn.
360 games, seed 1205370880 using quasi-random dice and Mersenne Twister
Play and cube: 1-ply cubeful

> - Even with the above, there is no guarantee we can do
> something about it. ( In the sense of improving it and not degrading
the rest).

True, but that's another story. It might be worth seeing if a better
holding game net is even possible, then worry about whether it can be
integrated with the current set up.

--Ian

```