Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: negascout and PVS?

Author: Russell Reagan

Date: 02:16:24 07/28/04

Go up one level in this thread


On July 27, 2004 at 06:39:25, Fabien Letouzey wrote:

>I think this difference is Bruce's own interpretation and does not represent the
>original PVS algorithm.  I think that, in the official articles, both PVS and
>NegaScout use what you describe as "negascout" here.
>
>I might be wrong.
>
>It seems Bruce's modification is an attempt to integrate the aspiration-search
>assumption with PVS.  This is interesting.

How is "original PVS" different from Bruce's version? I learned Bruce's version
first... :)

int AlphaBeta (int depth, int alpha, int beta)
{
    BOOL fFoundPv = FALSE;
    if (depth == 0)
        return Evaluate();
    GenerateLegalMoves();
    while (MovesLeft()) {
        MakeNextMove();
        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);
        UnmakeMove();
        if (val >= beta)
            return beta;
        if (val > alpha) {
            alpha = val;
            fFoundPv = TRUE;
        }
    }
    return alpha;
}



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.