bug-gnubg
[Top][All Lists]
Advanced

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

Re: Question to Movefilter


From: Jüstel
Subject: Re: Question to Movefilter
Date: Mon, 24 Jun 2024 12:30:20 +0200
User-agent: Mozilla Thunderbird

Could anybody help me to get removed from the distribution list!?
Thank, best regards,
Karl

Am 23.06.24 um 23:47 schrieb Philippe Michel:
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]