SlowChess Blitz Classic 2.0

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

Moderators: hgm, Rebel, chrisw

jonkr
Posts: 178
Joined: Wed Nov 13, 2019 1:36 am
Full name: Jonathan Kreuzer

Re: SlowChess Blitz Classic 2.0

Post by jonkr »

Slow Chess Blitz Classic version 2.3 for Windows can be downloaded from http://www.3dkingdoms.com/chess/slow.html

Even though the elo gain is small, since this version was stronger in all my tests I've decided to release it.
It scored +24 elo in standard self-play, +35 elo FRC self-play (8000 games each.) So I'd be happy with a modest +15 elo average on rating lists.

It also contains some bug-fixes and a contempt(mid/end) option. Setting a small contempt like 12 or 16 did reduce draws and improve score a bit against clearly weaker engines in my limited testing, but against stronger and sometimes equal engines results showed a clear elo loss, so I left default at 0

Opening/midgame NPS will show as about 25% slower because I used to count some pruned moves as nodes and no longer do.
I also updated the eval values for 2.3 at the bottom of the http://www.3dkingdoms.com/chess/learning.html. But very hard to say what changes are actually good.

I can't say for sure if there will be more versions of Slow Chess, but I do plan to keep experimenting with chess now and then.

At this current level trying to improve or know what eval terms or changes are better has become very unclear, sometimes the tuner shows a term important then later not, and sometimes a version scores clearly better in certain conditions against a certain opponent, then that gain doesn't show up against other engines or in other conditions. It's a little less interesting with slower progress, and instead of having a variety of engines of similar strength to compete against, there are only a few mostly vastly superior ones, which makes it harder to ignore how far behind the state of the art I am.

I'm planning on playing with the tuning process, probably starting from only material values and just running some experiments to see what learns the best. This version still had the lichess.epd suite of W/L/D scored positions included in tuning (I previously also used Zurichess.epd, but discarded that as it no longer helped.) So I think it would be a good test to try to remove lichess and tune from only my training positions and refine that process. I tried without lichess.epd once a couple months ago and got 50 elo weaker, so my own training set generation clearly has some weakness, beyond not having enough positions. Also the recent NNUE developments have made it obvious that learning process could be done better even with my limited computing resources. I also am thinking about trying to introduce more concepts inspired by neural nets, maybe try out a simpler net of my own design for pawn-structure & material counts eval and work from there. I still like being able to see in human-readable form what the engine is trying to do, part of the fun was in adding concepts like candidate passed pawns or connected pawns, or king safety stuff, and seeing in games the engine using those concepts to win.
Frank Quisinsky
Posts: 6808
Joined: Wed Nov 18, 2009 7:16 pm
Location: Gutweiler, Germany
Full name: Frank Quisinsky

Re: SlowChess Blitz Classic 2.0

Post by Frank Quisinsky »

Hi Jonathan,

that's good news!

Thank you for SlowChess and the work you do for us.

Best
Frank
User avatar
Dr.Wael Deeb
Posts: 9773
Joined: Wed Mar 08, 2006 8:44 pm
Location: Amman,Jordan

Re: SlowChess Blitz Classic 2.0

Post by Dr.Wael Deeb »

Thanks but the download link does not work ....
_No one can hit as hard as life.But it ain’t about how hard you can hit.It’s about how hard you can get hit and keep moving forward.How much you can take and keep moving forward….
jonkr
Posts: 178
Joined: Wed Nov 13, 2019 1:36 am
Full name: Jonathan Kreuzer

Re: SlowChess Blitz Classic 2.0

Post by jonkr »

oops I typed the link wrong here's the proper verison : https://www.3dkingdoms.com/chess/slow.htm
there is no "l" on the end of htm, I forgot how old the original web page was :D
Jamal Bubker
Posts: 326
Joined: Mon May 24, 2010 4:32 pm

Re: SlowChess Blitz Classic 2.0

Post by Jamal Bubker »

Thank you so much Jon !!

[quote=jonkr post_id=858814 time=1599026861 user_id=12168]
oops I typed the link wrong here's the proper verison : https://www.3dkingdoms.com/chess/slow.htm
there is no "l" on the end of htm, I forgot how old the original web page was :D
[/quote]
Alayan
Posts: 550
Joined: Tue Nov 19, 2019 8:48 pm
Full name: Alayan Feh

Re: SlowChess Blitz Classic 2.0

Post by Alayan »

That's still some nice progress, even if of course the progress rate had to slow down.

Developing the 4th strongest original classical engine (behind Stockfish, Komodo and not far from Ethereal) in less than a year is no small feat, it's actually very impressive. Catching up to Komodo 14 is a very realistic goal at this point in my opinion.
jonkr wrote: Wed Sep 02, 2020 6:44 am At this current level trying to improve or know what eval terms or changes are better has become very unclear, sometimes the tuner shows a term important then later not, and sometimes a version scores clearly better in certain conditions against a certain opponent, then that gain doesn't show up against other engines or in other conditions. It's a little less interesting with slower progress, and instead of having a variety of engines of similar strength to compete against, there are only a few mostly vastly superior ones, which makes it harder to ignore how far behind the state of the art I am.

I'm planning on playing with the tuning process, probably starting from only material values and just running some experiments to see what learns the best. This version still had the lichess.epd suite of W/L/D scored positions included in tuning (I previously also used Zurichess.epd, but discarded that as it no longer helped.) So I think it would be a good test to try to remove lichess and tune from only my training positions and refine that process. I tried without lichess.epd once a couple months ago and got 50 elo weaker, so my own training set generation clearly has some weakness, beyond not having enough positions. Also the recent NNUE developments have made it obvious that learning process could be done better even with my limited computing resources. I also am thinking about trying to introduce more concepts inspired by neural nets, maybe try out a simpler net of my own design for pawn-structure & material counts eval and work from there. I still like being able to see in human-readable form what the engine is trying to do, part of the fun was in adding concepts like candidate passed pawns or connected pawns, or king safety stuff, and seeing in games the engine using those concepts to win.
You could probably get significant gains by adopting Ethereal's new method for tuning and dataset generation. The big breakthrough regarding dataset generation is that it was not needed to play very-hardware-intensive games to rate the positions.

And maybe some focus on better search could yield significant gains.

Also, as hardware resources for engine testing can be a limitation to verify quickly and accurately enough if a change gains elo or not, you could consider joining OpenBench.
AndrewGrant
Posts: 1766
Joined: Tue Apr 19, 2016 6:08 am
Location: U.S.A
Full name: Andrew Grant

Re: SlowChess Blitz Classic 2.0

Post by AndrewGrant »

Alayan wrote: Sat Sep 05, 2020 10:08 am That's still some nice progress, even if of course the progress rate had to slow down.

Developing the 4th strongest original classical engine (behind Stockfish, Komodo and not far from Ethereal) in less than a year is no small feat, it's actually very impressive. Catching up to Komodo 14 is a very realistic goal at this point in my opinion.
jonkr wrote: Wed Sep 02, 2020 6:44 am At this current level trying to improve or know what eval terms or changes are better has become very unclear, sometimes the tuner shows a term important then later not, and sometimes a version scores clearly better in certain conditions against a certain opponent, then that gain doesn't show up against other engines or in other conditions. It's a little less interesting with slower progress, and instead of having a variety of engines of similar strength to compete against, there are only a few mostly vastly superior ones, which makes it harder to ignore how far behind the state of the art I am.

I'm planning on playing with the tuning process, probably starting from only material values and just running some experiments to see what learns the best. This version still had the lichess.epd suite of W/L/D scored positions included in tuning (I previously also used Zurichess.epd, but discarded that as it no longer helped.) So I think it would be a good test to try to remove lichess and tune from only my training positions and refine that process. I tried without lichess.epd once a couple months ago and got 50 elo weaker, so my own training set generation clearly has some weakness, beyond not having enough positions. Also the recent NNUE developments have made it obvious that learning process could be done better even with my limited computing resources. I also am thinking about trying to introduce more concepts inspired by neural nets, maybe try out a simpler net of my own design for pawn-structure & material counts eval and work from there. I still like being able to see in human-readable form what the engine is trying to do, part of the fun was in adding concepts like candidate passed pawns or connected pawns, or king safety stuff, and seeing in games the engine using those concepts to win.
You could probably get significant gains by adopting Ethereal's new method for tuning and dataset generation. The big breakthrough regarding dataset generation is that it was not needed to play very-hardware-intensive games to rate the positions.

And maybe some focus on better search could yield significant gains.

Also, as hardware resources for engine testing can be a limitation to verify quickly and accurately enough if a change gains elo or not, you could consider joining OpenBench.
Please, please, continue to work on Slowchess. There are very few entities near the top that are truly special and unique. It won't be long until everything is Stockfish. Houdini is only the start. I believe you have some very unique knowledge in Slowchess's eval. Things that are not common practice anywhere. Explore that.
#WeAreAllDraude #JusticeForDraude #RememberDraude #LeptirBigUltra
"Those who can't do, clone instead" - Eduard ( A real life friend, not this forum's Eduard )
Frank Quisinsky
Posts: 6808
Joined: Wed Nov 18, 2009 7:16 pm
Location: Gutweiler, Germany
Full name: Frank Quisinsky

Re: SlowChess Blitz Classic 2.0

Post by Frank Quisinsky »

Hi Andrew,

yes, SlowChess is really a great engine.
Thinking on an interview I made with Jonathan in Arena times (15 years ago I believe).
Most of the older programmers are thinking: A new young talent was born!
I got a lot of mails after the interview because different of my questions are bad but Jonathan made the best of it!

We can happy that Jonathan started the work on "StrongChess", sorry means SlowChess after a long time again!

Best
Frank

PS: Much other "talents" are in sleep mode, better ... have no time for chess.
jonkr
Posts: 178
Joined: Wed Nov 13, 2019 1:36 am
Full name: Jonathan Kreuzer

Re: SlowChess Blitz Classic 2.0

Post by jonkr »

I am planning to continue experiment with chess, just given slower rate of progress (making the time spent-per-elo equation not very exciting), and plans to try stuff that will initially make it weaker, I can't be sure if anything better we come from it.

I think the initial Blitz Classic 1.0 public release was June 2019, but started working on it again almost 2 years ago. Still I made way more progress than I initially expected, I was just hoping to clearly beat Fruit 2.1 when I started, and for a short time it dropped to just a bit above fairyMax level because I was converting a lot of stuff. (Bitboards for MoveGen and eval, computing evaluation symetrically for either color, "fixing" the old horrible code, and there were a lot of bugs. One of the bugs I remember from this time is I wasn't clearing my movelist, and each generation stage would just add more moves on the end.)

Figuring out how to code and train a simple Neural Net for Pawn Structure is the current item on my list. Then see if I have it output multiple values that represent human readable concepts for the structure and use it in the evaluation. Then maybe try some specific endgame training to see if it improves in a smaller game space, like rook endgames. (And could very easily use these instead of normal eval when appropriate.) Also my random hope is to train for mate-finding and see obvious improvements there, since I find that interesting and many engines settle for trolling type close outs especially neural net ones.

Also just training and experimenting with the best training process like I mentioned before. Trying without lichess.epd, from all 0 positional values, I got Dev up to 40 elo weaker than 2.3, but I had to manually set initial values for some of the complicated terms/multipliers to get them moving, and I left the piece sq tables at the 2.3 values, which is something prone to overfitting without enough varied data. So I want to try making it so it can be fully automated. It was interesting how some values got pretty different, but may have fit together about the same.

I saw the Ethereal tuning post, like most posts/articles I skim it, but unless I sit down to work on something related I usually miss/forget key points. Is the Ethereal method scoring positions by search or by game result? I think it said it performed a search, but don't know if that was used for scoring. I've been suspicious of game results for super fast games, some can be pretty wrong.
karger
Posts: 218
Joined: Tue Feb 02, 2010 2:27 am
Full name: John Karger

Re: SlowChess Blitz Classic 2.0

Post by karger »

This engines style of play is amazing. It plays combos & positions no other engines , AB or NN or NN/AB hybrid , use or even consider making. Bravo ... Most unique engine ever.