tt and mate scoring bug

Discussion of chess software programming and technical issues.

Moderator: Ras

User avatar
hgm
Posts: 28503
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: tt and mate scoring bug

Post by hgm »

I don't feel like scrutinizing the code of other engines, but if it uses search score as if it is static eval, then yes, of course that is a bug.
ericlangedijk
Posts: 69
Joined: Thu Aug 08, 2013 5:13 pm

Re: tt and mate scoring bug

Post by ericlangedijk »

I see it as only a "local variable that uses the tt_score instead of static_eval for pruning purposes".
And I noticed during that KBN_K mate sequence using that trick speeds up mate finding immensely.
But I have a very very hard time visualizing it. This recursion, pruning, tt sometimes breaks me :)
User avatar
hgm
Posts: 28503
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: tt and mate scoring bug

Post by hgm »

ericlangedijk wrote: Tue Apr 21, 2026 10:33 pm I see it as only a "local variable that uses the tt_score instead of static_eval for pruning purposes".
You don't have to "see it like that"; this is just a factual description of what you do. But that does not say anything about whether this is correct or beneficial. "I see it only as replacing the helium in my balloon by argon". Well, it won't fly...

There could very well be successful pruning methods based on a search score retrieved from the TT. But using it like this score was the static evaluation is unlikely to do that, as it would do something completely different than what these pruning methods were designed to do. Because search scores are not static evaluations of the current position, but of some future one, and the pruning is based on selecting moves that could be useful in the current position.

It is suspect that eval-based prunings would speed up finding checkmates in KBN_K, as the only thing of importance there is that white should not blunder away any of his pieces. Which should lead to an instant draw due to insufficient material. So all relevant positions the search visits should have basically the same evaluation, of around +650cP. Of course that means that all search scores shoud be 650cP too (as loss of a minor cannot be forced here), apart from some minor positional correction small compared to the margins that most pruning methods use. So replacing eval by TT score basically does nothing.