[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?