LMR: history or not?

Discussion of chess software programming and technical issues.

Moderators: hgm, Harvey Williamson, bob

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
Alessandro Scotti

LMR: history or not?

Post by Alessandro Scotti » Thu Dec 13, 2007 10:36 am

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: 22274
Joined: Fri Mar 10, 2006 9:06 am
Location: Amsterdam
Full name: H G Muller
Contact:

Re: LMR: history or not?

Post by hgm » Thu Dec 13, 2007 11:20 am

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 » Thu Dec 13, 2007 12:40 pm

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: 22274
Joined: Fri Mar 10, 2006 9:06 am
Location: Amsterdam
Full name: H G Muller
Contact:

Re: LMR: history or not?

Post by hgm » Thu Dec 13, 2007 2:05 pm

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 » Thu Dec 13, 2007 4:05 pm

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: 20342
Joined: Mon Feb 27, 2006 6:30 pm
Location: Birmingham, AL

Re: LMR: history or not?

Post by bob » Thu Dec 13, 2007 4:06 pm

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: 20342
Joined: Mon Feb 27, 2006 6:30 pm
Location: Birmingham, AL

Re: LMR: history or not?

Post by bob » Thu Dec 13, 2007 4:07 pm

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 » Thu Dec 13, 2007 4:31 pm

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 » Thu Dec 13, 2007 4:39 pm

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: 20342
Joined: Mon Feb 27, 2006 6:30 pm
Location: Birmingham, AL

Re: LMR: history or not?

Post by bob » Thu Dec 13, 2007 10:17 pm

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.

Post Reply