Author: Russell Reagan
Date: 09:12:01 12/28/02
I am a little confused about how to determine when to re-search after you have
tried an aspiration search. I was looking at Bruce's PVS example on his website,
and it seems counter-intuitive (not saying it's wrong, just confusing to me).
if (fFoundPv) {
val = -AlphaBeta(depth - 1, -alpha - 1, -alpha);
if ((val > alpha) && (val < beta)) // Check for failure.
val = -AlphaBeta(depth - 1, -beta, -alpha);
} else
val = -AlphaBeta(depth - 1, -beta, -alpha);
}
What this says to me is that if the aspiration search returns a score that lies
within the bounds of (alpha,beta), the asipration search failed, and we need to
re-search. As I understand it, you only need to re-search when you discover that
the node is not a PV node (as you assumed). If the score is within the bounds of
(alpha,beta), doesn't mean that it's a PV node? So why the re-search? It seems
more natural to me that you would research if the aspiration search returned a
score less than alpha (which means we have an alpha node, and need to re-search)
or a score greater than beta (which means we have a beta node, and we're done).
Where is the mistake in my thinking?
This page took 0.02 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.