Smooth scaling stockfish

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

Re: Smooth scaling stockfish

Post by Michael Sherwin »

bob wrote:
BubbaTough wrote:
bob wrote:
Dann Corbit wrote:
bob wrote:
Dann Corbit wrote:This version of Stockfish:
http://cap.connx.com/chess-engines/new- ... x64_ja.rar

Scales null move smoothly. I get about +150 Elo so far in my testing. How about yours?
I never got that idea to work, but I did test it quite a few years ago when depths were not as significant. In fact, Ernst and I developed the "adaptive null-move idea" independently. John Stanback had suggested the basics for the idea around 1995 or so. Initially it was a question of R=1 or R=2, but eventually became R=2 or R=3. I used to have fractional plies, and tried a gradual and continuous (smooth) reduction as it approached the frontier nodes, but never found something that worked any better than the simple R=3 closer to the root, R=2 closer to the leaves.
With Stockfish 1.6, I get a branching factor of well under 2. It clearly adds strength. I guess that when the idea is polished, it will be a lot better. I have other experiments that do something similar (well, actually the opposite as far as pruning goes -- so I guessed it would help) but I thought a quick demonstration of the idea might benefit the chess community.
I haven't looked but what is the "range"? I used to use 3 down to 2, but when I added the qsearch check and check-evasion code, I went with 3 everywhere. If they reduce more than 3, I could see a possible benefit...
It sounds like to me you really haven't tried this idea before. It is not at all like the "adaptive null-move" idea from 1995 in my mind. Perhaps you should look at the code, it is not complicated. It looks like a variation of the adaptive depth Sherwin talked about a couple years ago (I can't really remember exactly what he did, maybe something similar to nullDepth = 2+depth/3 or something). The version Corbit proposes here is more similar to what I eventually settled on. Its a little sad to see the concept get so much more press when added to a strong engine, than when the depth dependent idea was introduced into a weaker engine like Romi, but perhaps the stronger emphasis in Corbit's version on delta contributes enough to distinguish itself from Sherwin's concepts.

-Sam
We didn't try that exact curve, but I spent about 3 months prior to releasing 23.0 playing with hundreds of things with null-move + forward pruning I am using. I did try lots of ideas suggested here, such as using 4 near the root to 2 near the tips, I tried a smooth / gradual change in fractions of a ply. Nothing helped. And in fact, I produced the best results with pure R=3 (after adding qsearch checks) and even removed the jump from 3 to 2, now using R=3 everywhere in the tree...

I could probably enumerate most of the ideas we tried, but probably 50% were no change, and the rest were worse (excepting the flat change to R=3 everywhere. R=4 drops the strength a bit. R=3-4 drops the strength a little bit. Etc... We tried limiting based on a call to the full Eval, to a fast Eval, a hash probe (when successful) and so forth.

+150 makes absolutely no sense however, to an idea that is worth maybe +80 overall. +20 _might_ be possible, but not +150. If it were that easy, someone would already be using this.
Now I remember doing something along those lines. IIRC it was promising, however, I had to release a new version in a hurry and therefore it did not make it into a release version of RomiChess. Then I guess that I forgot about it. Trying Dann's version now and will have some results later. I wish that I knew the most promising way to tweak it.

To Sam, thanks for going to bat for me! It is difficult to continue to contribute if it is thought that not many are paying attention or willing to give any credit.
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
Michael Sherwin
Posts: 3196
Joined: Fri May 26, 2006 3:00 am
Location: WY, USA
Full name: Michael Sherwin

Re: Smooth scaling stockfish

Post by Michael Sherwin »

For RomiChess results using Dann's formula look in the tournament and match forum.
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
Dann Corbit
Posts: 12540
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Smooth scaling stockfish

Post by Dann Corbit »

Michael Sherwin wrote:For RomiChess results using Dann's formula look in the tournament and match forum.
What is the thread link?
I don't see any threads with an obvious title.
Michael Sherwin
Posts: 3196
Joined: Fri May 26, 2006 3:00 am
Location: WY, USA
Full name: Michael Sherwin

Re: Smooth scaling stockfish

Post by Michael Sherwin »

Dann Corbit wrote:
Michael Sherwin wrote:For RomiChess results using Dann's formula look in the tournament and match forum.
What is the thread link?
I don't see any threads with an obvious title.
I just finished the post. Sorry for jumping the gun!

http://www.talkchess.com/forum/viewtopic.php?t=31350
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
Gian-Carlo Pascutto
Posts: 1243
Joined: Sat Dec 13, 2008 7:00 pm

Re: Smooth scaling stockfish

Post by Gian-Carlo Pascutto »

adieguez wrote:
Gian-Carlo Pascutto wrote: For me it seems 15 ELO worse than regular nullmove.
but please say in which conditions. Dann says he used only 30 games, which is of course little.
I played about 2x3000 games with this, once rescaled to match what is in Deep Sjeng, once to be more similar to Stockfish. Tried two ways, same result: worse than regular nullmove.
mcostalba
Posts: 2684
Joined: Sat Jun 14, 2008 9:17 pm

Re: Smooth scaling stockfish

Post by mcostalba »

Gian-Carlo Pascutto wrote:
adieguez wrote:
Gian-Carlo Pascutto wrote: For me it seems 15 ELO worse than regular nullmove.
but please say in which conditions. Dann says he used only 30 games, which is of course little.
I played about 2x3000 games with this, once rescaled to match what is in Deep Sjeng, once to be more similar to Stockfish. Tried two ways, same result: worse than regular nullmove.
Gian Carlo, but did you tested the modified Stockfish or the modified Deep Sjeng ?
Gian-Carlo Pascutto
Posts: 1243
Joined: Sat Dec 13, 2008 7:00 pm

Re: Smooth scaling stockfish

Post by Gian-Carlo Pascutto »

mcostalba wrote: Gian Carlo, but did you tested the modified Stockfish or the modified Deep Sjeng ?
I tested this in Sjeng, of course.
mcostalba
Posts: 2684
Joined: Sat Jun 14, 2008 9:17 pm

Re: Smooth scaling stockfish

Post by mcostalba »

Gian-Carlo Pascutto wrote:
mcostalba wrote: Gian Carlo, but did you tested the modified Stockfish or the modified Deep Sjeng ?
I tested this in Sjeng, of course.
:lol: :lol:

Well, is not so "of course" because I and possibly other people were assuming engine under test was Dann's modified SF one.
Gian-Carlo Pascutto
Posts: 1243
Joined: Sat Dec 13, 2008 7:00 pm

Re: Smooth scaling stockfish

Post by Gian-Carlo Pascutto »

mcostalba wrote:
Gian-Carlo Pascutto wrote:
mcostalba wrote: Gian Carlo, but did you tested the modified Stockfish or the modified Deep Sjeng ?
I tested this in Sjeng, of course.
:lol: :lol:

Well, is not so "of course" because I and possibly other people were assuming engine under test was Dann's modified SF one.
I'd be very surprised if something like this, which is 15 ELO worse for me, turns out to be 150 ELO stronger in another program.

Unless nullmove in Stockfish means something different from what I think it does. Or maybe Stockfish has some extra conditions which patch broken corner cases of the formula, if you get what I mean. I saw you don't allow nullmove if the score is too far from beta, which means most of range of the formula won't be used.
mcostalba
Posts: 2684
Joined: Sat Jun 14, 2008 9:17 pm

Re: Smooth scaling stockfish

Post by mcostalba »

Gian-Carlo Pascutto wrote:
mcostalba wrote:
Gian-Carlo Pascutto wrote:
mcostalba wrote: Gian Carlo, but did you tested the modified Stockfish or the modified Deep Sjeng ?
I tested this in Sjeng, of course.
:lol: :lol:

Well, is not so "of course" because I and possibly other people were assuming engine under test was Dann's modified SF one.
I'd be very surprised if something like this, which is 15 ELO worse for me, turns out to be 150 ELO stronger in another program.

Unless nullmove in Stockfish means something different from what I think it does. Or maybe Stockfish has some extra conditions which patch broken corner cases of the formula, if you get what I mean. I saw you don't allow nullmove if the score is too far from beta, which means most of range of the formula won't be used.
I'd be very surprise if something like this turns out to be 150 ELO stronger at all, no matter the engine.

But the point is that a test is a test. Otherwise you'd say "I have tested the Dann's idea" and it doesn't work in DS.

Of course :-) you know _much_ better then me (I am a newbie) that what is good for an engine _could_ easily be unuseful or even bad for someone else.