bug-gnubg
[Top][All Lists]
Advanced

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

Move filters


From: Philippe Michel
Subject: Move filters
Date: Sun, 7 Jul 2024 19:37:23 +0200

On Tue, Jun 25, 2024 at 06:07:15AM +1200, Joseph Heled wrote:

> Move filters are very tricky.
> I am pretty sure the testing I did 20+ years ago, when I developed them,
> should be repeated with the current net and taking the huge advance in cpu
> speed into account.

I just ran some experiments to see how adding some filtering at 1 ply 
and/or making the filters narrower would improve speed and what the 
accuracy cost would be.

As a baseline, World class and Supremo are respectively:

Move filter for 2 ply:
keep the first 0 0-ply moves and up to 8 more moves within equity 0.16
Skip pruning for 1-ply moves.

and

Move filter for 2 ply:
keep the first 0 0-ply moves and up to 16 more moves within equity 0.32
Skip pruning for 1-ply moves.

The chequer play errors cost in the Depreli benchmark and timing for a 
small sample of matches analyses are:

World class     chequer play cost  -16.74       38.72s
Supremo         chequer play cost  -16.14       70.39s

Supremo is only slightly better but almost twice as slow.


Filtering at 1ply looks promising. Various settings gave results varying 
from close to Supremo in strength and WC in speed:

chequer play cost  -16.10       40.94s

to close to WC in speed but substantially faster:

chequer play cost  -16.74       29.08s

The one I liked best is at the average in strength but 20% faster than WC 
and more than twice as Supremo:

chequer play cost  -16.45       31.74s

Move filter for 2 ply:
keep the first 0 0-ply moves and up to 12 more moves within equity 0.24
keep the first 0 1-ply moves and up to 6 more moves within equity 0.12


There is probably less potential at 3ply (or 4, not tested). The filter 
is:

Move filter for 3 ply:
keep the first 0 0-ply moves and up to 16 more moves within equity 0.32
Skip pruning for 1-ply moves.
keep the first 0 2-ply moves and up to 4 more moves within equity 0.08

and I would be reluctant to decrease "more moves" to less that 4, the 
tightening would be limited to "within equity".

Still, a filter like:

Move filter for 3 ply:
keep the first 0 0-ply moves and up to 16 more moves within equity 0.32
keep the first 0 1-ply moves and up to 8 more moves within equity 0.16
keep the first 0 2-ply moves and up to 4 more moves within equity 0.06

is almost 20% faster with no significant change in strength (less than 
1% in the Depreli benchmark, no change at all in the sample match 
analyses final result).


If you or other list subscribers have suggestions, I can easily test 
2ply setups (running the benchmark takes a few minutes) or 3ply ones 
(takes 1 hour), but 4 ply would need about one day.




reply via email to

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