Computer Chess Club Archives


Search

Terms

Messages

Subject: futility and lazy eval

Author: Daniel Shawul

Date: 01:56:30 04/29/04


Hello

My question is about normal futility at depth==1 and lazy evaluation.
What i do is as follows

      search()
{
        for each move {
           MAKEMOVE()
           if( depth == 1 &&
               move is not checking &&
               score + 300 < alpha
                      prune;
            ..
            recurse to next ply
        }
}
        quiescent()
{
        if(lazy score + margin < alpha ||
           lazy score - margin > beta)
                 score = lazy score modified by margin
        else
             score = eval()

        if(score > beta)
            return beta;

}

         i am thinking the futility is redundant if the second case for lazy
eval is present [lazy score - margin > beta]. What does the futility save me?
i already made the move so only a call to quiescent is left which will
immediately return??





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.