Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: futility pruning?

Author: Alessandro Damiani

Date: 03:46:31 11/09/03

Go up one level in this thread


On November 09, 2003 at 04:55:40, Matthias Gemuh wrote:

>On November 09, 2003 at 03:53:24, Daniel Shawul wrote:
>
>>
>>
>>>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
>>
>>A futile move is futile before you make or after you make it.
>>    before
>>          mat_bal + move_gain + margin < alpha => futile move
>>    after
>>          mat_bal + margin < alpha => futile move
>>Anyway my question is since you go directly to quiescent search
>>(where stand pat cutoff of all futile moves occur) after making the move,
>>we only saved ourselves "making of the futile moves".I can comprehend the
>>extended futlity pruning but not this.For me as long as standing pat cut off
>>is there , futility pruning at frontier is unnecessary,and if it is,it only
>>saves the time to make and unmake futile moves.Where does the 60% tree shrinkage
>>comes from?Please try to see where my proble is.
>>
>>Daniel
>
>
>
>Your logic seems sound for me. We seem to save only
>MakeMove() + UnmakeMove() + Evaluate().
>
>/Matthias.

Right. And if we use lazy eval then we save about the cost of "only"
MakeMove() + UnmakeMove().

But we don't have to forget that most of the cost of a full-width search is
caused at depth = 1.

Alessandro



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.