[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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

(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).


reply via email to

[Prev in Thread] Current Thread [Next in Thread]