Giter Site home page Giter Site logo

drofa's Introduction

Drofa

A UCI chess engine written in C++11. Drofa uses AB-search and combines hand-crafted evaluation (HCE) with supplementary NN, that uses King and Pawn (KPNN) positions as inputs (264 -> 16 -> 2).

This approach resulted in an engine of moderate strength.

Origins

Drofa started as fork of the Shallow Blue chess engine. My initial intention was to take weak, but stable and working chess engine and try to improve it, learning c++ along the way.

During my Drofa experiments huge chunk of knowlenge were received from:

  • VICE chess engine and tutorials.
  • Chessprogramming WIKI great place for all chessprogramming-related knowledge.
  • Weiss chess engine, with clean and understandable implementations of complex features. Drofa use Weiss 1.0 LMP base reduction formulas. Althouth Adagrad tuning implementation is not copy-pasted from Weiss, Drofa implementation closesy follows Weiss logic and can be considered a c++ rewrite of it.
  • Several open source engines, mostly Ethereal and Stockfish

Special thanks to:

  • Terje Kirstihagen (Weiss author)
  • Andrew Grant. AdaGrad paper and Ethereal chess engine are great sources of knowledge; Ethereal tuning dataset was a great help in tuning. As well as allowing me on main OpenBench instance
  • Kim Kahre, Finn Eggers and Eugenio Bruno (Koivisto team) for allowing Drofa on Koi OpenBench instance and motivating me to work on the engine
  • Jay Honnold (Berserk author) for helping me with NN stuff
  • OpenBench community for helping me with motivation, in finding bugs, teaching me (even if unknowingly) good programming practices and interesting discussions

Strength (ccrl blitz elo) - as of May 2023:

Drofa 1.0.0    2088
Drofa 1.3.1    2424
Drofa 2.0.0    2488
Drofa 2.0.0    2488
Drofa 3.0.0    2922
Drofa 3.1.0    3009
Drofa 3.2.0    3101
Drofa 3.3.0    3188
Drofa 4.0.0    ~3250 - etimated based on 3.3.22 results

Since version 3.3.23 Drofa supports FRC and DFRC, with a CCRL elo of 3244

Changelogs

With Drofa 4.0.0 many features was added on top of the Shallow Blue, adding up to more than 1000 elo. Almost-full changelog with SPRT results and ELO estimations for most of the features can be found in Changelogs folder.

UCI commands

Drofa 3.0.0 supports following UCI commands:

  • BookPath
  • OwnBook
  • Threads (1 to 172),
  • Hash (16 to 65536)

These options can be set from your chess GUI or the UCI interface as follows:

setoption name OwnBook value true
setoption name BookPath value /path/to/book.bin

License

During developement, many concepts found in GPL-3 engines were used. Thus, as of 4.0.0, Drofa also will be licensed as GPL-3.

2017 - 2019 © Rhys Rustad-Elliott (original Shallow Blue creator)

2020 - 2023 © Litov Alexander

drofa's People

Contributors

justno4b avatar terjekir avatar pauljefi avatar skiminki 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.