DinoraProject / dinora_chess

Python Chess Engine with MCTS + NN

Home Page:https://dinora.readthedocs.io/en/latest/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Dinora

Documentation Status

Documentation | Installation

Dinora is alphazero-like chess engine. It uses keras/tensorflow for position evaluation and Monte Carlo Tree Search for calculating best move.

Features

  • Working chess engine
  • Minimal example of alpazero-like engine NN + MCTS
  • All code included in this repo - for playing and training
  • Everything written in python

Status

You can play against Dinora in standard chess variation, with or without increment. I assume engine strength is about 1400 Lichess Elo, I evaluate engine rating basing on a few games against me, so it's not accurate.
You can see example game below
(10+0) Dinora (100-200 nodes in search) vs Me (2200 Rapid Lichess rating)

Tree Visualization

There is a tool for tree visualization, look more here

Acknowledgements

This engine based on https://github.com/Zeta36/chess-alpha-zero and https://github.com/dkappe/a0lite and Alphazero from Deepmind.

A lot of tutorials about chess engines from https://www.chessprogramming.org/ was super helpful.

About

Python Chess Engine with MCTS + NN

https://dinora.readthedocs.io/en/latest/

License:GNU General Public License v3.0


Languages

Language:Jupyter Notebook 74.4%Language:Python 25.6%Language:Shell 0.0%Language:Batchfile 0.0%