Unless I'm mistaken, Critter (as well as Ippo and Rybka) also throw out quiet moves in low depth when the score is below a futility margin (which I believe starts at half a pawn under beta in Ippo and Critter and grows only very slowly with depth). Regarding the move-count based pruning, it is true that Critter (and Ippo) also require a score condition (which we found to be useless for Komodo), but our experience with it indicates that the score condition is only a mild restriction, far less significant than looking at less moves than SF. I think this is because when the score is good, you are probably at a CUT node where looking at less moves is not always a speedup.rvida wrote:It is hard to compare, but I think not. SF uses a bit wider margins, but throws out moves based on either of move count / value conditions. Critter throws out moves only when both conditions are true.lkaufman wrote: ... but do you also agree that SF has a higher EBF WITHIN the last four plies?
SF pruning condition (schematic):Critter condition:Code: Select all
if (move_count > n || futility_value < beta) skip_move;
Just think a bit about consequences of this difference.Code: Select all
if (move_count > n && futility_value < beta) skip_move;
Also, SF uses much higher static null margins.
Overall, I don't think it's even close. SF prunes far less than Critter or Ippo until you reach the depth where LMR becomes important. Just time 7 ply searches to see what I mean. SF is much slower.