LMR musings on a rainy Wednesday night...

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

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

Re: LMR musings on a rainy Wednesday night...

Post by bob »

Uri Blass wrote:
bob wrote:I am working on various ways to more selectively choose what to reduce and what to not reduce. And in playing with several options, I have noticed one thing that is a bit surprising. If I do an N-ply search, I can practically disable LMR on the first N/2 plies and not affect the playing strength at all, which I did not expect. I have some tests running that do a better move ordering for (currently, just to pick a starting point) the first 1/2 of the plies (not including any chacks, so a 20 ply search spends more ordering time on the first 10 plies, period). And then I thought I would start to exclude a few extra moves from LMR reductions based on the ordering which includes static eval + swap on last move scores. And as I increase the number of moves I exclude, cluster testing shows absolutely no effect on rating so far. I am working my way up to excluding LMR on all these moves just to see if at some point it starts to hurt. My next test series is going to be to vary the depth at which I do this "better ordering" to see how deep I can go before the overhead starts to catch up and slow the thing down enough to make it a net loser.

But so far, this is interesting stuff...
I think that it may be interesting if you try to disable LMR except the last n plies for n=1,2,3,4,5,6 and report your results.

It is possible that the benefit from LMR is only when the remaining depth is small.

Uri
Easy enough to do. I don't think 1, 2 or 3 will matter, because Crafty also has futility/extended-futility/razoring out near the tips. But I can certainly run this with 1, 2, 3, ..., N easily enough, as I have an automated script to do just that...

I have this test queued up behind 3 other runs, so this will start in about 3 hours. Should have results tonight...
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: LMR musings on a rainy Wednesday night...

Post by bob »

bob wrote:
Uri Blass wrote:
bob wrote:I am working on various ways to more selectively choose what to reduce and what to not reduce. And in playing with several options, I have noticed one thing that is a bit surprising. If I do an N-ply search, I can practically disable LMR on the first N/2 plies and not affect the playing strength at all, which I did not expect. I have some tests running that do a better move ordering for (currently, just to pick a starting point) the first 1/2 of the plies (not including any chacks, so a 20 ply search spends more ordering time on the first 10 plies, period). And then I thought I would start to exclude a few extra moves from LMR reductions based on the ordering which includes static eval + swap on last move scores. And as I increase the number of moves I exclude, cluster testing shows absolutely no effect on rating so far. I am working my way up to excluding LMR on all these moves just to see if at some point it starts to hurt. My next test series is going to be to vary the depth at which I do this "better ordering" to see how deep I can go before the overhead starts to catch up and slow the thing down enough to make it a net loser.

But so far, this is interesting stuff...
I think that it may be interesting if you try to disable LMR except the last n plies for n=1,2,3,4,5,6 and report your results.

It is possible that the benefit from LMR is only when the remaining depth is small.

Uri
Easy enough to do. I don't think 1, 2 or 3 will matter, because Crafty also has futility/extended-futility/razoring out near the tips. But I can certainly run this with 1, 2, 3, ..., N easily enough, as I have an automated script to do just that...

I have this test queued up behind 3 other runs, so this will start in about 3 hours. Should have results tonight...
OK, no surprise I guess. I tried 1-13. 1 was worst by almost 40 elo, as that is really disabling LMR. By the time it got to 13 it was almost back up to full strength...
CRoberson
Posts: 2055
Joined: Mon Mar 13, 2006 2:31 am
Location: North Carolina, USA

Re: LMR musings on a rainy Wednesday night...

Post by CRoberson »

Something else I tried. Based on the depth to search as decided by
progressive deepening, use or not use LMR.

For blitz testing (G/3+2), I set it to never use LMR for plies <= 8.
So, LMR is fully used as normal at 9 ply and greater. The idea was
to fill the hash tables more. Gauntlets revealed this to be about
30 Elo worse, but for longer TC's this could be good. Benchmarks
revealed that Time to Ply was worse for 9 and 10 ply, almost the same
for 11 ply and slightly better for 12 ply, but no better for 13 ply.

Here is the algorithm:

Code: Select all

     For depth = 1 to Max
     begin
         if depth > 8
             LMR = ON
         else
              LMR = OFF
         Search&#40;depth,.....)
     end
User avatar
Bill Rogers
Posts: 3562
Joined: Thu Mar 09, 2006 3:54 am
Location: San Jose, California

Re: LMR musings on a rainy Wednesday night...

Post by Bill Rogers »

Gentlemen
I read evey post and every C program that I can get my hands on even though I can not program in C. I have followed Dr. Hyatt's abbreviations over the years, ie. SEE, LVP, MVP but I don't for the life of me remember what LMR stands for. A brief discription please?
Thanks
Bill
User avatar
Greg Strong
Posts: 388
Joined: Sun Dec 21, 2008 6:57 pm
Location: Washington, DC

Re: LMR musings on a rainy Wednesday night...

Post by Greg Strong »

Late Move Reductions. Here's a good intro by Tord:

http://www.glaurungchess.com/lmr.html

Enjoy :)
Tony

Re: LMR musings on a rainy Wednesday night...

Post by Tony »

Bill Rogers wrote:Gentlemen
I read evey post and every C program that I can get my hands on even though I can not program in C. I have followed Dr. Hyatt's abbreviations over the years, ie. SEE, LVP, MVP but I don't for the life of me remember what LMR stands for. A brief discription please?
Thanks
Bill
Static Exchange Evaluator: tests wether a piece is safe on a square bij imitating search, but only for that single square ( so not taking into account overloaded pieces or checks etc)

The way the search is imitated is by "making" the capture by the Least Valuable Piece (aka mother in law) and recapturing with the LVP until you end with the Most Valuable Piece.
Then take into account the option to stop capturing (and take your win/loss).

Tony