LMR - Why so aggressive?
LMR - Why so aggressive?
Starting to implement late move reductions and working on how much to reduce moves based on depth remaining and move number (how far down the movelist it appears). Most people seem to use a formula or a table indexed to these two variables. In many cases due to reductions of R = 3 and higher, the latest moves will continue to be reduced such that a particular path may only be searched to 2 or 3 ply (and maybe less) before entering qSearch. Now, even my engine can perform a 6 ply search on all moves in the blink of an eye. So my question is, why don't you make the reduction a function of depth remaining, move number AND ply, such that no path is ever searched less than 6 ply. As improbable as many of these paths are in finding the best move, the cost is so small in exchange for being less tactically blind.