Did people try replacing LMR by pruning

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.
Michael Sherwin
Posts: 2799
Joined: Fri May 26, 2006 1:00 am
Location: OH, USA

Re: Did people try replacing LMR by pruning

Post by Michael Sherwin » Thu Dec 31, 2009 6:42 pm

Uri Blass wrote:The idea is the following:

Every time that LMR conditions happen you do not change the depth but increase pruning variable by 1 when the pruning variable is simply the number of times when LMR conditions happened during the path(of course you need to reduce it when you take back the last move).

If the pruning variable is bigger or equal to the remaining depth
then you decide if to prune or not to prune based on evaluation or based on result of the qsearch.

Uri
A few years back I tried LMP in RomiChess iirc P3a. That version is the only version that ever won a WBEC test tournament. And it did it with a perfect score of 18-0! When I changed the LMR to 2 I gave up on LMP as a LMR of 2 was just as efficient with out as much risk. You BTW, participated in that discussion. LMP was also used in Glaurung 2.x! I have not looked to see if it is retained in Stockfish.
Regards,
Mike

metax
Posts: 344
Joined: Wed Sep 23, 2009 3:56 pm
Location: Germany

Re: Did people try replacing LMR by pruning

Post by metax » Fri Jan 01, 2010 5:49 pm

Stockfish 1.6:

Code: Select all

// Move count based pruning
          if (   moveCount >= FutilityMoveCountMargin
              && ok_to_prune(pos, move, ss[ply].threatMove)
              && bestValue > value_mated_in(PLY_MAX))
              continue;

Michael Sherwin
Posts: 2799
Joined: Fri May 26, 2006 1:00 am
Location: OH, USA

Re: Did people try replacing LMR by pruning

Post by Michael Sherwin » Fri Jan 01, 2010 6:19 pm

metax wrote:Stockfish 1.6:

Code: Select all

// Move count based pruning
          if (   moveCount >= FutilityMoveCountMargin
              && ok_to_prune(pos, move, ss[ply].threatMove)
              && bestValue > value_mated_in(PLY_MAX))
              continue;
I am glad to see that the idea survives! :D
Regards,
Mike

jdart
Posts: 3503
Joined: Fri Mar 10, 2006 4:23 am
Location: http://www.arasanchess.org

Re: Did people try replacing LMR by pruning

Post by jdart » Sat Jan 02, 2010 4:13 pm

Toga used this general idea also - that was the first place I remember seeing it. But I have not found it useful, myself.

--Jon

Michael Sherwin
Posts: 2799
Joined: Fri May 26, 2006 1:00 am
Location: OH, USA

Re: Did people try replacing LMR by pruning

Post by Michael Sherwin » Sat Jan 02, 2010 6:41 pm

jdart wrote:Toga used this general idea also - that was the first place I remember seeing it. But I have not found it useful, myself.

--Jon
I believe that my testing of it and posting about it precedes its use in Toga!
Regards,
Mike

Post Reply