Giter Site home page Giter Site logo

smallbrain's Introduction

Smallbrain

History

During the pandemic I rediscovered chess and played a lot of games with my friends.
Then I started to program my first engine python-smallbrain in python, with the help of python-chess.

I quickly realized how slow python is for chess engine programming, so I started to learn C++.
My first try was cppsmallbrain, though after some time I found the code very buggy and ugly.
So I started Smallbrain from scratch, during that time, I also joined Stockfish development.

After some time I began implementing a NNUE into Smallbrain, with the help of Luecx from Koivisto.
As of now Smallbrain has a NNUE trained on data given to me by Luecx, while using his trainer. In the future I plan to generate my own data.

Compile

Compile it using the Makefile in ./src or use the VS Solution (which is only maintained from time to time)

make
.\smallbrain_5.0.exe bench

compare the Bench with the Bench in the commit messages, they should be the same.

UCI settings

  • Hash
    The size of the hash table in MB.

  • Threads
    The number of threads used for search.

  • EvalFile
    The neural net used for the evaluation,
    currently only default.nnue exist.

Engine specific commands

  • go perft depth
    calculates perft from a set position up to depth.

  • print
    prints the current board

  • captures
    prints all legal captures for a set position.

  • moves
    prints all legal moves for a set position.

  • rep
    checks for threefold repetition in a position

  • eval
    prints the evaluation of the board.

  • perft
    tests all perft position.

Elo

CCRL 40/15

  Name                  Elo      +       -
  Smallbrain 5.0 64-bit	3136	+23	−23
  Smallbrain 4.0 64-bit	2980	+26	−26
  Smallbrain 2.0 64-bit	2268	+30	−30
  Smallbrain 1.1 64-bit	2223	+29	−30

CCRL Blitz 2'+1" (Blitz)

  Name                  Elo      +       -
  Smallbrain 5.0 64-bit	3194	+30	−30
  Smallbrain 4.0 64-bit	3004	+18	−18
  Smallbrain 3.0 64-bit	2925	+25	−25
  Smallbrain 1.1 64-bit	2174	+21	−21

Features

  • Engine
    • Bitboard representation
  • Evaluation
    • NNUE 768 Input -> 512 hidden neurons -> 1 output

smallbrain's People

Contributors

disservin avatar joergoster avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.