Restricting extensions to the left most branches?

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

Michael Sherwin
Posts: 3196
Joined: Fri May 26, 2006 3:00 am
Location: WY, USA
Full name: Michael Sherwin

Restricting extensions to the left most branches?

Post by Michael Sherwin »

Is this idea useful?

It is easy and fast to do.

For example, if an engine has a move history stack (h is the pointer to the current ply):

then initialize at the root:

h->tries = 0

just before each move at the root:

h->tries++;
(h+1)->maxTries = h->tries;

then initialize in the regular search:

h->tries = 0;

just before each move in the regular search:

h->tries++;
(h+1)->maxTries = max(h->tries, h->maxTries);

So, then in the regular search, (certain) extensions can be denied if at any time during the search the number of tries at any previous ply depth exceeds N (N = 20 seems to be a good value).

Has anyone tried this?
If you are on a sidewalk and the covid goes beep beep
Just step aside or you might have a bit of heat
Covid covid runs through the town all day
Can the people ever change their ways
Sherwin the covid's after you
Sherwin if it catches you you're through
zamar
Posts: 613
Joined: Sun Jan 18, 2009 7:03 am

Re: Restricting extensions to the left most branches?

Post by zamar »

Michael Sherwin wrote: Has anyone tried this?
Haven't tried this, but my intuition says that preserving extensions, but using more aggressive LMR after "N" moves gives better results.

My intuition has been proved to be wrong many times though.
Joona Kiiski
Michael Sherwin
Posts: 3196
Joined: Fri May 26, 2006 3:00 am
Location: WY, USA
Full name: Michael Sherwin

Re: Restricting extensions to the left most branches?

Post by Michael Sherwin »

It would shape the tree a lot differently than LMR and save time where LMR cannot.

Let's say that N is set to 20 and also we are going to consider first the root moves in the middle game. There could easily be many times 20 root moves. So, many - 20 is on average a large number of branches that do not extend (as much), saving time. Then while one of the first 20 branches is being searched the number of tries exceeds 20 at the next ply all further moves have no or reduced extensions. Etc.

Extensions are likely to be more important for the left most branches and may even benefit from being more aggressive with less possibility of tree explosion.
If you are on a sidewalk and the covid goes beep beep
Just step aside or you might have a bit of heat
Covid covid runs through the town all day
Can the people ever change their ways
Sherwin the covid's after you
Sherwin if it catches you you're through