well yes, and then they add up to 100, don't they. Eg. in SCID, with which i've'probing code set the weights to percentage of total'
set most percentages for my gambit book(s) manually (well at at least
for the first few moves. And i hope/presume that the program is choosing
the frequency of such moves based on such percentages, but i could be wrong.
It's for a gambit training program for human chess players:
https://sourceforge.net/projects/chess-gambiteer/
and it contains quite some odd/rare gambits, so it also has not
been based on real games (with a pgn). Using an engine score
for such positions would be useless, btw, because it would filter
out the gambit moves, which have positional compensation which
sometimes even the modern Nnue engines cannot easily understand.
For high level (eg. correspondence chess) i don't use polyglot anyway
but Aquarium...
PS about WDL or engine score in book ? (and/or with minimax) well in
the past this was discussed here, and it was suggested that a linear
combination of statistics (from a game database) and engine score would be
most robust (in a Chess Assistant type of book it can be done but there's
no minimax). There's some simple calculation from centi-pawns to
percentage and vice versa nowadays, so doing this should be easy.
Based on the 3 variables of WDL (or actually only 2 coz they add up to 100)i
suggest a single score
of Sc1= W/(W+L), SC2 engine score (in win pct) combine the two scores
(with one parameter to value either statistics or engine score), and then
minimax on endnodes; for fast minimax i still have some awesome code btw
which i might upload to sourceforge (rather soon, if you wish).
Yet such a method still is neglecting 'sharpness' of the position (or
possibly of the playing style) which I mentioned earlier in this forum
on some occasions.. IMO for different playing styles you need different
books, aka for humans a different repertoire. For a sharpness or
'Unbalanced'-ness parameter I would suggest something simple as eg
U =(100-D)/100 with D the draw percentage. Then, an aggregated score would
be Sc-new = Sc + c* U with an extra (UCI) parameter c , somewhere between
zero and 0.3 or so. And then again the minimax
NB at the end the Sc-new scores should be 'normalized' again to 100
before calculating back to centipawns ofcourse. The whole thing is
a matter of prototyping, and trying to see if its possible anyway
with the current Polyglot coz i understood there's unfortunately not so
much bits to accommodate for such extra parameters...
PS something similar (sharpness) could actually be used in modern engines
and rather then 'contempt', it may actually lead to more attractive/aggressive
playing style, if the user would like to do so (with the parameter).
PS2 meanwhile i haven't tested the very latest polyglot bookmerge
but i'll gladly leave that to others :_)