bug-gnubg
[Top][All Lists]
Advanced

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

Re: Question to Movefilter


From: Philippe Michel
Subject: Re: Question to Movefilter
Date: Sun, 23 Jun 2024 23:47:28 +0200

On Sat, Jun 22, 2024 at 12:22:27PM +0200, Frank Berger wrote:
> Hi all, 
> 
> I have a question about movefilter and the cli.
> I want to use GnuBG by the cli, mainly eval and hint.
> 
> For eval it works as expected, here an example:
> 
>       set lang C
>             
>       set evaluation chequerplay evaluation plies 2
>       set evaluation cubedecision evaluation plies 2
> 
>       set matchid UQngABAAIAAE
>       set board t20DAAa3OM8AAA 
> 
>       eval

eval evaluates the current position only, not the possible checker plays 
or cube action, so the move filter is irrelevant. The evaluation is done 
at the ply level you asked.
 
> BTW I set lang to C so I don’t have to deal with different decimal 
> point/comma stuff.
> 
> So far so good but when I use hint like here:
> 
>       set lang C
>             
>       set evaluation chequerplay evaluation plies 2
>       set evaluation cubedecision evaluation plies 2
> 
>       set matchid UQklAVAAQAAE
>       set board NrbEBRCD9wYDIA 
> 
>       hint

hint, on the other hand, evaluates multiple checkers play. The 
movefilter is used for plies higher than 0. The "show evaluation 
movefilter" explains what the various parametrs mean. For the "world 
class" level, which is apparently what you had as default, it is:

(No game) show evaluation movefilter
`eval' and `hint' will use:
    Chequer play:
      Neural net evaluation:
        2-ply evaluation.
        Using pruning neural nets.        Cubeful evaluations.
        Noiseless evaluations.
    Move filters:
      Move filter for 1 ply:
        keep the first 0 0-ply moves and up to 8 more moves within equity 0.16
      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.
[...]

In the above position the hint result is:

    1. Cubeful 0-ply    7/5 6/5                      Eq.: -0.117               
       0.553 0.215 0.005 - 0.447 0.106 0.002
        0-ply cubeful prune [expert]
    2. Cubeful 0-ply    13/11* 7/6                   Eq.: -0.344 (-0.227)
       0.488 0.181 0.006 - 0.512 0.152 0.010
        0-ply cubeful prune [expert]
    3. Cubeful 0-ply    13/11*/10                    Eq.: -0.364 (-0.247)
       0.488 0.182 0.006 - 0.512 0.162 0.011
        0-ply cubeful prune [expert]
    etc...

The best move is clear enough that there are no other "moves within 
equity 0.16" and the evaluation stops at 0 ply.

> I get only 0-ply evaluation. I found that others setup the movefilter, what 
> seems a bit strange to me because in the configuration are already move 
> filters.
> When I use the same reasonable movefilters like here:
> 
>       set evaluation movefilter 1 0 0 8 0.16
> 
> it doesn’t make a difference (I tried 0,16 too) only when I disable the move 
> filters like here for 2-ply
> 
>       set evaluation movefilter 2 0 -1 0 0 
>       set evaluation movefilter 2 1 -1 0 0

If you disable the filter, or if you use the supremo level which is

    Move filters:
      Move filter for 1 ply:
        keep the first 0 0-ply moves and up to 16 more moves within equity 0.32
      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 result would be:

    1. Cubeful 2-ply    7/5 6/5                      Eq.: -0.117               
       0.553 0.211 0.005 - 0.447 0.106 0.003
        2-ply cubeful prune [world class]
    2. Cubeful 2-ply    13/11* 7/6                   Eq.: -0.356 (-0.239)
       0.490 0.183 0.007 - 0.510 0.160 0.009
        2-ply cubeful prune [world class]
    3. Cubeful 2-ply    13/11*/10                    Eq.: -0.386 (-0.269)
       0.489 0.186 0.007 - 0.511 0.173 0.010
        2-ply cubeful prune [world class]

Moves 2 and 3 are now close enough at 0 ply to be evaluated more deeply.

Another possibility is to raise n in the "keep the first <n> 0-ply 
moves". It probably makes sense only for analysis or hint, not for 
actual play or rollouts.

But in this case a good value for n is not obvious. 1 is dubious and 
could lead to issues like in 
https://www.bgonline.org/forums/webbbs_config.pl?read=213668

Then how much? 2? More? Something somehow correlated to the "more moves 
within equity" parameters?



reply via email to

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