It appears that glaurung and stockfish have rather extreme? (atrocious?) values in the psq tables, for instance in stockfish middlegame for knights I see:
Code: Select all
MK-135, MK-107, MK-80, MK-67, MK-67, MK-80, MK-107, MK-135,
MK- 93, MK- 67, MK-39, MK-25, MK-25, MK-39, MK- 67, MK- 93,
MK- 53, MK- 25, MK+ 1, MK+13, MK+13, MK+ 1, MK- 25, MK- 53,
MK- 25, MK+ 1, MK+27, MK+41, MK+41, MK+27, MK+ 1, MK- 25,
MK- 11, MK+ 13, MK+41, MK+55, MK+55, MK+41, MK+ 13, MK- 11,
MK- 11, MK+ 13, MK+41, MK+55, MK+55, MK+41, MK+ 13, MK- 11,
MK- 53, MK- 25, MK+ 1, MK+13, MK+13, MK+ 1, MK- 25, MK- 53,
MK-193, MK- 67, MK-39, MK-25, MK-25, MK-39, MK- 67, MK-193
I haven't looked or been able to find psq table sources in another strong engine to compare with these values, but it is my current understanding that these rather large bonuses help the search in some ways, perhaps increasing cutoffs or increasing the potential to search a little deeper? To me they seem rather high, but perhaps a well placed knight really does compensate for the bishop pair. Tigran Petrosian would certainly give up the B pair for a well placed knight and some initiative, usually with the white pieces. In the stockfish code it explains that the tables need to be adjusted if the piece values are changed, but Im having difficulty understanding the ideas in these tables because Im not sure what the piece values are or how the tables would be adjusted for comparison to other tables.
In stockfish value.h:
Code: Select all
const Value KnightValueMidgame = Value(0x331);
const Value KnightValueEndgame = Value(0x34E);
So Im assuming the base value for a knight there is 331. I don't know how to make sense of values that include letters like 34E though...and the value for a pawn here is expressed as 0C6, which could almost be anything to me. So, I really don't understand the tables at all, because Im not sure what "55" for a knight in the center correlates to what value? If a pawn in stockfish is going for 86 or 96, then the values would seem even larger to me than if a pawn was set to 100. Are there any other strong engines (open source) which use psq tables with smaller values successfully these days? I'm interested in the idea of helping search via eval, but Im also thinking that for some engines these large values might make play worse because of move ordering and the search in general? I've looked at some older? engines (Kiwi) where most values are in the 10-20 range and was wondering if any search could still benefit from these smaller values, or if larger values are the way to go regardless. Perhaps Hamsters has "gone plaid" as well

Thanks.