Chess engine: Cheers 1.0.0
This is the first release of Cheers, providing a reasonable strength on a single thread
Rating Chess Engines Diary CEDR=2894 Author: Algorhythm
v.1.0.0:
This release is the feature-complete version of Cheers, with a significant strength improvement over 0.3.x
STC:
Elo | 180.91 +- 8.06 (95%)
Conf | 8.0+0.08s Threads=1 Hash=8MB
Games | N: 5010 W: 2823 L: 427 D: 1760
Penta | [16, 141, 560, 1007, 781]
LTC:
Elo | 213.55 +- 7.88 (95%)
Conf | 60.0+0.60s Threads=1 Hash=8MB
Games | N: 5002 W: 2945 L: 207 D: 1850
Penta | [3, 72, 461, 1114, 851]
This improvement was realised with a number of changes and additions to the search functionality, leaving evaluation untouched. These self-test results are likely to be inflated and comparing Cheers 1.0.0 to other engines may yield smaller Elo differences over 0.3.x. Nevertheless I believe this version will break the 3000 Elo barrier on the CCRL rating list.
Change Highlights:
Syzygy endgame tablebase support with pyrrhic-rs, a Rust translation of Andrew Grant's Pyrrhic
Continuation History Heuristic
History-based Late Move Reductions
Node-based time management at the search root
Capture History for move ordering
Split capture and quiet move lists for faster move sorting
Bugfixes
This version fixes a longstanding but only recently noticed bug that would cause hangs during OpenBench tests. The underlying cause was that very rarely the test runner's time margin settings would result in Cheers receiving a negative amount of time to calculate a move, which would cause a failure when parsing the time as an unsigned integer.
What next?
I am stopping work on Cheers for the time being in favour of my new engine, CriNNge which is an opportunity for me to build an engine free of Cheers' technical debt and explore new techniques without the invasive changes necessary to add them to Cheers. I may yet return to Cheers in the future, but only time will tell!
Comments
Post a Comment