As for not reducing killer moves: In Critter I am deciding this by looking at SEE values of good captures. If there was any capture with SEE >= 100 then killer moves are subject to LMR. If there were only SEE == 0 captures then killer moves are not reduced. Of course other usual rules are also considered (movecnt > 3 && !extension ...)mcostalba wrote:Rebel wrote: I stopped developing mine some years ago, if memory serves me well my exclusion list is as follows:
1) No LMR in the last 3 plies of the search, this because of the use of futility pruning;
2) Always search at least 3 moves;
3) Hash-move;
4) Captures, guess I have to try your idea skipping bad captures;
5) Queen promotions (no minors);
6) Extended moves;
7) Moves that give check;
8) Moves that escape from check;
9) Static Mate-threads;
10) Killer moves;
Apart from bad captures that we have still to test (but I guess becuase in SF there is razoring starting form depth 4 plies the benefit of reducing search of bad captures should be mitigated, given that in that case position evaluation is far below beta so razored anyway) your list is the same of SF with the expecption of point (11), we currenlty do not have special code to avoid reducing killer moves (perhaps something else to try )
Richard