Reductions

Discussion of chess software programming and technical issues.

Moderator: Ras

User avatar
hgm
Posts: 28461
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Reductions

Post by hgm »

Has there already developed a consensus on what amount of reduction for null move and LMR works best for Chess? I understand that null-move reduction nowadays is chosen as a function of remaining search depth (and can grow from 2 ply to nearly half that remaining depth?), while LMR is dependent on both the remaining depth and the move number. What are typical numbers here? Does the best null-move reduction correlate with how much you reduce in LMR?

Making LMR dependent on move number does not seem justified if there is no meaningful move ordering. How must one order the non-captures for this technique to work? Is history good enough?
Ferdy
Posts: 4851
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: Reductions

Post by Ferdy »

hgm wrote:Has there already developed a consensus on what amount of reduction for null move and LMR works best for Chess?
Not sure about it. Engines are different, the amount of reduction can vary a lot for LMR.
hgm wrote: I understand that null-move reduction nowadays is chosen as a function of remaining search depth (and can grow from 2 ply to nearly half that remaining depth?),
Can also be a function of static_eval and previous move played by the opponent.
hgm wrote:while LMR is dependent on both the remaining depth and the move number.
Can also be dependent on the type of move (killers and others), move history score, move's fail high and low stats and king safety, passer values extracted from static eval.
hgm wrote:What are typical numbers here?
Can be as high as the remaining depth.
hgm wrote:Does the best null-move reduction correlate with how much you reduce in LMR?
I don't know I have not investigated it.
jdart
Posts: 4423
Joined: Fri Mar 10, 2006 5:23 am
Location: http://www.arasanchess.org

Re: Reductions

Post by jdart »

Making LMR dependent on move number does not seem justified if there is no meaningful move ordering. How must one order the non-captures for this technique to work? Is history good enough?
Well, history is commonly used .. it is not a great move ordering but it is better than nothing. LMR in any case is a heuristic. Sometimes its assumptions will be wrong (One assumption is that if you have searched n moves, including all the good captures and killers, then the larger n is, the more likely it is that you will not find a move > alpha).

Stockfish's formula or variants of it are widely used. Current Stockfish however does not just use a depth + move number formula but applies in addition other rules that can increase/reduce the reduction amount. Look also at Gull .. this has quite a different set of rules for LMR.

--Jon
User avatar
cdani
Posts: 2204
Joined: Sat Jan 18, 2014 10:24 am
Location: Andorra

Re: Reductions

Post by cdani »

Base LMR reduction for Andscacs can go up to 6 as a function of remaining depth and move number, plus can be increased if is not pv, on history, on endgame, but reduced if is countermove, or sometimes if is obtaining 0 on some previous iterations, or if is check.
Also does not get LMR'ed some different types of killers. All in all pretty elaborated.

Of course move ordering is absolutely crucial, not only for LMR to work. Here I have a lot of tricks a part of the typical history.

For Null move, the current reduction on Andscacs goes from 3 to 8 in extreme cases, basically a function of the remaining depth, but I have not tried anything more aggressive in the latest months, so I have to try again.
Daniel Anulliero
Posts: 773
Joined: Fri Jan 04, 2013 4:55 pm
Location: Nice

Re: Reductions

Post by Daniel Anulliero »

Each time I do a more agressive LMR in Isa , I lose some elo
If I don't reduce the killer , no depth gain....
May be I do something wrong...
Lmr is really complex to implement correctly...
Also it seems my null-move is not very effective...
Lot of work again ... :wink: