Skip to content

tcheran-chess/tcheran

Repository files navigation

Tcheran

Tcheran is a UCI chess (and fischer random chess) engine developed by @jgilchrist and written in Rust.

For searching, it uses a standard alpha-beta search with many enhancements (e.g. additional pruning conditions, heuristics and history mechanisms to improve move ordering, etc.).

For evaluation, it uses an efficiently-updatable neural network (NNUE). Its current architecture is (768->1024hm)x2->8 (a single-layer, horizontally-mirrored network with a 1024-node hidden layer, and eight output buckets). The network is trained exclusively using self-play games from earlier versions of Tcheran, and that data is available online. More details, including a detailed network history are available in NET.md.

Ratings

Version CCRL 40/15 CCRL Blitz CEGT MCERL
v11.0 3514 3635 3468
v10.0 3459 3568 3407
v9.0 3366 3415
v8.0 3323 3245
v7.0 3174 3231
v6.0 2917 2975
v5.1 2698
v5.0 2642 2728 2818
v4.1
v4.0 2519 2546 2726
v3.0 2427 2481 2659
v2.5 2370 2621
v2.4 2305 2583
v2.3 2328 2557
v2.2 2264 2550
v2.1 2277 2227 2534
v2.0 2430
v1.1 2231
v1.0 1868

It can also be found on Lichess as jpg-bot where its ratings are:

lichess-rapid lichess-rapid lichess-rapid

Usage

To run Tcheran, you can download the latest release from its releases page.

If you would instead like to build it from source:

  • Ensure you have the pre-requisites installed:
    • Rust (the minimum supported version is listed in Cargo.toml)
    • A C compiler to build Fathom for tablebase probing support
  • Run cargo build --release - this will download the latest network and build the engine.
  • The engine binary will be available as target/release/engine.

Thanks

A huge thanks to the following people and tools:

  • Bullet, which is used for training Tcheran's neural networks
  • Fathom, which is used for Syzygy tablebase probing
  • OpenBench, which is used for testing changes to the engine
  • Stockfish's WDL model, which is used for normalizing Tcheran's evaluation output
  • sp00ph for his command channel, which is used in Tcheran's SMP implementation
  • The testers at CCRL (and elsewhere), who have invested time and hardware resource, and provided consistent motivation to improve

About

A chess engine

Resources

License

Stars

Watchers

Forks

Contributors

Languages