Hi,
What is LMP and how does it work/is it implemented?
LMP, late move pruning not reduction.
I see mentions of it here and there but it is not described on the wiki.
LMP
Moderators: hgm, Rebel, chrisw
-
- Posts: 481
- Joined: Tue Jul 03, 2018 10:19 am
- Full name: Folkert van Heusden
-
- Posts: 1357
- Joined: Wed Mar 08, 2006 10:15 pm
- Location: San Francisco, California
Re: LMP
Late Move Pruning can just as easily be thought of as "Maximally Aggressive Late Move Reduction". Instead of, as in LMR, reducing the remaining depth of a move by some amount depending on how late it is in the move order, you simply reduce the remaining depth to 0, no matter what the remaining depth is. I'm not 100% sure, but I believe some implementations drop straight to q-search at this point, while others abandon the line altogether.
The factors that go into the decision to prune a move are quite varied among engines that implement LMP. Since LMP is potentially more dangerous than LMR, it should be thoroughly tested.
The factors that go into the decision to prune a move are quite varied among engines that implement LMP. Since LMP is potentially more dangerous than LMR, it should be thoroughly tested.
-
- Posts: 2250
- Joined: Wed Mar 08, 2006 8:47 pm
- Location: Hattingen, Germany
Re: LMP
Mentioned on the Futility Pruning page as Move Count Based Pruning aka Late Move Pruning (LMP) with reference post by Tom King.
-
- Posts: 12542
- Joined: Wed Mar 08, 2006 8:57 pm
- Location: Redmond, WA USA
Re: LMP
Caveat:
From:
https://en.wikiquote.org/wiki/Emanuel_L ... ite_note-2
"t is necessary always to bear in mind these prudential rules, viz.: having a good move, to seek for a better." Dominico Ercole del Rio, The Incomparable Game of Chess, trans. J.S. Bingham (London 1820), 35-36. Note Bingham incorrectly credits Ercole del Rio with work that was authored by Domenico Lorenzo Ponziani
Taking ideas is not a vice, it is a virtue. We have another word for this. It is called learning.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.
-
- Posts: 12542
- Joined: Wed Mar 08, 2006 8:57 pm
- Location: Redmond, WA USA
Re: LMP
As soon as we move beyond alpha-beta in pruning, perfection has gone out the window.
Null move pruning is unsound. But darned if it doesn't work.
It was Rybka that invented the "drop straight into qsearch idea" and we must admit, it worked pretty well, especially at the time.
I remember Anthony Cozzie being somewhat astonished by the technique.
It is a good idea to prune a lot. The best engines have a branching factor below 2.
But we should not prune too much either.
Naturally, it's a delicate balance. Eloquently described for another game by Kenny Rogers:
"Every gambler knows
The secret to survivin'
Is knowin' what to throw away
And knowin' what to keep"
Taking ideas is not a vice, it is a virtue. We have another word for this. It is called learning.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.
-
- Posts: 1759
- Joined: Tue Apr 19, 2016 6:08 am
- Location: U.S.A
- Full name: Andrew Grant
Re: LMP
For Ethereal ...
Code: Select all
// Step 12B. Late Move Pruning / Move Count Pruning. If we have
// tried many quiets in this position already, and we don't expect
// anything from this move, we can skip all the remaining quiets
if ( depth <= LateMovePruningDepth
&& quiets >= LateMovePruningCounts[improving][depth])
skipQuiets = 1;
Code: Select all
static const int LateMovePruningDepth = 8;
static const int LateMovePruningCounts[2][9] = {
{ 0, 3, 4, 6, 10, 14, 19, 25, 31},
{ 0, 5, 7, 11, 17, 26, 36, 48, 63},
};
#WeAreAllDraude #JusticeForDraude #RememberDraude #LeptirBigUltra
"Those who can't do, clone instead" - Eduard ( A real life friend, not this forum's Eduard )
"Those who can't do, clone instead" - Eduard ( A real life friend, not this forum's Eduard )
-
- Posts: 4319
- Joined: Tue Apr 03, 2012 4:28 pm
Re: LMP
There never was any perfection, since the default is to prune at the horizon (depth).Dann Corbit wrote: ↑Tue Jul 09, 2019 10:32 pmAs soon as we move beyond alpha-beta in pruning, perfection has gone out the window.
Pruning sacrifices some of the (otherwise full) width for more depth. Perfection is unattainable but trading width for depth appears to be the way to minimise imperfections. Maybe.
stopping the search by running out of time is unsound too.
Null move pruning is unsound. But darned if it doesn't work.
It was Rybka that invented the "drop straight into qsearch idea" and we must admit, it worked pretty well, especially at the time.
I remember Anthony Cozzie being somewhat astonished by the technique.
It is a good idea to prune a lot. The best engines have a branching factor below 2.
But we should not prune too much either.
Naturally, it's a delicate balance. Eloquently described for another game by Kenny Rogers:
"Every gambler knows
The secret to survivin'
Is knowin' what to throw away
And knowin' what to keep"