Using bounds from a failed TT hit

Discussion of chess software programming and technical issues.

Moderator: Ras

StuProgrammer
Posts: 2
Joined: Fri Jan 03, 2025 11:06 pm
Full name: Stuart Marshall

Using bounds from a failed TT hit

Post by StuProgrammer »

Hello folks,

I must be getting confused about how the bounds of transposition table scores are handled, since I have looked at various chess engines (crafty, fruit, etc.) and haven't seen them use the bounds provided by a TT lookup if it doesn't produce a cutoff:

Code: Select all

// TT hit is at a high enough depth, but it was determined that the bounds will not cause a cutoff here
if tt_returns_upperbound {
	beta = min(beta, tt_upper_bound)
} else if tt_returns_lowerbound {
	alpha = max(alpha, tt_lower_bound)
}
Surely this should create a smaller window to search in, causing better cutoffs in child nodes of the position with the TT hit?

The only explanation I found plausible is that engines do not do cutoffs in PV nodes, and non-PV nodes might have a zero-width window anyway.

Can anyone clear my confusion :?: