Hi everyone,
I’ve released a new version of my engine, RuthIron 18.8:
https://github.com/themreKalkan/RuthIro ... s/tag/18.8
In this version, I am using my own NNUE model, trained from scratch with nnue-pytorch, and I have also changed the NNUE architecture.
With this release:
Upgraded ML Model Efficiency and Changed Architecture
Upgraded caching system
AVX2 optimizations
For this version, my main goal was simply to get the engine running stably with my own NNUE network and the new architecture.
Below is a sample game played against Stockfish 17.1:
[pgn][Event "?"]
[Site "?"]
[Date "2026.01.15"]
[Round "?"]
[White "RuthIron_V18.8"]
[Black "stockfish"]
[Result "0-1"]
[GameId "JzWMI3vi"]
[WhiteElo "?"]
[BlackElo "?"]
[Variant "Standard"]
[TimeControl "-"]
[ECO "D00"]
[Opening "Queen's Pawn Game"]
[Termination "Unknown"]
[Annotator "lichess.org"]
1. d4 d5 { D00 Queen's Pawn Game } 2. c3 Nf6 3. a4 c5 4. dxc5 e6 5. b4 a5 6. e3 axb4 7. cxb4 b6 8. Bb2 bxc5 9. bxc5 Ba6 10. Bxa6 Nxa6 11. Nf3 Nxc5 12. O-O Be7 13. Nbd2 O-O 14. Ne5 Qd6 15. a5 Rfc8 16. Bd4 Qd8 17. Nb3 Nxb3 18. Qxb3 Rxa5 19. h3 Ne4 20. Rxa5 Qxa5 21. Ra1 Qc7 22. Qa4 h5 23. Nd3 Qc2 24. Qxc2 Rxc2 25. Ra8+ Kh7 26. Ra7 Bd6 27. Rxf7 Rd2 28. g4 Rd1+ 29. Kg2 Rxd3 30. Rxg7+ Kh6 31. g5+ Nxg5 32. Rb7 Ne4 33. Rd7 Rd2 34. Kg1 Rd1+ 35. Kg2 Rd2 36. Kg1 Kg5 37. Rf7 Rc2 38. Bh8 Rc7 39. Rxc7 Bxc7 40. Kg2 Kf5 41. f3 Bb6 42. fxe4+ Kxe4 43. Bg7 Bxe3 44. Kf1 d4 45. Ke1 d3 46. Bf6 Kf3 47. Kd1 Bf4 48. Bc3 e5 49. Bd2 Bxd2 50. Kxd2 e4 51. h4 Kf2 52. Kc3 Ke3 53. Kc4 d2 54. Kd5 d1=Q+ 55. Ke6 Kf4 56. Kf7 Kf5 57. Kg7 Qd7+ 58. Kh6 Qa7 59. Kxh5 Qh7# { Black wins. } 0-1[/pgn]
I'm waiting for your feedbacks. Thanks so much.(I am also waiting feedbacks for NNUE model. Why its not good? I am using nnue-pytorch and verified datasets)
RuthIron 18.8 ML Supported UCI Chess Engine
Moderator: Ras
-
EmreKalkan
- Posts: 32
- Joined: Wed Sep 10, 2025 8:28 pm
- Full name: M. Emre Kalkan
-
Graham Banks
- Posts: 45257
- Joined: Sun Feb 26, 2006 10:52 am
- Location: Auckland, NZ
Re: RuthIron 18.8 ML Supported UCI Chess Engine
Are all three files required in the same folder?
gbanksnz at gmail.com
-
EmreKalkan
- Posts: 32
- Joined: Wed Sep 10, 2025 8:28 pm
- Full name: M. Emre Kalkan
Re: RuthIron 18.8 ML Supported UCI Chess Engine
No needs to be in the same file. NNUE and ML all embedded.
-
Sylwy
- Posts: 5033
- Joined: Fri Apr 21, 2006 4:19 pm
- Location: IAȘI - the historical capital of MOLDOVA
- Full name: Silvian Rucsandescu
Re: RuthIron 18.8 ML Supported UCI Chess Engine
-
Gabor Szots
- Posts: 1512
- Joined: Sat Jul 21, 2018 7:43 am
- Location: Budapest, Hungary
- Full name: Gabor Szots
Re: RuthIron 18.8 ML Supported UCI Chess Engine
What is ML? I mean, does it learn from games played?
Gabor Szots
CCRL testing group
CCRL testing group
-
Sylwy
- Posts: 5033
- Joined: Fri Apr 21, 2006 4:19 pm
- Location: IAȘI - the historical capital of MOLDOVA
- Full name: Silvian Rucsandescu
-
Gabor Szots
- Posts: 1512
- Joined: Sat Jul 21, 2018 7:43 am
- Location: Budapest, Hungary
- Full name: Gabor Szots
Re: RuthIron 18.8 ML Supported UCI Chess Engine
Gabor Szots
CCRL testing group
CCRL testing group
-
Sylwy
- Posts: 5033
- Joined: Fri Apr 21, 2006 4:19 pm
- Location: IAȘI - the historical capital of MOLDOVA
- Full name: Silvian Rucsandescu
Re: RuthIron 18.8 ML Supported UCI Chess Engine
Theoretically, yes.
Some interesting infos about a CNN:
https://cs231n.stanford.edu/reports/201 ... vChess.pdf
-
EmreKalkan
- Posts: 32
- Joined: Wed Sep 10, 2025 8:28 pm
- Full name: M. Emre Kalkan
Re: RuthIron 18.8 ML Supported UCI Chess Engine
No, it is not learning from games directly. It is a casual engine for our computers, but I implemented an ML model. This ML model has the same architecture as AlphaZero.
It cannot improve itself by learning from the engine’s own games, but I can train a better model using self-play. In other words, the model does not upgrade itself automatically.
I regularly expand my dataset with engine self-play games and model self-play games (MCTS + ML model self-play or fully integrated RuthIron self-play games).
The CNN part is implemented by me. I train the model weights on my own computer. If the engine were to learn from its own games, it would require using a GPU. My model is quantized and runs on the CPU.
(In fact, the model is based on a ResNet architecture. ResNet is an enhanced CNN architecture that incorporates residual connections to enable deeper networks and more stable training. You can observe the use of ReLU activation functions in my implementation.)
-
EmreKalkan
- Posts: 32
- Joined: Wed Sep 10, 2025 8:28 pm
- Full name: M. Emre Kalkan

