Skip to content

Releases: Disservin/Smallbrain

Smallbrain v7.0

29 Jan 18:53
Compare
Choose a tag to compare

Release

I am happy to release version 7 of Smallbrain!

As always the codebase is constantly evolving and many areas have been rewritten and cleaned up.
I've also added the support of FRC/DFRC and an earlier FRC version is already on place 20 CCRL FRC!
DFRC data has been included in the latest net as well.

Its becoming quite the bigbrain lately ; )

Events

Smallbrain is currently playing in the S24 Swiss 4 at TCEC and I'mexcited to see where it ends up.
It's also a newcomer at CCC and played in the CCC 19 Bullet Tournament.

Comparison against v6.0 at 8+0.08s.

ELO   | 101.23 +- 6.73 (95%)
CONF  | 8.0+0.08s Threads=1 Hash=16MB
GAMES | N: 5000 W: 1932 L: 515 D: 2553

Binaries

You will find a ton of pre-built binaries down below but I recommend compiling yourself since this will generate the fastest
executable. If you want to use one of the provided executables just choose the one which doesnt crash and is the fastest.

If any of the binaries dont work but should on your system feel free to message me.
If you need assistance with getting a good binary for engine testing feel free to message me as well.

If you want the fastest possible one you need a C++ Compiler and make after that you can just run make like this in the ./src folder.

make -j

Smallbrain v6.0

15 Oct 15:08
Compare
Choose a tag to compare

Release

After months of development I now release 6.0.

A lot in the codebase has changed and has been rewritten, a lot of parts are now cleaner and smaller.
This version uses a neural network trained on smallbrain data. About 500 million depth 9 fens, 5% was special endgame generated data + 95% normal selfplay data.

EDIT

I just discovered a SMP bug, I have updated the binaries down below, so if you already used these builds for multi core testing please
update the builds, for single threaded use cases there should be no difference.
29/10, releases contain the correct compilation date.

Comparison against v5.0 at 8+0.08s.

ELO   | 193.45 +- 7.82 (95%)
CONF  | 8.0+0.08s Threads=1 Hash=16MB
GAMES | N: 5000 W: 2799 L: 271 D: 1930

Syzygy support has also been added and gains decent elo at 8+0.08s.

   # PLAYER                  : RATING  ERROR   POINTS  PLAYED    (%)
   1 smallbrain5.0_syzygy_6  :    8.2    4.6   5103.0   10000   51.0%
   2 smallbrain5.0           :    0.0   ----   4897.0   10000   49.0%

White advantage = 125.60 +/- 2.36
Draw rate (equal opponents) = 61.95 % +/- 0.59

Binaries

You will find a ton of pre-built binaries down below but I recommend compiling yourself since this will generate the fastest
executable. If you want to use one of the provided executables just choose the one which doesnt crash and is the fastest.

If any of the binaries dont work but should on your system feel free to message me.
If you need assistance with getting a good binary for engine testing feel free to message me as well.
If you want the fastest possible one you need a C++ Compiler and make after that you can just run make like this in the ./src folder.

make

Smallbrain v5.0

13 Jul 21:42
Compare
Choose a tag to compare

Release

A lot has happened since version 4.0!
Smallbrain now supports multithreading. Yay!

Early Lazy SMP Tests show a gain of ~100 elo using 4 Threads vs 1 Thread

ELO   | 127.64 +- 17.03 (95%)
CONF  | 5.0+0.05s Threads=4 Hash=64MB
GAMES | N: 1035 W: 495 L: 131 D: 409

It also features a bunch for other new stuff and is in total 200 elo stronger (not counting smp strength) than 4.0!
The biggest elo gainer was fixing how I use TT moves during move ordering.
Another big elo gain was also a big search tune, tuning 11 parameteres.

Elo test against v4.0

ELO   | 211.87 +- 19.73 (95%)
CONF  | 40.0+0.40s Threads=1 Hash=64MB
GAMES | N: 1000 W: 616 L: 72 D: 312

What's Changed

Full Changelog: 4.0.0...5.0.0

Smallbrain v4.0

23 Jun 14:36
Compare
Choose a tag to compare

Release

Since version 3.0 I've primarily worked on my search and got some improvements there, like using the SEE algorithm.
I've also reduced the size of a move and thus the size of each TT Entry which gained some strength.
Changes to the NN arch have not been made. More changes can be found in the release log.

As of right now it looks like v4.0 is 3000+ elo.
Feel free to message me if you run a tournament with Smallbrain or plan to do so.

Elo test against v3.0

ELO   | 129.15 +- 13.00 (95%)
CONF  | 1.0+0.1s Threads=1 Hash=8MB
GAMES | N: 2000 W: 1025 L: 314 D: 661

ELO   | 118.33 +- 17.83 (95%)
CONF  | 40.0+0.40s Threads=1 Hash=64MB
GAMES | N: 1000 W: 482 L: 154 D: 364

What's Changed

Full Changelog: 3.0.0...4.0.0

(same 4.0 release fixed makefile generated name)

Smallbrain v3.0

15 Jun 10:34
acf8488
Compare
Choose a tag to compare

Release

Im really happy to relase Version 3.0.
This new version features a NNUE as the main evaluation.

NNUE

The evaluation is now completely replaced by a NNUE.
The architecture is quite simple:
768 inputs -> 256 neurons -> 1 output

The net was trained on 300 million fens generated given by Luecx (from Koivisto), as well as using his CUDAD trainer.
He has played a major role in explaining to me how to train and use a NNUE for chess engines and I am thankful for all the support he has provided. Without him any of this would not have been possible.
The network architecture will hopefully be expanded in the future, together with me generating my own training data.

The additional playing strength is so large that selfplay results are almost meaningless, due to almost no loses.

Elo test

Test against dbd78f1 (commit before #71 )

ELO   | 504.32 +- 46.09 (95%)
CONF  | 8.0+0.08s Threads=1 Hash=8MB
GAMES | N: 1000 W: 920 L: 24 D: 56

ELO   | 586.77 +- 59.68 (95%)
CONF  | 40.0+0.40s Threads=1 Hash=64MB
GAMES | N: 1000 W: 949 L: 15 D: 36

Test against smallbrain V2.0

ELO   | 532.75 +- 53.33 (95%)
CONF  | 8.0+0.08s Threads=1 Hash=8MB
GAMES | N: 1000 W: 938 L: 27 D: 35

What's Changed

  • faster draw in #61
  • new pawn eval in #64
  • larger default hash + better material eval in #65
  • lmr reduction with depth and mademoves in #66
  • NNUE in #71

Full Changelog: 2.0.0...3.0.0

I've included the default network in the assets too, although this is (should be) not required to use the engine, since the network is included during the compilation.

Smallbrain v2.0

01 Jun 12:03
Compare
Choose a tag to compare

Im happy to release Version 2.0.
Since version 1.0 a lot has happened and it is now ~190 elo stronger.

Changes

All changes are primarly search related, although there a few additions to time management.
A few speedups were made in the move generation as well as makemove function.
No changes in the evaluation of a position, it is still only psqt + material count and a small bonus for high rank pawns.

Elo test against v1.0

ELO   | 190.49 +- 13.51 (95%)
CONF  | 60.0+0.60s Threads=1 Hash=64MB
GAMES | N: 2584 W: 1681 L: 391 D: 512

ELO   | 148.43 +- 21.04 (95%)
CONF  | 10.0+0.10s Threads=1 Hash=8MB
GAMES | N: 1000 W: 602 L: 199 D: 199

Smallbrain v1.2

28 May 18:28
Compare
Choose a tag to compare

This version is a bit stronger than my previous release and fixes some bugs.

Changes

Elo gains are mostly from changes in the search and the move generation for sliders was switched to black magic, which is slightly faster.
(Thanks to gigantua chess movegen and dangi12012).
This release also fixes a bug that occured when movestogo was at the front of the uci command instead of being at the end, as well as a move generation bug fix.

Elo test against v1.1

ELO   | 55.62 +- 26.38 (95%)
CONF  | 60.0+0.60s Threads=1 Hash=64MB
GAMES | N: 504 W: 223 L: 143 D: 138

Elo test against v1.0

ELO   | 118.86 +- 28.17 (95%)
CONF  | 60.0+0.60s Threads=1 Hash=64MB
GAMES | N: 504 W: 274 L: 108 D: 122

Smallbrain v1.1

24 May 19:58
Compare
Choose a tag to compare

This version is a bit stronger than my previous release, thus a small release.

Changes

Most notable changes were adjustment to move scoring, selection sort only for the next move,
better null move pruning conditions as well as better lmr reduction and some other small speedups.

Elo test against v1.0

ELO   | 76.35 +- 27.19 (95%)
CONF  | 60.0+0.60s Threads=1 Hash=64MB
GAMES | N: 504 W: 244 L: 135 D: 125

Smallbrain v1.0

19 May 14:01
Compare
Choose a tag to compare

This is the first release of Smallbrain, initially written in python (very poorly).
Then implemented in C++ (cppSmallbrain), due to the code's bad structure I decided to restart
from scratch and build a more clean code basis (this).

A match between Drofa 1.0.0 shows promising results.
TC: 40/4 (4 minutes)

# PLAYER         : RATING  ERROR   POINTS  PLAYED    (%)
1 Smallbrain     : 2225.4   94.0     36.5      50   73.0%
2 Drofa 1.0.0    : 2051.0   ----     13.5      50   27.0%

White advantage = 8.89 +/- 48.64
Draw rate (equal opponents) = 30.98 % +/- 8.03