Page 1 of 1
ivanhoe stuff
Posted: Mon Jul 12, 2010 11:37 pm
by benstoker
Does anyone know what these parameters are/do in IvanHoe's "common.h" header file?
Code: Select all
#define TempoValue 5
#define TempoValue2 5
#define PrunePawn 160
#define PruneMinor 500
#define PruneRook 800
#define PruneCheck 10
#define LazyValue 150
#define LazyValue2 300
What in theory happens to the search if the prune values are lowered significantly?
Re: ivanhoe stuff
Posted: Tue Jul 13, 2010 2:55 am
by BB+
Grepping for Prune shows that these are used in qsearch, presumably for delta pruning. So if you are behind by more than 160 cp, you ignore pawn captures. Same for minors and rooks. If you reduce this too much, you will often ignore everything except queen captures. Reasonable "lower limits" would maybe be like 110, 350, 550.
Re: ivanhoe stuff
Posted: Fri Aug 06, 2010 7:17 pm
by benstoker
BB+ wrote:Grepping for Prune shows that these are used in qsearch, presumably for delta pruning. So if you are behind by more than 160 cp, you ignore pawn captures. Same for minors and rooks. If you reduce this too much, you will often ignore everything except queen captures. Reasonable "lower limits" would maybe be like 110, 350, 550.
I am fairly certain that your numbers above result in a +15 ELO or more improvement, at least in 15s + 0.1 inc games.
Re: ivanhoe stuff
Posted: Fri Sep 17, 2010 11:07 pm
by hyatt
I know this term "Delta Pruning" came from Crafty, because I happened to choose the variable name "delta". But this is really just a form of futility pruning. One can compute the difference between material score and alpha (delta = alpha - material_score) and then you know that if a capture doesn't win at least that much material, it is a hopeless capture to search. But this is simply futility pruning. I hate to somehow create a new name for something that is really an old idea... and this is a very simple and old idea that did not originate in Crafty at all. It was at least in Cray Blitz and I suspect Slate used it as well...