bug-gnubg
[Top][All Lists]

Re: [Bug-gnubg] Cube Filtering

 From: Joern Thyssen Subject: Re: [Bug-gnubg] Cube Filtering Date: Mon, 9 Jun 2003 11:16:59 +0000 User-agent: Mutt/1.4.1i

```On Sat, Jun 07, 2003 at 04:03:13PM -0400, address@hidden wrote
> The idea of cube filtering has come up again at the Gammonline forum.
> It always good IMHO to look at ways of speeding up analysis and rollouts with
> little
> effect on the results.
> For 2-ply rollouts/analysis we could have a :
> "Only analyse cube at 2 ply if 0-ply equity is above X" option.

Cube filtering is interesting. gnubg already uses cube filtering when
playing: it only evaluates high-ply evaluations if gnubg is in the
market window (based on a 0-ply evaluation).

There are several different cube filters. I assume we implement
something analogous to move filters, i.e., we evaluate at 0-ply. Based
on some criteria we evaluate on 1-ply etc. Similar to move filters we
may skip certain plies, e.g., 1-ply.

(a) Only analyse at n+1 ply if n-ply equity is above X

if equity > X then
....

I don't think this will work. For match play you may often have a
correct double with equities well below 0.

(b) Only analyse at n+1 ply if current win percentage is larger then
double point

if p >= ( DP - X ) then
...

In my opinion much better than (a), since we handle both match play and
money play generally.

DP is the dead cube double point. X protects us against bad 0-ply
evaluations where the win percentage change more than, say, 5% compared
to a 2-ply evaluation.

(c) A more general form of (b) where we use the too-good point as well:

if  (DP - X ) <= p <= (TG + Y ) then
...

TG is the fully live cube too-good point.

With this heuristic we don't waste any time evaluating obvious too-good
positions.

(d) Evaluate at n+1 ply if equity(no double) > (equity(double take) - X)

That is, only evaluate at n+1 ply if the no double equity is
sufficiently close to the double take equity.

(e) other ideas out there?

Personally I prefer (c).

Jørn

```