Tcheran - UCI chess engine Author: Jonathan Gilchrist
Rating Chess Engines Diary CEDR=2242
If you want to know what the ranking of the Tcheran engine is, we encourage you to visit the website with the monthly updated CEDR ranking - RATING page.
Tcheran 11.0 what's new?
Network #11, trained with an entirely new 5k soft node dataset (23.37 +- 8.61)
Use capture history as the SEE threshold during move picking (13.97 +- 6.76)
Time management tweaks - base hard time on the total time and allow using more of the total time (22.35 +- 8.36 STC, 12.20 +- 5.91 LTC)
Scale soft time based on the fraction of nodes used to search the bset move (10.89 +- 5.82 STC, 16.01 +- 6.94 LTC)
Switch to handwritten SIMD for NNUE output layer (10.56 +- 5.63)
Shrink default aspiration window from 25 to 20 (10.03 +- 5.56)
Network #12, adding 8 output buckets and using the same data as #11 (9.89 +- 5.56)
Do more LMR in cut nodes (9.87 +- 5.55)
Use Lizard's SCReLU formulation (9.18 +- 5.16)
Do NMP in cut nodes only (8.61 +- 5.05)
Reduce more in LMR if the upcoming ply has failed high (7.80 +- 4.80)
Add razoring (7.73 +- 4.76)
Network #13, trained using the same arch and data as #12 but with horizontal mirroring (7.49 +- 4.59)
Add threats to capture history (6.37 +- 4.12)
Only set best_move if we raised alpha (6.13 +- 4.10)
Clear killer moves for upcoming plies (5.77 +- 3.92)
Generate quiets to evade check in quiescence (5.16 +- 3.69)
Network #14, using the same data and architecture as net 13 but trained for an additional 40 superbatches at 0.6 WDL (5.00 +- 3.60)
Set SearchStackEntry::mv in quiescence (4.77 +- 3.47)
Reduce negative extension when tt_score >= beta (4.56 +- 3.38)
Use capture history in SEE pruning threshold (4.01 +- 3.05)
Negative extension when tt_score >= beta (3.66 +- 2.85)
Shrink aspiration windows further, from 20 to 15 (3.40 +- 2.70)
Return average of eval and beta for quiescence fail-highs (2.86 +- 2.29)
Use threefold repetitions (2.49 +- 3.65)
Misc
Tcheran now supports Fischer Random Chess (FRC)
We now always report a line immediately before printing the best move
The 'genfens' UCI command is now implemented to support OpenBench datagen
tools/data now has a command to convert from .pgn to viriformat
The max thread count is now always 1024 rather than being detected
The minimum required Rust version is now 1.93
Also now supports Fischer Random Chess!
Elo | 116.63 +- 6.30 (95%)
Conf | 8.0+0.08s Threads=1 Hash=16MB
Games | N: 4122 W: 1778 L: 444 D: 1900
Penta | [3, 129, 662, 1065, 202]
Elo | 112.71 +- 10.97 (95%)
Conf | 40.0+0.40s Threads=1 Hash=128MB
Games | N: 1024 W: 428 L: 107 D: 489
Penta | [1, 22, 167, 299, 23]
Tcheran 9.0 vs other engines:
| Grail 1.0.0 | 4/4 | +4 | 4 Partii |
| Prune 3.0.0 | 4/4 | +4 | 4 Partii |
| Knightx 4.7 | 4/4 | +4 | 4 Partii |
| Sturddle 2.4.0 | 3/4 | +2 | 4 Partii |
| Critter 1.6a | 2.5/4 | +1 | 4 Partii |
| Eleanor 3.0 | 2.5/4 | +1 | 4 Partii |
| C4ke 2.0 | 2.5/4 | +1 | 4 Partii |
| Cwtch 4 | 2/4 | +0 | 4 Partii |
| Prelude 2.1 | 1.5/4 | -1 | 4 Partii |
| Caissa 1.24 JA | 1/4 | -2 | 4 Partii |
| Halogen 15.26.0 | 1/4 | -2 | 4 Partii |
| Reckless 0.9.0-dev-c5af2cea | 0.5/4 | -3 | 4 Partii |
| Cinder 0.4.0 | 0.5/4 | -3 | 4 Partii |
| Caligula 3.0 | 3/3 | +3 | 3 Partii |
| Chessnix 1.2 | 2/2 | +2 | 2 Partii |
| K2 1.0 alpha dev.9b2a JA | 2/2 | +2 | 2 Partii |
| Gyatso 1.0.0 | 2/2 | +2 | 2 Partii |
| Jackychess 25.12 JA | 2/2 | +2 | 2 Partii |
| 4kc | 2/2 | +2 | 2 Partii |
| Grail 1.0.1 | 2/2 | +2 | 2 Partii |
| JackyChess 25.12 JA | 1.5/2 | +1 | 2 Partii |
Tcheran engine top results:
Sample batch of this engine:
[Event "2024.09.14.NewEnginesTest"]
[Site "Chess Engines Diary"]
[Date "2024.09.17"]
[Round "1.32"]
[White "Tcheran 3.0"]
[Black "StoneChess 2024-09-13"]
[Result "1-0"]
[ECO "B00"]
[PlyCount "72"]
[EventDate "2024.??.??"]
{[%evp
0,72,19,31,42,25,25,33,56,29,66,76,56,24,36,21,11,4,-5,-3,16,4,10,-56,-5,-36,-18,-61,-61,-18,-15,-1,7,3,-6,-10,5,-13,9,3,10,13,10,49,46,43,67,31,56,45,49,47,71,43,90,58,61,73,114,133,184,186,153,187,235,243,654,652,873,1006,2044,2497,29979,29984,29985]}
1. e4 Nc6 2. d4 d5 3. e5 f6 4. Nf3 g5 5. h3 Bg7 6. Bb5 Nh6 7. O-O O-O
8. Re1 g4 9. hxg4 Bxg4 10. Bxc6 bxc6 11. e6 Qd6 12. Qe2 Nf5 13. c3 c5
14. Qc2 Bxf3 15. dxc5 Qc6 16. Qxf5 Be4 17. Qh3 Qxc5 18. Be3 Qb5 19. Nd2
Bg6 20. b3 Qd3 21. Nf3 c6 22. Rac1 Qa6 23. a4 Rfb8 24. Nd4 Rb7 25. b4
Rc8 26. a5 c5 27. bxc5 Rxc5 28. Nb3 Rcb5 29. Nc5 Qxa5 30. Nxb7 Rxb7 31.
Red1 Rc7 32. Qf3 Be4 33. Qxe4 Rxc3 34. Qb1 Rxc1 35. Qb8+ Bf8 36. Rxc1
h5 1-0

Comments
Post a Comment