Late Move Reductions (LMR),
or its version known as History Pruning and History Reductions^{[1]} , save search by reducing moves that are ordered closer to the end of likely fail-low nodes. Typically, most schemes search the first few moves (say 3-4) at full depth, then if no move fails high, many of the remaining moves are reduced in search depth. The technique has been used for many years in various forms, but it became very popular in 2005 after Fruit and Glaurung^{[2]} used open source implementations based on the History Heuristic. LMR can often reduce the effective branching factor to less than 2, depending on the reduction conditions.

Classical implementation reduces by one ply only. Yet modern programs, most notably Stockfish, allow reductions of more than one ply and increase them for later moves. Reduction depth changes according to expected node type (being typically smaller in pv nodes), depth and move number. Here some sample formulas can be viewed:

Senpai reduces by one ply for the first 6 moves and by depth / 3 for remaining moves.

Fruit Reloaded uses formula: uint8( sqrt(double(depth-1)) + sqrt(double(moves-1))); for non-PV nodes. In PV-nodes it reduces by 2/3 of this value.

Re-searches

Classical implementation assumes a re-search at full depth if the reduced depth search returns a score above alpha.

Home * Search * Selectivity * Reductions * Late Move ReductionsLate Move Reductions (LMR),or its version known as

History PruningandHistory Reductions^{[1]}, save search by reducing moves that are ordered closer to the end of likely fail-low nodes. Typically, most schemes search the first few moves (say 3-4) at full depth, then if no move fails high, many of the remaining moves are reduced in search depth. The technique has been used for many years in various forms, but it became very popular in 2005 after Fruit and Glaurung^{[2]}used open source implementations based on the History Heuristic. LMR can often reduce the effective branching factor to less than 2, depending on the reduction conditions.^{[3]}## Table of Contents

## Common Conditions

Most programs do not reduce these types of moves:## Less Common Conditions

Less common conditions on moves not to reduce:^{[4]}## Reduction Depth

Classical implementation reduces by one ply only. Yet modern programs, most notably Stockfish, allow reductions of more than one ply and increase them for later moves. Reduction depth changes according to expected node type (being typically smaller in pv nodes), depth and move number. Here some sample formulas can be viewed:## Re-searches

Classical implementation assumes a re-search at full depth if the reduced depth search returns a score above alpha.## Test Results

Some test results related to LMR can be found on## See also

## Publications

1989).The SEX Algorithm in Computer Chess. ICCA Journal, Vol. 12, No. 12013).Analysis of pruned minimax trees. pdf » Alpha-Beta, Null Move Pruning## Forum Posts

## 2004

## 2005 ...

2006Re: late move reductions by Alessandro Scotti, CCC, March 01, 2006 » Kiwi

PHR (Peak History Reduction) idea by Daniel Mehrmann, CCC, March 01, 2006 » Homer, Relative History Heuristic

200720082009## 2010 ...

201120122013^{[5]}2014## 2015 ...

20162017## External Links

## Late Move Reductions

^{[6]}» Rebel## Misc

## References

2006).The Relative History Heuristic. Computers and Games, Lecture Notes in Computer Science (LNCS 3846) (eds. Jaap van den Herik, Yngvi Björnsson, and Nathan S. Netanyahu), pp. 262-272. pdf## What links here?

Up one level