LMR and Null Move and futility pruning

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

lauriet
Posts: 199
Joined: Sun Nov 03, 2013 9:32 am

LMR and Null Move and futility pruning

Post by lauriet »

Hi guys,

I've implemented LMR and that gives me an extra couple of ply. :D
Is Null Move Pruning and Futility Pruning something that will work in conjunction with LMR or do they prune similar nodesl ?
I've read some papers that suggests that sometimes one technique added to another doesn't give the additional improvement.

So what should it be.....(LMR + Null Move + Futility) OR (LMR + Null Move) OR (LMR + Futility)

Thanks
Laurie
Henk
Posts: 7220
Joined: Mon May 27, 2013 10:31 am

Re: LMR and Null Move and futility pruning

Post by Henk »

lauriet wrote:Hi guys,

I've implemented LMR and that gives me an extra couple of ply. :D
Is Null Move Pruning and Futility Pruning something that will work in conjunction with LMR or do they prune similar nodesl ?
I've read some papers that suggests that sometimes one technique added to another doesn't give the additional improvement.

So what should it be.....(LMR + Null Move + Futility) OR (LMR + Null Move) OR (LMR + Futility)

Thanks
Laurie
I use all three together(, but my engine doesn't play well. Elo < 2200). It may not be easy to test this for you need games with larger time control otherwise you may not have enough depth in the search tree. Better wait for answers of the big guys.
AlvaroBegue
Posts: 931
Joined: Tue Mar 09, 2010 3:46 pm
Location: New York
Full name: Álvaro Begué (RuyDos)

Re: LMR and Null Move and futility pruning

Post by AlvaroBegue »

LMR and null move pruning are similar ideas (i.e., try to spend little time in really bad branches). They perform "sub-additively", meaning their combined Elo gain is smaller than the sum of their individual Elo gains. However, it's still probably a good idea to do both. As always, let testing guide you.

I have never managed to make futility pruning work, but this is a very different kind of idea, where you are trying to save some time near the leaves of the tree. I expect the interaction with the other two techniques to be quite limited.
ZirconiumX
Posts: 1334
Joined: Sun Jul 17, 2011 11:14 am

Re: LMR and Null Move and futility pruning

Post by ZirconiumX »

AlvaroBegue wrote:LMR and null move pruning are similar ideas (i.e., try to spend little time in really bad branches). They perform "sub-additively", meaning their combined Elo gain is smaller than the sum of their individual Elo gains. However, it's still probably a good idea to do both. As always, let testing guide you.

I have never managed to make futility pruning work, but this is a very different kind of idea, where you are trying to save some time near the leaves of the tree. I expect the interaction with the other two techniques to be quite limited.
I actually thought that the interaction between NMP and LMR was complementary since NMP saves effort in fail high nodes, and LMR saves effort in fail low nodes. Thanks for correcting my knowledge.

Futility Pruning is I'd say very slightly related to Late Move Pruning, as Late Move Pruning assumes that late moves are bad, whereas Futility Pruning tests if moves are bad.

Matthew:out
Some believe in the almighty dollar.

I believe in the almighty printf statement.
AlvaroBegue
Posts: 931
Joined: Tue Mar 09, 2010 3:46 pm
Location: New York
Full name: Álvaro Begué (RuyDos)

Re: LMR and Null Move and futility pruning

Post by AlvaroBegue »

ZirconiumX wrote:I actually thought that the interaction between NMP and LMR was complementary since NMP saves effort in fail high nodes, and LMR saves effort in fail low nodes.
The way I think about it, these methods save effort in particular lines of play, not in particular nodes. A line can be penalized because it contains a bad move from one player (LMR), or because the next position is too good for the other player (null move). There will be many positions where either test will tell you you shouldn't spend much time here.
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: LMR and Null Move and futility pruning

Post by bob »

lauriet wrote:Hi guys,

I've implemented LMR and that gives me an extra couple of ply. :D
Is Null Move Pruning and Futility Pruning something that will work in conjunction with LMR or do they prune similar nodesl ?
I've read some papers that suggests that sometimes one technique added to another doesn't give the additional improvement.

So what should it be.....(LMR + Null Move + Futility) OR (LMR + Null Move) OR (LMR + Futility)

Thanks
Laurie
They are complementary, but each does add to the total. I ran a test and posted results here a couple of years ago relating to the question LMR, null-move or both?

What I found is that if you remove both and run a baseline test, then add either null-move or LMR, it would add about 80 Elo. Didn't matter which one. Adding the other gained another 40 elo. In short:

Code: Select all

no LMR/null          xxxx
+LMR                     xxxx+80
+LMR+null            xxxx+80+40

+null                       xxxx+80
+null+LMR            xxxx+80+40
I did not test the forward pruning stuff at the same time, but I probably should.