Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: futility and lazy eval

Author: Mike Byrne

Date: 21:27:40 04/30/04

Go up one level in this thread


On April 29, 2004 at 04:56:30, Daniel Shawul wrote:

>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??

lazy in crafty will cutout expensive evaluation functions but does not impact
search, futility reduces the search in unpromising lines



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.