The following libraries are used to run the C++ version of CrazyAra: Zarr: An implementation of chunked, compressed, N-dimensional arrays.numpy: The fundamental package for scientific computing with Python.MXNet: A flexible and efficient library for deep learning.python-chess: A pure Python chess library.These libraries are used in the python version: Variantsīinaries and models are available for the following chess variants:įor more details about the initial python version visit the wiki pages: More information about the different models can be found in the wiki. The default directory is indicated and can be changed by adjusting the UCI-parameter Model_Directory. The extracted model should be placed in the directory reltative to the engine executable. The current CrazyAra release and all its previous versions can also be found at releases. We provide binary releases for the following plattforms: Operating System Cute Chess, XBoard, WinBoard) for convinient usage. The newer version is written in C++ and located at engine/src.ĬrazyAra is an UCI chess engine and requires a GUI (e.g. The initial version is written in python and located at DeepCrazyhouse/src/domain/agent. There are two version of the search engine available: The training scripts, preprocessing and neural network definition source files are written in python and located at DeepCrazyhouse/src. The project is mainly inspired by the techniques described in the Alpha-(Go)-Zero papers by David Silver, Thomas Hubert, Julian Schrittwieser, Ioannis Antonoglou, Matthew Lai, Arthur Guez, Marc Lanctot, Laurent Sifre, Dharshan Kumaran, Thore Graepel, Timothy Lillicrap, Karen Simonyan, Demis Hassabis. In the course of a master thesis supervised by Karl Stelzner and Kristian Kersting, the engine learned crazyhouse in a reinforcement learning setting and was trained on other chess variants including chess960, King of the Hill and Three-Check. The development was continued and the engine ported to C++ by Johannes Czech. The project was part of the course "Deep Learning: Architectures & Methods" held by Kristian Kersting, Johannes Fürnkranz et al.
It started as a semester project at the TU Darmstadt with the goal to train a neural network to play the chess variant crazyhouse via supervised learning on human data. CrazyAra is an open-source neural network chess variant engine, initially developed in pure python by Johannes Czech, Moritz Willig and Alena Beyer in 2018.