Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Extended futility prunning not working

Author: Tord Romstad

Date: 04:12:02 08/04/04

Go up one level in this thread


On August 04, 2004 at 06:24:08, Uri Blass wrote:

>On August 04, 2004 at 05:46:24, Tord Romstad wrote:
>
>>Hi Cesar!
>>
>>On August 03, 2004 at 15:04:54, Cesar Contreras wrote:
>>
>>>I'm working on extended futility prunning and it's not working, it seems to
>>>make a node reduction, but it plays worse than without it.
>>>
>>>My question is, do any of you have seen good improvement using extended
>>>futility prunning?
>>
>>Yes, I use something very similar to extended futility pruning, with good
>>results.  The technique as explained by Heinz didn't work for me, but with
>>some extra conditions added it performed much better.
>>
>>I never prune if there was an extension in one of the last two moves in
>>the current line.  This little extra condition, by the way, is useful
>>also with many other pruning and reduction techniques.  It greatly
>>improves the program's tactical accuracy.
>>
>>I also never prune checks, passed pawn pushes to the 7th or 8th rank,
>>or moves which threaten a valuable enemy piece.  I don't prune if the
>>side not to move has very bad king safety.
>>
>>>what normal futility margin do you use?
>>>what extended futility margin do you use?
>>
>>2 pawns and 5 pawns, but around the result of the last iteration rather than
>>around alpha.
>>
>>Tord
>
>I see no reason to use constants.

I've had the same thought, but 2 pawns and 5 pawns seem to work well enough,
and there are already too many other parameters to tune in my search.  :-)

>I have another pruning condition that is also similiar to futility pruning but I
>use a function instead of constants and I use beta and not alpha but maybe it is
>because of the fact that I prune after making moves and not before making them
>so my beta means your alpha.
>
>if (evalfull[ply]>=beta+calculatemargin(depth))
> return beta;
>
>evalfull[ply] is the evaluation and calculatemargin is a function that can be
>improved(it is using a lot of global varaibles except depth)
>
>maybe it is better not to use beta but score of last iteration and I did not try
>it.

I don't think using the score from the last iteration would be an
improvement to you.  Like so often, this is something that has to be
done differently in an MTD search.  I don't have any alphas or betas
for use in my pruning decisions.  There is only a single search bound
(called "gamma" in my code), and this bound is really nothing more than
a guess of the root score.  If I use this bound in futility pruning, I
will have horrible search inconsistencies when I re-search with a
different value of gamma.

Tord




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.