Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: futility pruning?

Author: Christophe Theron

Date: 00:20:34 11/09/03

Go up one level in this thread


On November 09, 2003 at 02:39:40, Daniel Shawul wrote:

>I am not doing stand pat at the frontier nodes(d==1).
>BTW after we made the moves at the frontier we go to qsearch(d==0),right?
>And at d==0,we do the stand pat.If we leave out the futility
>pruning,what happens is the futile move will be made and then we are right
>at the horizon node at which the stand pat cutoff occurs for the futile move.
>
>Here are my search algorthms.Please tell me where the fault is.
>
>     search(alpha,beta,depth)
>     {
>         generate moves
>         for each of the moves
>         {
>            make move
>            if(depth==1)//frontier
>            {
>               if(material balance + 3 pawns < alpha)
>                    continue;
>            }
>
>            if(depth>0) -search(-beta,-alpha)
>            else        -qsearch(-beta,-alpha,depth-1)
>            .
>            .
>            .
>         }
>
>     }
>
>     qsearch(alpha,beta)
>     {
>           score=evaluate position
>           if(score>beta) return beta;
>           if(score>alpha) score=alpha;
>           .
>           .
>           .
>     }



I do not remember if Ernst's paper said that you make the move first and then
decide if it is futile.

If it did, then it's definitely killing all the interest of futility pruning at
depth 1!

The idea is to prune before you make the move. So you stay at depth==1, look at
the move, and say "hey, this move looks completely futile, let's ignore it!".



    Christophe



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.