Introducing Toga III chess engine
Posted: Sun Jan 10, 2021 5:39 pm
Toga rides again. Most of you will be familiar with my work creating NNUE nets from non-stockfish engines. One of the first of those was Toga II 4.0.2. I thought it only appropriate that these nets run in the original engine.
Introducing Toga III 0.2, with the latest Toga III 0.5 net embedded. The only change from the Toga II 4.0.2 code base is that the eval has been replaced with the nnue code from Daniel Shawul’s nnue-probe library.
Right now the search doesn’t do incremental nnue updates, so is losing about 20% nps. I have plans to fix that as well as add support for Syzygy tablebases.
https://github.com/dkappe/TogaIII
If anyone is able to contribute Linux and especially Windows builds, that would be most appreciated.
[pgn]
[Event "?"]
[Site "?"]
[Date "2021.01.10"]
[Round "3"]
[White "toga3.2"]
[Black "arasan"]
[Result "1-0"]
[ECO "C69"]
[GameDuration "00:03:02"]
[GameEndTime "2021-01-10T10:23:00.941 CST"]
[GameStartTime "2021-01-10T10:19:58.049 CST"]
[Opening "Ruy Lopez"]
[PlyCount "124"]
[Termination "adjudication"]
[TimeControl "60+1"]
[Variation "Exchange Variation , 5.O-O"]
1. e4 {book} e5 {book} 2. Nf3 {book} Nc6 {book} 3. Bb5 {book} a6 {book}
4. Bxc6 {book} dxc6 {book} 5. O-O {book} Ne7 {book} 6. Nxe5 {book} Qd4 {book}
7. Qh5 {book} g6 {book} 8. Qg5 {book} Bg7 {book} 9. Nd3 {book} f5 {book}
10. e5 {book} Qg4 {-0.08/23 4.2s} 11. Qe3 {+0.52/17 1.9s} Nd5 {-0.46/24 8.0s}
12. Qe1 {+0.51/18 1.8s} f4 {-0.49/23 2.6s} 13. f3 {+0.38/17 1.9s}
Qf5 {-0.65/23 3.9s} 14. Nc3 {+0.50/15 1.8s} a5 {-0.35/22 2.7s}
15. Nxd5 {+0.31/14 1.7s} cxd5 {-0.45/22 3.6s} 16. b4 {+0.26/15 2.9s}
O-O {-0.62/20 3.1s} 17. Bb2 {+0.16/15 1.6s} Bd7 {-0.50/21 2.3s}
18. Qf2 {+0.31/14 2.2s} Bb5 {-0.71/22 4.4s} 19. Qd4 {+0.42/16 2.3s}
Bc4 {-1.16/20 2.6s} 20. Rfe1 {+0.35/15 2.7s} axb4 {-1.24/22 3.9s}
21. Nxb4 {+0.41/15 2.0s} Ra5 {-1.29/24 2.9s} 22. Qc3 {+1.17/17 2.1s}
Qe6 {-1.31/24 2.2s} 23. d3 {+0.99/16 1.6s} Ra4 {-1.49/21 3.8s}
24. a3 {+1.19/16 1.9s} Ba6 {-1.50/23 1.9s} 25. Qb3 {+1.03/15 2.4s}
Ra5 {-1.29/21 2.5s} 26. Rab1 {+1.02/14 1.8s} b6 {-0.99/21 2.3s}
27. Nxa6 {+1.03/15 1.8s} Rxa6 {-1.14/20 2.0s} 28. c4 {+1.21/16 2.3s}
dxc4 {-1.01/22 1.6s} 29. dxc4 {+1.17/15 2.2s} Re8 {-1.02/21 3.5s}
30. Re4 {+1.35/15 1.6s} g5 {-1.39/22 1.7s} 31. h4 {+1.27/16 2.2s}
h6 {-1.47/21 1.5s} 32. Rd1 {+1.12/15 3.6s} Bf8 {-1.57/21 2.0s}
33. Kh2 {+1.13/14 1.4s} Raa8 {-1.43/22 1.5s} 34. a4 {+1.11/15 2.7s}
Bc5 {-1.04/19 1.4s} 35. Bd4 {+1.17/15 2.2s} Be7 {-1.01/18 1.9s}
36. Bf2 {+1.26/13 1.3s} Red8 {-1.39/17 1.4s} 37. Rd5 {+1.31/13 1.5s}
Ra7 {-1.42/17 1.4s} 38. Bc5 {+1.48/13 1.9s} bxc5 {-3.67/19 4.8s}
39. Rxd8+ {+2.50/13 0.49s} Bxd8 {-3.91/24 1.6s} 40. Qb8 {+2.61/14 0.76s}
Rxa4 {-3.98/22 1.2s} 41. Qxd8+ {+2.80/14 0.98s} Kh7 {-4.31/21 1.2s}
42. hxg5 {+2.93/15 2.0s} hxg5 {-4.10/24 1.4s} 43. Qxg5 {+3.36/13 1.2s}
Qh6+ {-4.43/22 1.3s} 44. Qxh6+ {+3.57/14 0.70s} Kxh6 {-4.42/26 1.2s}
45. e6 {+3.85/17 1.9s} Ra8 {-4.63/25 1.9s} 46. Rxf4 {+4.31/15 1.4s}
Kg6 {-4.85/25 1.1s} 47. g4 {+4.58/16 1.1s} Re8 {-5.41/23 1.3s}
48. Re4 {+4.80/16 0.37s} Kf6 {-7.49/23 1.1s} 49. f4 {+5.66/17 1.2s}
Kg6 {-10.01/25 1.1s} 50. f5+ {+6.46/19 1.2s} Kg5 {-13.58/26 1.1s}
51. e7 {+7.90/22 1.1s} Kf6 {-20.46/26 1.1s} 52. Kg3 {+9.98/27 1.2s}
Rxe7 {-23.11/27 1.1s} 53. Rxe7 {+12.23/28 1.1s} Kxe7 {-22.12/25 1.1s}
54. g5 {+12.71/20 0.52s} Kf8 {-240.18/25 1.1s} 55. Kg4 {+14.28/26 1.4s}
Ke8 {-M28/25 1.1s} 56. f6 {+19.22/41 1.2s} Kf7 {-M24/24 0.28s}
57. Kf5 {+20.93/24 0.38s} Kf8 {-M22/22 0.092s} 58. g6 {+22.21/23 0.38s}
Kg8 {-M20/20 0.016s} 59. Ke6 {+M87/26 1.3s} Kf8 {-M18/18 0.022s}
60. g7+ {+M85/63 0.005s} Kg8 {-M16/16 0.002s} 61. Ke7 {+M83/63 0.005s}
c6 {-M14/14 0.001s} 62. f7+ {+M59/63 0.006s}
Kxg7 {-M10/19 0.41s, White wins by adjudication: SyzygyTB} 1-0
[/pgn]
Introducing Toga III 0.2, with the latest Toga III 0.5 net embedded. The only change from the Toga II 4.0.2 code base is that the eval has been replaced with the nnue code from Daniel Shawul’s nnue-probe library.
Right now the search doesn’t do incremental nnue updates, so is losing about 20% nps. I have plans to fix that as well as add support for Syzygy tablebases.
https://github.com/dkappe/TogaIII
If anyone is able to contribute Linux and especially Windows builds, that would be most appreciated.
[pgn]
[Event "?"]
[Site "?"]
[Date "2021.01.10"]
[Round "3"]
[White "toga3.2"]
[Black "arasan"]
[Result "1-0"]
[ECO "C69"]
[GameDuration "00:03:02"]
[GameEndTime "2021-01-10T10:23:00.941 CST"]
[GameStartTime "2021-01-10T10:19:58.049 CST"]
[Opening "Ruy Lopez"]
[PlyCount "124"]
[Termination "adjudication"]
[TimeControl "60+1"]
[Variation "Exchange Variation , 5.O-O"]
1. e4 {book} e5 {book} 2. Nf3 {book} Nc6 {book} 3. Bb5 {book} a6 {book}
4. Bxc6 {book} dxc6 {book} 5. O-O {book} Ne7 {book} 6. Nxe5 {book} Qd4 {book}
7. Qh5 {book} g6 {book} 8. Qg5 {book} Bg7 {book} 9. Nd3 {book} f5 {book}
10. e5 {book} Qg4 {-0.08/23 4.2s} 11. Qe3 {+0.52/17 1.9s} Nd5 {-0.46/24 8.0s}
12. Qe1 {+0.51/18 1.8s} f4 {-0.49/23 2.6s} 13. f3 {+0.38/17 1.9s}
Qf5 {-0.65/23 3.9s} 14. Nc3 {+0.50/15 1.8s} a5 {-0.35/22 2.7s}
15. Nxd5 {+0.31/14 1.7s} cxd5 {-0.45/22 3.6s} 16. b4 {+0.26/15 2.9s}
O-O {-0.62/20 3.1s} 17. Bb2 {+0.16/15 1.6s} Bd7 {-0.50/21 2.3s}
18. Qf2 {+0.31/14 2.2s} Bb5 {-0.71/22 4.4s} 19. Qd4 {+0.42/16 2.3s}
Bc4 {-1.16/20 2.6s} 20. Rfe1 {+0.35/15 2.7s} axb4 {-1.24/22 3.9s}
21. Nxb4 {+0.41/15 2.0s} Ra5 {-1.29/24 2.9s} 22. Qc3 {+1.17/17 2.1s}
Qe6 {-1.31/24 2.2s} 23. d3 {+0.99/16 1.6s} Ra4 {-1.49/21 3.8s}
24. a3 {+1.19/16 1.9s} Ba6 {-1.50/23 1.9s} 25. Qb3 {+1.03/15 2.4s}
Ra5 {-1.29/21 2.5s} 26. Rab1 {+1.02/14 1.8s} b6 {-0.99/21 2.3s}
27. Nxa6 {+1.03/15 1.8s} Rxa6 {-1.14/20 2.0s} 28. c4 {+1.21/16 2.3s}
dxc4 {-1.01/22 1.6s} 29. dxc4 {+1.17/15 2.2s} Re8 {-1.02/21 3.5s}
30. Re4 {+1.35/15 1.6s} g5 {-1.39/22 1.7s} 31. h4 {+1.27/16 2.2s}
h6 {-1.47/21 1.5s} 32. Rd1 {+1.12/15 3.6s} Bf8 {-1.57/21 2.0s}
33. Kh2 {+1.13/14 1.4s} Raa8 {-1.43/22 1.5s} 34. a4 {+1.11/15 2.7s}
Bc5 {-1.04/19 1.4s} 35. Bd4 {+1.17/15 2.2s} Be7 {-1.01/18 1.9s}
36. Bf2 {+1.26/13 1.3s} Red8 {-1.39/17 1.4s} 37. Rd5 {+1.31/13 1.5s}
Ra7 {-1.42/17 1.4s} 38. Bc5 {+1.48/13 1.9s} bxc5 {-3.67/19 4.8s}
39. Rxd8+ {+2.50/13 0.49s} Bxd8 {-3.91/24 1.6s} 40. Qb8 {+2.61/14 0.76s}
Rxa4 {-3.98/22 1.2s} 41. Qxd8+ {+2.80/14 0.98s} Kh7 {-4.31/21 1.2s}
42. hxg5 {+2.93/15 2.0s} hxg5 {-4.10/24 1.4s} 43. Qxg5 {+3.36/13 1.2s}
Qh6+ {-4.43/22 1.3s} 44. Qxh6+ {+3.57/14 0.70s} Kxh6 {-4.42/26 1.2s}
45. e6 {+3.85/17 1.9s} Ra8 {-4.63/25 1.9s} 46. Rxf4 {+4.31/15 1.4s}
Kg6 {-4.85/25 1.1s} 47. g4 {+4.58/16 1.1s} Re8 {-5.41/23 1.3s}
48. Re4 {+4.80/16 0.37s} Kf6 {-7.49/23 1.1s} 49. f4 {+5.66/17 1.2s}
Kg6 {-10.01/25 1.1s} 50. f5+ {+6.46/19 1.2s} Kg5 {-13.58/26 1.1s}
51. e7 {+7.90/22 1.1s} Kf6 {-20.46/26 1.1s} 52. Kg3 {+9.98/27 1.2s}
Rxe7 {-23.11/27 1.1s} 53. Rxe7 {+12.23/28 1.1s} Kxe7 {-22.12/25 1.1s}
54. g5 {+12.71/20 0.52s} Kf8 {-240.18/25 1.1s} 55. Kg4 {+14.28/26 1.4s}
Ke8 {-M28/25 1.1s} 56. f6 {+19.22/41 1.2s} Kf7 {-M24/24 0.28s}
57. Kf5 {+20.93/24 0.38s} Kf8 {-M22/22 0.092s} 58. g6 {+22.21/23 0.38s}
Kg8 {-M20/20 0.016s} 59. Ke6 {+M87/26 1.3s} Kf8 {-M18/18 0.022s}
60. g7+ {+M85/63 0.005s} Kg8 {-M16/16 0.002s} 61. Ke7 {+M83/63 0.005s}
c6 {-M14/14 0.001s} 62. f7+ {+M59/63 0.006s}
Kxg7 {-M10/19 0.41s, White wins by adjudication: SyzygyTB} 1-0
[/pgn]