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.01 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.