gladius wrote:bob wrote:Here's what I responded to:
Does Stockfish avoid fetching pv scores from the hash?
I responded "yes it does disallow exact hash hits at PV nodes."
From your comment, it seems that this is still being done. Getting rid of the hash PV reconstruction is a good idea. But not allowing exact hash matches is, IMHO, foolish when there is a very simple fix for this problem that works, without ignoring hash hits of any kind.
We are going in circles here
. Before last week, it *did* allow them. And reconstructed the PV from hash.
SF just started to disallow exact hash hits when the triangular array was introduced last week. That's what I was trying to point out.
RE: not allowing them, at least at the fishtest TC, there was no ELO benefit. So, that's why we decided not to go with a PV TT cache.
OK, first, the oldest stockfish I have is 1.8. Here is a direct comment from the code:
// Transposition table lookup. At PV nodes, we don't use the TT for
// pruning, but only for move ordering.
Which says that the TT is ignored (scores) at PV nodes as best I can understand.
Here's the code that goes with that:
if (!PvNode && tte && ok_to_use_TT(tte, depth, beta, ply))
{
ss->currentMove = ttMove; // Can be MOVE_NONE
return value_from_tt(tte->value(), ply);
}
The value is not used at all if this is a "PvNode" it seems?
Which directly contradicts what you wrote. I did not dig through later versions, however, so anything could have changed. I just remembered the above from discussions here in recent months.
For the record, I consider it silly to treat PV and non-PV nodes differently, period. But specifically, treating them differently regarding how the table is used really makes no sense.
the PV hash was NOT to improve Elo, as previously explained. It was to provide correct PVs when you get exact entry hits along the PV. The intent was to give a user a real pv that takes you from the root position to the endpoint that produced the terminal node score, each and every time, without those short PVs that one always gets when using EXACT matches along the PV...