static null move pruning margin

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

static null move pruning margin

Post by xr_a_y »

Have you ever consider using a negative (little !) margin for static null move pruning at depth 1 ?

We often seek for parameters in a formula like this one

Code: Select all

if ( staticScore > beta + depth * slope + offset ) return staticScore
And often "offset" is 0 and is omitted and coeff is something around 100cp.

I am wondering if (and testing this currently) using offset around -100 or -150 and tune slope might be good, even such that slope + offset is a little negative.
User avatar
hgm
Posts: 27796
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: static null move pruning margin

Post by hgm »

This is just redefining d=1 as a QS level, right? So it will not hurt, but just lead to a funny redefinition of 'depth', exaggerating all depths by 1, and otherwise doing the same search.
Koivisto
Posts: 50
Joined: Fri Sep 04, 2020 10:30 pm
Full name: Kim Kahre

Re: static null move pruning margin

Post by Koivisto »

we have this in Koivisto search

Code: Select all

if (depth == 1 && staticEval > beta && ownThreats && !enemyThreats)
            return beta;
Threats are defined as smaller piece attacking larger.
User avatar
hgm
Posts: 27796
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: static null move pruning margin

Post by hgm »

So what are 'threats'?
Koivisto
Posts: 50
Joined: Fri Sep 04, 2020 10:30 pm
Full name: Kim Kahre

Re: static null move pruning margin

Post by Koivisto »

hgm wrote: Thu Jul 08, 2021 11:29 am So what are 'threats'?
Threats are defined as a smaller piece attacking a larger piece. Pawn attacking knight for example.