Random Aggressive LMP

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

User avatar
xr_a_y
Posts: 1871
Joined: Sat Nov 25, 2017 2:28 pm
Location: France

Random Aggressive LMP

Post by xr_a_y »

How about adding a bit of randomness and aggressiveness to LMP ?

Code: Select all

// classic LMP
if ( isQuiet && quietCount > lmpLimit[depth] ) continue;
// Aggressive Random LMP
const int percentLimit = 66; // to be tuned
const int aggressiveDivisor = 2; // to be tuned
if ( isQuiet && quietCount > lmpLimit[depth]/aggressiveDivisor && random(0,100) > percentLimit) continue;
amanjpro
Posts: 883
Joined: Sat Mar 13, 2021 1:47 am
Full name: Amanj Sherwany

Re: Random Aggressive LMP

Post by amanjpro »

Doesn't this make the engine potentially blind from time to time?
User avatar
xr_a_y
Posts: 1871
Joined: Sat Nov 25, 2017 2:28 pm
Location: France

Re: Random Aggressive LMP

Post by xr_a_y »

Or maybe this way

Code: Select all

         // aggressive random pruning
         if (depth < lmpMaxDepth && isQuiet && randomInt<int,2909>(0,100) > lmpLimit[depth]/2 + 100 - validQuietMoveCount) {
            continue;
         }
User avatar
xr_a_y
Posts: 1871
Joined: Sat Nov 25, 2017 2:28 pm
Location: France

Re: Random Aggressive LMP

Post by xr_a_y »

ok I tested quite a lot of tuning on this but nothing seems to make a big difference.
I'm now trying "aggressive random LMR" in the form of

Code: Select all

            // aggressive random reduction
            if (randomInt<int,2909>(0,100) > 100 - 5*validQuietMoveCount) {
               ++reduction;
            }
Here "5" being a constant to be tuned...
User avatar
xr_a_y
Posts: 1871
Joined: Sat Nov 25, 2017 2:28 pm
Location: France

Re: Random Aggressive LMP

Post by xr_a_y »

xr_a_y wrote: Sun Aug 22, 2021 12:20 pm ok I tested quite a lot of tuning on this but nothing seems to make a big difference.
I'm now trying "aggressive random LMR" in the form of

Code: Select all

            // aggressive random reduction
            if (randomInt<int,2909>(0,100) > 100 - 5*validQuietMoveCount) {
               ++reduction;
            }
Here "5" being a constant to be tuned...
Looks like I may have some Elo from "Agressive Random LMR"

Code: Select all

Score of minic_3.13_linux_x64_skylake vs minic_dev: 335 - 381 - 788 [0.485]
with this configuration

Code: Select all

if (randomInt(0,100) > 100 + SearchConfig::lmpLimit[improving][depth + pruningDepthCorrection] - 7*validQuietMoveCount) reduction++;
PK
Posts: 893
Joined: Mon Jan 15, 2007 11:23 am
Location: Warsza

Re: Random Aggressive LMP

Post by PK »

Pruning random moves near the leaves improved strength of my old, private and buggy engine called Glass. To be more precise, the intention was to weaken the engine that way, and it was counterproductive towards this goal.

[If you find this information useful, please copy it somewhere outside Talkchess. There is no guarantee that you won't get blocked for half a year, the community accepting this state of affairs]
User avatar
xr_a_y
Posts: 1871
Joined: Sat Nov 25, 2017 2:28 pm
Location: France

Re: Random Aggressive LMP

Post by xr_a_y »

Let me summarize my experiment here :
- RALMP : no gain but nothing bad either. It seem I cannot find any good parameter set but in general no harm.
- RALMR : at short TC I found a working set of parameter to get 10Elo but this does not seem to hold at longer TC

[BTW, the forum is also inaccessible from France for a long time now, I always have to go through my canadian proxy.]..