Computer Chess Club Archives




Subject: Aspiration search, PVS

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.17 seconds to execute

Last modified: Thu, 07 Jul 11 08:48:38 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.