LMR: history or not?

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

Alessandro Scotti

LMR: history or not?

Post by Alessandro Scotti »

Hi,
anyone tried LMR not based on history? In a recent test Hamsters scored 471/800 with LMR+history and 469/800 with same LMR but no history. In other words, if the LMR prerequisites are satisfied (not in check, not an "interesting" move and so on) the move is reduced regardless of its history. I will run another test but so far it seems the two are practically equivalent. However, the "historyless" version is simpler and more appealing to me... have you tried this?
User avatar
hgm
Posts: 27825
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: LMR: history or not?

Post by hgm »

I think Crafty has stopped using history information for the LMR decision (or in fact for anything) a long time ago. Micro-Max does not use history either. The only moves exempted from LMR are the hash move, check evasions, all captures and all Pawn pushes there. Joker also doesn't account history. It does exempt moves from LMR that are captures, check evasion, passer pushes, or have had a score above alpha on any previous IID iteration.
Vempele

Re: LMR: history or not?

Post by Vempele »

hgm wrote:I think Crafty has stopped using history information for the LMR decision (or in fact for anything) a long time ago. Micro-Max does not use history either. The only moves exempted from LMR are the hash move, check evasions, all captures and all Pawn pushes there. Joker also doesn't account history. It does exempt moves from LMR that are captures, check evasion, passer pushes, or have had a score above alpha on any previous IID iteration.
So you reduce non-capture checks? In order to compensate for not reducing the replies (and thus practically extending the check by more than a ply)?
User avatar
hgm
Posts: 27825
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: LMR: history or not?

Post by hgm »

Micro-Max does reduce non-capture checks, for the simple reason that it has no idea if a move delivers check or not.

In Joker I don't know by heart anymore how it treats checks. They might even be extended (outside QS), and that would exempt them from LMR too.
Alessandro Scotti

Re: LMR: history or not?

Post by Alessandro Scotti »

hgm wrote:I think Crafty has stopped using history information for the LMR decision (or in fact for anything) a long time ago. Micro-Max does not use history either. The only moves exempted from LMR are the hash move, check evasions, all captures and all Pawn pushes there. Joker also doesn't account history. It does exempt moves from LMR that are captures, check evasion, passer pushes, or have had a score above alpha on any previous IID iteration.
So history is not used anymore also for move ordering, correct? Is there any available test data that shows the difference of using/not using history in LMR and/or move ordering? If not, I can try to run a test myself but it will take quite a lot of time...
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: LMR: history or not?

Post by bob »

Alessandro Scotti wrote:Hi,
anyone tried LMR not based on history? In a recent test Hamsters scored 471/800 with LMR+history and 469/800 with same LMR but no history. In other words, if the LMR prerequisites are satisfied (not in check, not an "interesting" move and so on) the move is reduced regardless of its history. I will run another test but so far it seems the two are practically equivalent. However, the "historyless" version is simpler and more appealing to me... have you tried this?
I've not used history in a year now... I didn't find it helped at all...
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: LMR: history or not?

Post by bob »

Alessandro Scotti wrote:
hgm wrote:I think Crafty has stopped using history information for the LMR decision (or in fact for anything) a long time ago. Micro-Max does not use history either. The only moves exempted from LMR are the hash move, check evasions, all captures and all Pawn pushes there. Joker also doesn't account history. It does exempt moves from LMR that are captures, check evasion, passer pushes, or have had a score above alpha on any previous IID iteration.
So history is not used anymore also for move ordering, correct? Is there any available test data that shows the difference of using/not using history in LMR and/or move ordering? If not, I can try to run a test myself but it will take quite a lot of time...
I don't have any history counters in Crafty. I found that at the depths I see today, the history counters were simply saturated with nonsense...
Alessandro Scotti

Re: LMR: history or not?

Post by Alessandro Scotti »

bob wrote:I don't have any history counters in Crafty. I found that at the depths I see today, the history counters were simply saturated with nonsense...
Hi Bob,
did you just remove history from move ordering or tried to replace it with something else (e.g. difference between "from" and "to" in the piece/square table)?
Harald Johnsen

Re: LMR: history or not?

Post by Harald Johnsen »

I made the same test and saw that history counter did not improve anything for the lmr choice. So the last cyrano (0.2d) is only doing a TT check (à la rebel) to decide to reduce or not.

HJ.
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: LMR: history or not?

Post by bob »

Alessandro Scotti wrote:
bob wrote:I don't have any history counters in Crafty. I found that at the depths I see today, the history counters were simply saturated with nonsense...
Hi Bob,
did you just remove history from move ordering or tried to replace it with something else (e.g. difference between "from" and "to" in the piece/square table)?
I've not tried to replace it with anything... About the only ordering I do beyond the usual captures/killers/etc is that I generate moves in an order that moves toward the opponent first, then away later. But that's it to date.