Cygnus Devlog

Discussion of chess software programming and technical issues.

Moderator: Ras

User avatar
AAce3
Posts: 80
Joined: Fri Jul 29, 2022 1:30 am
Full name: Aaron Li

Cygnus Devlog

Post by AAce3 »

I am beginning a new engine project!
After spending a long time researching MCTS/AB hybrid, I realized that I wanted to do lc0-style MCTS/NN instead. I feel as though the whole MCTS thing just fits better with neural network evaluations. So, I've started work on a new (experimental) engine called Cygnus.

I feel as though MCTS has not been explored as much as a search algorithm, and lc0 and Ceres both seem a bit like black boxes. It turns out that these engines have lots of really cool optimizations that I want to explore! So, my goal for this engine is to use no lc0 code, and to learn everything I need to know to build a powerful MCTS engine by asking the lc0 discord, as well as coming up with my own ideas.

Cygnus is in super rudimentary stage - all it has right now is move generation and NN inference, using the onnxruntime library. It's currently giving correct results for network evaluation on a few test positions, so I'm ready to start programming the search function. When that is ready, I will probably publish the engine, although by that point it will still only use lc0 nets. Either way I'm obviously going to train my own nets for Cygnus (cygnets, if you will :D ) afterwards.

Super excited to begin working on this! It's a shame that there aren't more cool MCTS engines around.