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.