Author: Dieter Buerssner
Date: 11:10:58 06/06/05
Go up one level in this thread
On June 06, 2005 at 13:31:54, Volker Böhm wrote:
>retreiving the value from hash:
if (stored depth >= remaining search depth) /* And possibly more preconditions
*/
{
>if exact return value
>if upperbound beta = min(beta, value)
>else if lowerbound alpha = max(alpha, value)
>
>if alpha >= beta return value;
}
Perhaps one wants to make the new window just one point wider in case of
upperbound and lowerbound.
So
if (upperbound && value < beta) beta = min(beta, value+1)
and similar for lowerbound *). Value could be exact, even when a bound is
stored. When you limit the new search window at value, and it turns out to be
exact (<= score includes the possibility of == score), the following search will
be out of window. Many engines will not collect a PV then (which could degrade
move ordering a bit, too). Also, you will store bounds again in the HT, instead
of exact scores (which could be more handy in further searches).
However, in my experience, these bounds adjustments from hash did not show a
clear advantage.
*) Another thing, one might want to add for lowerbounds: When the search is in a
state, where you would not allow null move normally (for example you have just
done a null move), check the stored best move - if it is a null move, don't
allow a cutoff. For this, some signature for a null move has to be stored in the
HT, of course.
Regards,
Dieter
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.