Fuzzy killers
Posted: Tue May 14, 2013 9:52 pm
Inspired by the discussion in the history pruning thread, I did a quick experiment (no games though) with what I call "fuzzy killers". A fuzzy killer is a move that is not a killer move, but that has the same piece/to as a killer move (but a different from square, obviously). Another way may be "approximate killer". The idea is that if you can use piece/to for history (you don't are where the piece comes from, only where it's going), perhaps you can do something similar with killers.
I didn't have time to run any significant number of games, so I did an experiment with benchmark, the idea being that if it improves move ordering it probably improves the benchmark. As a matter of fact, it didn't - nodes searched went up by a few %. I also looked at a number of examples of fuzzy killers that turned up in the search and many of them look rather silly (so I decided to exclude moves with SEE<0 and not bother at all if the side to move is in check), but some looked quite reasonable.
The interesting thing is when I looked at statistics for number of beta cutoffs caused by "fuzzy killers" compared to the number of "fuzzy killers" that failed to produce a cut-off. To my surprise (because of the benchmark results) the number of fuzzy killers that produced a cutoff vastly outnumbered the number that didn't (I didn't save the numbers, but it was something like 1000 to 1). Unless I made a mistake somewhere (and I'll check that) this suggests to me that there is something to be gained from the idea, so I was wondering whether anyone has tried something similar?
I didn't have time to run any significant number of games, so I did an experiment with benchmark, the idea being that if it improves move ordering it probably improves the benchmark. As a matter of fact, it didn't - nodes searched went up by a few %. I also looked at a number of examples of fuzzy killers that turned up in the search and many of them look rather silly (so I decided to exclude moves with SEE<0 and not bother at all if the side to move is in check), but some looked quite reasonable.
The interesting thing is when I looked at statistics for number of beta cutoffs caused by "fuzzy killers" compared to the number of "fuzzy killers" that failed to produce a cut-off. To my surprise (because of the benchmark results) the number of fuzzy killers that produced a cutoff vastly outnumbered the number that didn't (I didn't save the numbers, but it was something like 1000 to 1). Unless I made a mistake somewhere (and I'll check that) this suggests to me that there is something to be gained from the idea, so I was wondering whether anyone has tried something similar?