Obsidian tweaks that may add value

Discussion of anything and everything relating to chess playing software and machines.

Moderator: Ras

Dann Corbit
Posts: 12790
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Obsidian tweaks that may add value

Post by Dann Corbit »

I made a few simple mods to Obsidian.
I made a logarithmic curve for depth rather than linear, similar to "smooth scaling stockfish" in 2009:
forum/viewtopic.php?p=312971#p312971
This added a few Elo in my tests.
I added a method to reduce pruning a bit when mobility is very low and increase it a bit when mobility is very high.
This added a few Elo in my tests.
I increased the default depth for the benchmark to 15 so that the profile would get better data.
I tweaked the makefile so I could do profiles on my system.
Here is a link to the modified version (it is built for avx2 because I have an older threadripper):

Here are some test results:

Code: Select all

  Program                          Elo    +   -   Games   Score   Av.Op.  Draws

  1 ObsidianNLHAMP                 : 3355   15  14   330    54.4 %   3324   84.5 %
  2 ObsidianPH                     : 3332   11  11   437    51.0 %   3324   88.8 %
  3 ObsidianDev                    : 3324    9   9   767    47.5 %   3342   87.0 %


    Program                          Elo    +   -   Games   Score   Av.Op.  Draws

  1 ObsidianDevNLmob               : 3341    9   8   616    51.8 %   3329   90.6 %
  2 Obsidian140NLmob               : 3331    8   9   616    49.6 %   3334   90.4 %
  3 Obsidian140-avx2               : 3327    9   9   616    48.6 %   3336   89.4 %
ObsidianNLHamp is the previous dev version before the last update with Non-Linear pruning and mobility pruning
ObsidianPH is a test that turned out negative (a modification of ObsidianNLHAMP that did not work out)
ObsidianDev is the previous dev version
ObsidianDevNLmob is the current dev source with Non-Linear pruning and mobility pruning
Obsidian140NLmob is the released Obsidian 1.40 with Non-Linear pruning and mobility pruning
Obsidian140-avx2 is the unmodified Obsidian 1.40.
The modifications improved solutions to my difficult tactical suite by 10%.

Maybe the changes can give thought for better improvements. If you have msys2 and gcc, you should be able to build using the provided makefile on windows using the UCRT64 version of the compiler.
Taking ideas is not a vice, it is a virtue. We have another word for this. It is called learning.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.
jdart
Posts: 4405
Joined: Fri Mar 10, 2006 5:23 am
Location: http://www.arasanchess.org

Re: Obsidian tweaks that may add value

Post by jdart »

Submitting a pull request to the repo might be a better way to communicate your changes.
User avatar
Rebel
Posts: 7373
Joined: Thu Aug 18, 2011 12:04 pm
Full name: Ed Schröder

Re: Obsidian tweaks that may add value

Post by Rebel »

How is it there is mobility in a NNUE engine?

Just curious.
90% of coding is debugging, the other 10% is writing bugs.
Damir
Posts: 2883
Joined: Mon Feb 11, 2008 3:53 pm
Location: Denmark
Full name: Damir Desevac

Re: Obsidian tweaks that may add value

Post by Damir »

Thanks Dann.
Dann Corbit
Posts: 12790
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Obsidian tweaks that may add value

Post by Dann Corbit »

Rebel wrote: Sun Dec 01, 2024 1:07 am How is it there is mobility in a NNUE engine?

Just curious.
I take the move generator and do a 1 ply search for the current position.
That gives me the mobility count.
Then I do a lookup in the table to see what the multiplying factor should be.
For a count of 36, the factor is 1.0 and it closely follows that value for most positions.
But if the mobility is strongly restricted (just a few legal moves) then the factor is reduced more.
And if the mobility is very high, the allowed pruning factor is increased more.
I used an s-curve and put the values in a table.
Taking ideas is not a vice, it is a virtue. We have another word for this. It is called learning.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.
Ciekce
Posts: 195
Joined: Sun Oct 30, 2022 5:26 pm
Full name: Conor Anstey

Re: Obsidian tweaks that may add value

Post by Ciekce »

where SPRTs

why modify an engine and release the modified version instead of just contributing the changes (once they're tested properly)
User avatar
RubiChess
Posts: 643
Joined: Fri Mar 30, 2018 7:20 am
Full name: Andreas Matthies

Re: Obsidian tweaks that may add value

Post by RubiChess »

Old men never learn their lesson.

Moderation: we treat ageism here same as we treat racism or any other discrimination-ism based on characteristics that the target cannot change. Poster is banned for 7 days
Dann Corbit
Posts: 12790
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Obsidian tweaks that may add value

Post by Dann Corbit »

RubiChess wrote: Mon Dec 02, 2024 6:53 am Old men never learn their lesson.
Well, I am 67..
Maybe you have a point.
I tried to contact the author by email but got no reply
Taking ideas is not a vice, it is a virtue. We have another word for this. It is called learning.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.