Skip to content

Latest commit

 

History

History
88 lines (57 loc) · 2.65 KB

README.rst

File metadata and controls

88 lines (57 loc) · 2.65 KB

Chess Tuning Tools

Documentation Status

A collection of tools for local and distributed tuning of chess engines.

Features

  • Optimization of chess engines using state-of-the-art Bayesian optimization.
  • Support for automatic visualization of the optimization landscape.
  • Scoring matches using the pentanomial model for paired openings.

Quick Start

In order to be able to start the tuning, first create a python environment and install chess-tuning-tools by typing:

pip install chess-tuning-tools

Furthermore, you need to have cutechess-cli in the path. The tuner will use it to run matches.

To execute the local tuner, simply run:

tune local -c tuning_config.json

Take a look at the usage instructions and the example configurations to learn how to set up the tuning_config.json file.

Distributed tuning

The distributed tuning framework is currently not actively supported. To be able to run the tuning client, you need the following directory structure:

folder/
|---- networks/
|     |---- networkid
|---- openings/
|     |---- ...
|     |---- openings.pgn
|     |---- ...
|---- dbconfig.json
|---- engine1[.exe]
|---- engine2[.exe]

Finally, the tuning client can be started as follows:

cd path/to/folder
tune run-client dbconfig.json

The client can be terminated gracefully by inputting ctrl-c once or terminated immediately by sending it twice.

You will also need to run a PostgreSQL database, which the server will use to post jobs for the clients to fetch and the clients to report their results to.

Credits

This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.