I've implemented LMR and that gives me an extra couple of ply.
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)
I've implemented LMR and that gives me an extra couple of ply.
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.
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.
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.
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.
I've implemented LMR and that gives me an extra couple of ply.
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: