Embedding Stockfish NNUE to ANY CHESS ENGINE: YouTube series
Posted: Sat Oct 17, 2020 1:17 pm
Hey what's up guys, Code Monkey King's here.
First of all I'd like to thank Daniel Shawul for creating NNUE probe library based on CFish's code.
https://github.com/dshawul/nnue-probe
because without this library my work would never exist.
I've just made a quick and dirty embedding of SF NNUE to my engine BBC and results are fantastic,
here's the example game:
[pgn][Event "Computer chess game"]
[Site "maksim-Inspiron-3582"]
[Date "2020.10.17"]
[Round "?"]
[White "BBC 1.2"]
[Black "BBC NNUE"]
[Result "0-1"]
[BlackElo "2200"]
[ECO "B45"]
[Opening "Sicilian"]
[Time "12:49:05"]
[Variation "Taimanov, Four Knights, 6.Nxc6 bxc6 7.e5 Nd5"]
[WhiteElo "2000"]
[Termination "normal"]
[PlyCount "136"]
[WhiteType "program"]
[BlackType "program"]
1. e4 {(e2-e4 d7-d5 e4xd5 Ng8-f6 d2-d4 Nf6xd5 Bf1-b5+ Bc8-d7 Bb5-d3)
+0.11/8 0} c5 {(c7-c5 c2-c3 Ng8-f6 e4-e5 Nf6-d5 Ng1-f3 e7-e6 Bf1-d3)
-0.60/8 2} 2. Nc3 {(Nb1-c3 e7-e6 Ng1-f3 Nb8-c6 Bf1-c4 Bf8-d6 O-O Ng8-f6)
+0.50/8 0} Nc6 {(Nb8-c6 Ng1-f3 Ng8-f6 d2-d4 c5xd4 Nf3xd4 e7-e6 Nd4-b5)
-0.63/8 2} 3. Nf3 {(Ng1-f3 Ng8-f6 Bf1-c4 e7-e6 O-O d7-d5 e4xd5 e6xd5)
+0.51/8 0} Nf6 {(Ng8-f6 d2-d4 c5xd4 Nf3xd4 e7-e6 Bf1-e2 Bf8-b4 Nd4xc6)
-0.26/8 7} 4. d4 {(d2-d4 c5xd4 Nf3xd4 d7-d5 Nd4xc6 b7xc6 Bc1-f4 Bc8-g4)
+0.34/8 1} cxd4 {(c5xd4 Nf3xd4 e7-e6 Bf1-e2 Bf8-b4 Nd4xc6 b7xc6) -0.26/7 3}
5. Nxd4 {(Nf3xd4 e7-e5 Nd4xc6 b7xc6 Bf1-c4 d7-d5 e4xd5 Bc8-g4) +0.57/8 0}
e6 {(e7-e6 Bc1-f4 Bf8-b4 Nd4-b5 O-O a2-a3 Bb4-a5 Qd1-f3) -0.67/8 19} 6.
Nxc6 {(Nd4xc6 b7xc6 Bf1-d3 d7-d5 e4-e5 d5-d4 e5xf6 d4xc3) +0.62/8 0} bxc6
{(b7xc6 e4-e5 Nf6-d5 Nc3xd5 c6xd5 Bf1-d3 Qd8-c7 Bc1-f4) -0.05/8 3} 7. e5
{(e4-e5 Nf6-d5 Nc3xd5 c6xd5 Bc1-e3 Bc8-b7 Bf1-d3 d5-d4) +0.51/8 1} Nd5
{(Nf6-d5 Nc3xd5 c6xd5 Bf1-d3 Qd8-a5+ Bc1-d2 Qa5-b6 O-O Qb6xb2) +0.12/8 2}
8. Nxd5 {(Nc3xd5 c6xd5 Bf1-d3 Bf8-e7 Bc1-e3 Ra8-b8 b2-b3 O-O) +0.64/8 0}
cxd5 {(c6xd5 Bf1-d3 Qd8-a5+ Bc1-d2 Qa5-b6 Ra1-b1 Bc8-a6 O-O Ba6xd3) -0.26/8
4} 9. Bd3 {(Bf1-d3 Bc8-b7 O-O Bf8-c5 Qd1-h5 Ra8-c8 Bc1-g5 Qd8-c7) +0.69/8
0} Qa5+ {(Qd8-a5+ Bc1-d2 Qa5-b6 Ra1-b1 Bc8-a6 O-O Ba6xd3 c2xd3 Bf8-e7)
-0.16/8 6} 10. Bd2 {(Bc1-d2 Qa5-c7 Qd1-h5 Bf8-c5 O-O g7-g6 Qh5-g5 Bc5-d4
Ra1-e1) +0.77/8 1} Qb6 {(Qa5-b6 Ra1-b1 Bc8-a6 O-O Ba6xd3 c2xd3 Qb6-a6
Qd1-b3) +0.13/8 2} 11. Rb1 {(Ra1-b1 Bf8-c5 O-O O-O a2-a4 Bc5-d4 a4-a5
Qb6-c7) +0.70/8 1} Ba6 {(Bc8-a6 O-O Ba6xd3 c2xd3 Bf8-c5 b2-b4 Bc5-d4
Qd1-h5) +0.27/8 3} 12. O-O {(O-O Ba6xd3 c2xd3 Ra8-c8 Qd1-g4 Qb6-a6 d3-d4
Qa6xa2) +0.58/8 0} Bxd3 {(Ba6xd3 c2xd3 Qb6-a6 Qd1-b3 Bf8-e7 d3-d4 O-O
Rf1-c1) +0.48/8 2} 13. cxd3 {(c2xd3 Ra8-c8 Rb1-c1 Rc8xc1 Qd1xc1 Bf8-c5
Bd2-e3 Bc5xe3) +0.47/8 0} Qa6 {(Qb6-a6 Bd2-c3 Bf8-e7 Rb1-a1 O-O d3-d4
Rf8-b8 Qd1-g4) +0.96/8 3} 14. Qb3 {(Qd1-b3 Bf8-e7 Rf1-c1 O-O Rc1-c7 Ra8-b8
Qb3-c2 Rb8-c8) +0.71/8 0} Be7 {(Bf8-e7 Rf1-c1 O-O Rc1-c7 Rf8-b8 Qb3-c2
Rb8-c8 Rb1-d1) +1.35/8 3} 15. Rbc1 {(Rb1-c1 O-O a2-a3 Ra8-b8 Qb3-c3 Rb8-c8
Qc3-d4 Qa6-b6) +0.41/8 0} O-O {(O-O a2-a3 Ra8-b8 Qb3-c3 Rf8-c8 Qc3-d4
Rc8-c6 g2-g3) +1.83/8 2} 16. a3 {(a2-a3 Ra8-b8 Qb3-c3 d7-d6 Bd2-f4 d6xe5
Bf4xe5 Rb8-c8) +0.33/8 0} Rab8 {(Ra8-b8 Qb3-c3 Rf8-c8 Qc3-d4 d7-d6 e5xd6
Be7xd6 g2-g3) +1.85/8 3} 17. Qc3 {(Qb3-c3 Rf8-c8 Qc3-d4 Qa6-b6 Qd4xb6 a7xb6
Bd2-e3 b6-b5) +0.39/8 0} Rfc8 {(Rf8-c8 Qc3-d4 Rc8-c6 b2-b4 Qa6xa3 Rc1-a1
Qa3-b3 Qd4xa7) +1.86/8 5} 18. Qd4 {(Qc3-d4 d7-d6 Bd2-f4 Rc8xc1 Rf1xc1
Rb8-b3 Rc1-d1 d6xe5) +0.33/8 0} Bd8 {(Be7-d8 Rc1xc8 Rb8xc8 Rf1-c1 Rc8xc1+
Bd2xc1 Bd8-b6 Qd4-c3 Qa6-a4) +3.42/8 7} 19. Rxc8 {(Rc1xc8 Rb8xc8 Rf1-c1
Rc8xc1+ Bd2xc1 Bd8-b6 Qd4-c3 d5-d4 Qc3-c2) +0.11/8 0} Rxc8 {(Rb8xc8 Rf1-c1
Rc8xc1+ Bd2xc1 f7-f6 e5xf6 Bd8xf6 Qd4-e3 h7-h6) +1.82/8 1} 20. Rc1 {(Rf1-c1
Rc8xc1+ Bd2xc1 Bd8-b6 Qd4-c3 d5-d4 Qc3-b3 Bb6-c5 Bc1-f4) +0.26/8 0} Rxc1+
{(Rc8xc1+ Bd2xc1 f7-f6 e5xf6 Bd8xf6 Qd4-e3 Qa6-a4 b2-b4) +1.51/7 0} 21.
Bxc1 {(Bd2xc1 Qa6-c8 Qd4-c3 Qc8xc3 b2xc3 Bd8-e7 a3-a4 Be7-c5 Bc1-f4)
-0.00/8 0} f6 {(f7-f6 Bc1-f4 h7-h6 Qd4-c3 Qa6-a4 g2-g3 Qa4-d1+ Kg1-g2
Kg8-h7) +1.63/8 3} 22. Bf4 {(Bc1-f4 Bd8-b6 Qd4-c3 Qa6-a4 Qc3-c1 Kg8-f7
e5xf6 Kf7xf6) +0.62/8 0} Qa5 {(Qa6-a5 Qd4-e3 g7-g5 Bf4-g3 f6-f5 Qe3-c1
f5-f4) +3.23/7 2} 23. Qe3 {(Qd4-e3 Qa5-b5 b2-b4 Bd8-b6 Qe3-g3 Bb6-d4 e5xf6
Bd4xf6) +0.37/8 0} g5 {(g7-g5 Bf4-g3 f6-f5 Qe3-c1 Qa5-c7 Qc1-d2 Qc7-b6)
+1.86/7 0} 24. Bg3 {(Bf4-g3 Qa5-b6 Qe3-c1 Qb6-c6 Qc1-d1 Bd8-e7 Qd1-g4
Qc6-c1+) +0.51/8 0} f5 {(f6-f5 f2-f4 Bd8-b6 d3-d4 Qa5-a4 Bg3-f2 Qa4-d1+
Qe3-e1 Qd1xe1+) +8.01/8 0} 25. f4 {(f2-f4 Qa5-b6 Qe3-f2 g5-g4 a3-a4 Bd8-e7
h2-h3 Qb6xf2+) +0.19/8 0} Bb6 {(Bd8-b6 d3-d4 Qa5-a4 Bg3-f2 Qa4-d1+ Qe3-e1
Qd1xe1+ Bf2xe1 Bb6xd4+) +8.01/7 0} 26. d4 {(d3-d4 Qa5-a4 Kg1-h1 Qa4-d1+
Qe3-e1 Qd1xe1+ Bg3xe1 Bb6xd4 Be1-c3 Bd4xc3) -1.76/8 0} Qa4 {(Qa5-a4 Bg3-f2
Qa4-d1+ Qe3-e1 Qd1xe1+ Bf2xe1 Bb6xd4+ Be1-f2 Bd4xb2 Bf2xa7) +11.75/7 1} 27.
Kf1 {(Kg1-f1 Bb6xd4 Qe3-e2 g5xf4 Bg3-f2 Bd4xf2 Kf1xf2 Qa4-e4) -2.27/8 0}
Bxd4 {(Bb6xd4 Qe3-e2 g5xf4 Bg3-e1 Bd4-e3 Be1-c3 d5-d4 Qe2-h5) +15.42/8 0}
28. Qe2 {(Qe3-e2 g5xf4 Bg3-f2 Bd4xe5 Qe2xe5 Qa4-d1+ Qe5-e1 Qd1xe1+ Kf1xe1
a7-a5) -2.36/8 0} gxf4 {(g5xf4 Bg3-e1 Qa4-c6 b2-b4 Qc6-c7 Qe2-h5 Bd4xe5)
+15.22/7 0} 29. Bf2 {(Bg3-f2 Bd4xf2 Kf1xf2 Qa4-d4+ Kf2-f3 Kg8-f7 h2-h3
a7-a5 h3-h4) -2.31/8 0} Bxf2 {(Bd4xf2 Qe2xf2 Qa4-d1+ Qf2-e1 Qd1xe1+ Kf1xe1
Kg8-f7 Ke1-f2 Kf7-g7 Kf2-f3) +15.28/8 0} 30. Kxf2 {(Kf1xf2 Qa4-d4+ Kf2-f3
Kg8-f7 b2-b4 h7-h5 h2-h3 h5-h4 b4-b5) -2.31/8 0} Kg7 {(Kg8-g7 Qe2-d2 Qa4-e4
Qd2-c3 Qe4-c4 Qc3xc4 d5xc4) +14.36/7 0} 31. Kf3 {(Kf2-f3 Qa4-d4 b2-b4
Kg7-f7 h2-h4 h7-h5 b4-b5 Kf7-e7) -2.20/8 0} Qd4 {(Qa4-d4 h2-h3 Kg7-g6 b2-b4
h7-h5 h3-h4 Qd4-c3+ Kf3xf4 Qc3xa3) +16.80/8 0} 32. b4 {(b2-b4 Kg7-f7 b4-b5
h7-h5 h2-h3 h5-h4 Qe2-e1 Kf7-g6) -2.25/8 0} Kg6 {(Kg7-g6 h2-h4 Kg6-h5
Qe2-e1 a7-a6 a3-a4 Kh5-g6 b4-b5) +17.05/8 1} 33. h4 {(h2-h4 Kg6-h5 Qe2-e1
Qd4-e4+ Qe1xe4 f5xe4+ Kf3xf4 Kh5xh4 g2-g3+ Kh4-h3 b4-b5) -2.60/8 0} a6
{(a7-a6 Qe2-e1 h7-h6 a3-a4 Qd4-c4 a4-a5 Qc4-c2 b4-b5) +16.71/8 0} 34. Qe1
{(Qe2-e1 Kg6-h5 a3-a4 Kh5-h6 b4-b5 Qd4-d3+ Kf3xf4 a6xb5 a4xb5) -2.23/8 0}
Qd3+ {(Qd4-d3+ Kf3xf4 Qd3xa3 Qe1-d2 Qa3-a1 g2-g3 Qa1-f1+ Kf4-e3 h7-h6
Qd2-d4) +18.43/8 0} 35. Kxf4 {(Kf3xf4 Qd3-d4+ Kf4-f3 Qd4-g4+ Kf3-f2 Qg4xh4+
g2-g3 Qh4-e4 Qe1xe4 f5xe4 Kf2-e3 h7-h5) -2.46/8 0} Qxa3 {(Qd3xa3 Qe1-d2
h7-h6 Qd2-d4 Qa3-c1+ Kf4-g3 Qc1-c4 Qd4xc4) +16.79/7 0} 36. Qd2 {(Qe1-d2
Qa3-b3 Qd2-d4 Qb3-c4 Kf4-e3 Qc4xd4+ Ke3xd4 f5-f4 Kd4-d3) -2.30/8 0} Qb3
{(Qa3-b3 Qd2-e1 Qb3-c4+ Kf4-g3 Qc4-e4 Qe1xe4 f5xe4 Kg3-f4 Kg6-h5) +21.53/8
1} 37. Qd4 {(Qd2-d4 Qb3-c2 g2-g3 Qc2-e4+ Qd4xe4 f5xe4 g3-g4 h7-h6 h4-h5+)
-2.37/8 0} Qc4 {(Qb3-c4 Kf4-e3 Qc4xd4+ Ke3xd4 f5-f4 Kd4-c5 Kg6-f5 Kc5-d6
d5-d4) +24.76/8 0} 38. Qxc4 {(Qd4xc4 d5xc4 Kf4-e3 f5-f4+ Ke3xf4 c4-c3 g2-g4
c3-c2 Kf4-e4) -2.30/8 0} dxc4 {(d5xc4 g2-g3 Kg6-h5 Kf4-f3 h7-h6 Kf3-f4
c4-c3 Kf4-e3) +24.97/8 0} 39. g4 {(g2-g4 f5xg4 Kf4xg4 c4-c3 h4-h5+ Kg6-h6
Kg4-h4 c3-c2 Kh4-g4) -3.56/8 0} fxg4 {(f5xg4 Kf4xg4 Kg6-h6 h4-h5 c4-c3
Kg4-h4 c3-c2 Kh4-g4) +32.64/8 0} 40. Kxg4 {(Kf4xg4 c4-c3 h4-h5+ Kg6-h6
b4-b5 a6xb5 Kg4-h4 c3-c2 Kh4-g4) -5.39/8 0} c3 {(c4-c3 b4-b5 a6xb5 h4-h5+
Kg6-h6 Kg4-f4 c3-c2 Kf4-e4 c2-c1Q) +52.97/8 0} 41. b5 {(b4-b5 a6xb5 Kg4-f4
c3-c2 Kf4-e4 c2-c1Q Ke4-d4 Kg6-h6) -12.44/8 0} c2 {(c3-c2 b5xa6 c2-c1Q
h4-h5+ Kg6-h6 a6-a7 Qc1-g5+ Kg4-h3 Qg5-d8 Kh3-g4) +46.51/8 0} 42. h5+
{(h4-h5+ Kg6-h6 b5xa6 c2-c1Q a6-a7 Qc1-a3 a7-a8Q Qa3xa8 Kg4-h4) -10.34/8 0}
Kh6 {(Kg6-h6 b5xa6 c2-c1Q a6-a7 Qc1-h1 Kg4-g3 Qh1-a8 Kg3-h4) +50.24/7 0}
43. bxa6 {(b5xa6 c2-c1Q a6-a7 Qc1-a3 a7-a8R Qa3xa8 Kg4-h4) -10.34/7 0} c1=Q
{(c2-c1Q a6-a7 Qc1-a1 a7-a8Q Qa1xa8 Kg4-f4 Qa8-a2) +51.75/7 0} 44. Kf3
{(Kg4-f3 Qc1-a3+ Kf3-f4 Qa3xa6 Kf4-e3 Kh6xh5 Ke3-e4 d7-d5+ Ke4-e3 Qa6-f1)
-13.60/8 0} Kxh5 {(Qc1-f1+ Kf3-g3 Qf1xa6 Kg3-g4 Qa6-a2 Kg4-h4 Qa2-a3
Kh4-g4) +59.50/7 0} 45. Ke4 {(Kf3-e4 Qc1-c6+ Ke4-f4 Qc6xa6 Kf4-e4 d7-d5+
e5xd6/ep Qa6xd6 Ke4-e3 Qd6-d5) -14.04/8 0} Qa3 {(Kh5-g6 a6-a7 Qc1-a3 Ke4-f4
Qa3xa7 Kf4-f3 Qa7-a2) +59.77/7 0} 46. a7 {(a6-a7 Qa3xa7 Ke4-d3 Qa7-c5
Kd3-e4 Kh5-g4 Ke4-d3 Qc5xe5) -16.62/8 0} Qxa7 {(Qa3xa7 Ke4-f3 Qa7-a2 Kf3-g3
Kh5-h6 Kg3-h4 Kh6-g6) +59.61/7 0} 47. Kd3 {(Ke4-d3 Qa7-a3+ Kd3-e4 Qa3-b2
Ke4-d3 Qb2xe5 Kd3-c4 Qe5-d5+ Kc4-c3 Kh5-h4) -16.94/8 0} Qa6+ {(Qa7-a6+
Kd3-c3 Qa6-b5 Kc3-d4 h7-h6 Kd4-e4 Qb5-d5+ Ke4-f4 Qd5-b3 Kf4-e4) +61.16/8 0}
48. Ke3 {(Kd3-e3 Qa6-b6+ Ke3-e4 Qb6-c5 Ke4-d3 Qc5xe5 Kd3-c4 Qe5-d5+ Kc4-b4
Kh5-h4 Kb4-c3) -16.94/8 0} Qa1 {(Qa6-a1 Ke3-f4 h7-h6 Kf4-g3 Qa1-b2 Kg3-f4
Qb2-b3 Kf4-e4) +61.16/8 0} 49. Ke4 {(Ke3-e4 Kh5-h4 Ke4-e3 Qa1xe5+ Ke3-f3
Qe5-d5+ Kf3-f4 Qd5-d4+ Kf4-f3 Qd4-d3+ Kf3-f4 Kh4-h3) -17.03/8 0} Qb2
{(Qa1-b2 Ke4-f4 Qb2-b3 Kf4-e4 h7-h6 Ke4-f4 Qb3-h3 Kf4-e4) +61.21/8 0} 50.
Ke3 {(Ke4-e3 Qb2xe5+ Ke3-d3 Qe5-d5+ Kd3-e3 Kh5-h4 Ke3-f4 Qd5-d4+ Kf4-f3
Qd4-d3+ Kf3-f4 Kh4-h3) -17.03/8 0} Qxe5+ {(Qb2xe5+ Ke3-f2 Qe5-c5+ Kf2-g2
Qc5-f5 Kg2-h2 Qf5-f4+ Kh2-g2 Qf4-g4+ Kg2-h1 h7-h6 Kh1-h2) +62.33/8 0} 51.
Kd3 {(Ke3-d3 Kh5-h4 Kd3-d2 Qe5-e4 Kd2-c3 Kh4-g3 Kc3-d2 Kg3-f3 Kd2-c3)
-17.24/8 0} Kg6 {(Kh5-g6 Kd3-d2 d7-d6 Kd2-d3 Kg6-g7 Kd3-c4 Qe5-f5 Kc4-b4)
+62.29/8 0} 52. Kc4 {(Kd3-c4 Kg6-f5 Kc4-d3 Qe5-e4+ Kd3-c3 Kf5-f6 Kc3-d2
Kf6-e5 Kd2-c3) -17.32/8 0} Kg7 {(Kg6-g7 Kc4-b3 Qe5-d5+ Kb3-a4 Kg7-f6 Ka4-a3
Qd5-a5+ Ka3-b3 Qa5-a1 Kb3-b4) +62.19/8 0} 53. Kd3 {(Kc4-d3 Qe5-f4 Kd3-c3
Qf4-e3+ Kc3-c4 Kg7-f6 Kc4-b5 Kf6-e5 Kb5-c4) -17.12/8 0} Kf8 {(Kg7-f8 Kd3-c2
h7-h6 Kc2-b3 Kf8-f7 Kb3-b4 d7-d6 Kb4-c4) +62.13/8 0} 54. Kc4 {(Kd3-c4
Qe5-d5+ Kc4-c3 Kf8-e7 Kc3-b4 Qd5-d4+ Kb4-b5 Ke7-d6 Kb5-a6 Qd4-e4) -17.27/8
0} Ke7 {(Kf8-e7 Kc4-b4 Qe5-d5 Kb4-a3 h7-h6 Ka3-b4 Qd5-a2 Kb4-c5) +62.46/8
0} 55. Kd3 {(Kc4-d3 Ke7-d6 Kd3-d2 Qe5-e4 Kd2-c3 Qe4-d5 Kc3-c2 Qd5-e4+)
-17.30/8 0} Kd6 {(Ke7-d6 Kd3-c2 Qe5-c5+ Kc2-b3 Qc5-d5+ Kb3-a4 Qd5-f5 Ka4-b4
Qf5-c2 Kb4-a3) +62.55/8 0} 56. Kd2 {(Kd3-d2 Qe5-e4 Kd2-c3 Kd6-e5 Kc3-b3
Qe4-d3+ Kb3-b4 Ke5-d6 Kb4-a5) -17.35/8 0} Qd4+ {(Qe5-d4+ Kd2-c2 Kd6-e7
Kc2-b3 Qd4-g4 Kb3-b2 Qg4-b4+ Kb2-a1 Qb4-b5 Ka1-a2) +62.71/8 0} 57. Ke2
{(Kd2-e2 Qd4-e4+ Ke2-d2 Kd6-c5 Kd2-d1 Qe4-d4+ Kd1-e2 Kc5-d5 Ke2-f3 Qd4-e4+
Kf3-g3 Kd5-e5) -17.34/8 0} Qf4 {(Qd4-f4 Ke2-d3 Kd6-e7 Kd3-e2 Qf4-h4 Ke2-f3
h7-h6 Kf3-g2) +62.74/8 0} 58. Kd3 {(Ke2-d3 Kd6-d5 Kd3-e2 Qf4-e4+ Ke2-f2
Kd5-d6 Kf2-g3 Kd6-e5 Kg3-h3) -17.34/8 0} Kc7 {(Kd6-c7 Kd3-c3 Qf4-a4 Kc3-d3
Kc7-b7 Kd3-c3 Qa4-b5 Kc3-d2) +62.73/8 0} 59. Kc3 {(Kd3-c3 Qf4-e4 Kc3-d2
Kc7-d6 Kd2-c3 Qe4-d5 Kc3-c2 Qd5-f3) -17.23/8 0} h6 {(h7-h6 Kc3-d3 Kc7-d6
Kd3-c3 Kd6-e7 Kc3-b2 Qf4-e3 Kb2-a1) +62.74/8 0} 60. Kd3 {(Kc3-d3 Kc7-d6
Kd3-c3 Qf4-e4 Kc3-d2 Kd6-e5 Kd2-c3 Ke5-d5) -16.78/8 0} Qb4 {(Qf4-b4 Kd3-e2
Kc7-b7 Ke2-f3 h6-h5 Kf3-g3 Kb7-a8 Kg3-h3) +62.48/8 0} 61. Ke3 {(Kd3-e3
Qb4-g4 Ke3-d3 Kc7-d6 Kd3-e3 Qg4-c4 Ke3-f3 Qc4-d5+) -16.65/8 0} Qc4 {(Qb4-c4
Ke3-f2 Qc4-e4 Kf2-g3 h6-h5 Kg3-h2 Qe4-f3 Kh2-g1) +62.63/8 0} 62. Kf3
{(Ke3-f3 Qc4-d4 Kf3-e2 Qd4-e4+ Ke2-d2 Kc7-d6 Kd2-c3 Qe4-d5 Kc3-c2) -16.75/8
0} h5 {(h6-h5 Kf3-g3 Kc7-d6 Kg3-g2 Kd6-e7 Kg2-g3 Qc4-d4 Kg3-g2) +62.63/8 0}
63. Ke3 {(Kf3-e3 Kc7-d6 Ke3-d2 Kd6-e5 Kd2-e1 Qc4-e4+ Ke1-d1 Qe4-d3+ Kd1-e1
Ke5-d6) -16.62/8 0} Kd6 {(Kc7-d6 Ke3-f3 Qc4-b4 Kf3-e3 Kd6-e7 Ke3-d3 Ke7-f8
Kd3-c2) +62.44/8 0} 64. Kf3 {(Ke3-f3 Kd6-e5 Kf3-f2 Qc4-h4+ Kf2-g2 Qh4-d4
Kg2-g3 Qd4-e4 Kg3-h3) -16.64/8 0} Qc3+ {(Qc4-c3+ Kf3-f4 Qc3-c1+ Kf4-g3
Qc1-d1 Kg3-g2 Kd6-e7 Kg2-g3 Qd1-d2 Kg3-h4) +62.45/8 0} 65. Ke4 {(Kf3-e4
Qc3-e5+ Ke4-d3 Kd6-e7 Kd3-c4 Qe5-d5+ Kc4-c3 Qd5-e4 Kc3-d2 Ke7-d6 Kd2-c3)
-16.58/8 0} Ke7 {(Kd6-e7 Ke4-f4 Qc3-c5 Kf4-e4 Qc5-c1 Ke4-d4 Ke7-f8 Kd4-e5)
+62.19/8 1} 66. Kf4 {(Ke4-f4 Qc3-d4+ Kf4-g3 h5-h4+ Kg3-h3 Ke7-d6 Kh3-g2
Qd4-g4+ Kg2-f2 Qg4-e4 Kf2-g1) -16.70/8 0} Kf6 {(Ke7-f6 Kf4-e4 d7-d5+ Ke4-f4
e6-e5+) +M3/7 0} 67. Ke4 {(Kf4-e4 d7-d5+ Ke4-f4 e6-e5+) -M3/8 0} d5+
{(d7-d5+ Ke4-f4 e6-e5+) +M2/8 0} 68. Kf4 {(Ke4-f4 e6-e5+) -M2/8 0} e5#
{(e6-e5+) +M1/8 0} 0-1
[/pgn]
There are still lots of improvements, but it now already works as a proof of concept.
Yeah, almost forgot - here's a link to YouTube series:
https://www.youtube.com/watch?v=zieTAE2 ... gMaG24HTc4
First of all I'd like to thank Daniel Shawul for creating NNUE probe library based on CFish's code.
https://github.com/dshawul/nnue-probe
because without this library my work would never exist.
I've just made a quick and dirty embedding of SF NNUE to my engine BBC and results are fantastic,
here's the example game:
[pgn][Event "Computer chess game"]
[Site "maksim-Inspiron-3582"]
[Date "2020.10.17"]
[Round "?"]
[White "BBC 1.2"]
[Black "BBC NNUE"]
[Result "0-1"]
[BlackElo "2200"]
[ECO "B45"]
[Opening "Sicilian"]
[Time "12:49:05"]
[Variation "Taimanov, Four Knights, 6.Nxc6 bxc6 7.e5 Nd5"]
[WhiteElo "2000"]
[Termination "normal"]
[PlyCount "136"]
[WhiteType "program"]
[BlackType "program"]
1. e4 {(e2-e4 d7-d5 e4xd5 Ng8-f6 d2-d4 Nf6xd5 Bf1-b5+ Bc8-d7 Bb5-d3)
+0.11/8 0} c5 {(c7-c5 c2-c3 Ng8-f6 e4-e5 Nf6-d5 Ng1-f3 e7-e6 Bf1-d3)
-0.60/8 2} 2. Nc3 {(Nb1-c3 e7-e6 Ng1-f3 Nb8-c6 Bf1-c4 Bf8-d6 O-O Ng8-f6)
+0.50/8 0} Nc6 {(Nb8-c6 Ng1-f3 Ng8-f6 d2-d4 c5xd4 Nf3xd4 e7-e6 Nd4-b5)
-0.63/8 2} 3. Nf3 {(Ng1-f3 Ng8-f6 Bf1-c4 e7-e6 O-O d7-d5 e4xd5 e6xd5)
+0.51/8 0} Nf6 {(Ng8-f6 d2-d4 c5xd4 Nf3xd4 e7-e6 Bf1-e2 Bf8-b4 Nd4xc6)
-0.26/8 7} 4. d4 {(d2-d4 c5xd4 Nf3xd4 d7-d5 Nd4xc6 b7xc6 Bc1-f4 Bc8-g4)
+0.34/8 1} cxd4 {(c5xd4 Nf3xd4 e7-e6 Bf1-e2 Bf8-b4 Nd4xc6 b7xc6) -0.26/7 3}
5. Nxd4 {(Nf3xd4 e7-e5 Nd4xc6 b7xc6 Bf1-c4 d7-d5 e4xd5 Bc8-g4) +0.57/8 0}
e6 {(e7-e6 Bc1-f4 Bf8-b4 Nd4-b5 O-O a2-a3 Bb4-a5 Qd1-f3) -0.67/8 19} 6.
Nxc6 {(Nd4xc6 b7xc6 Bf1-d3 d7-d5 e4-e5 d5-d4 e5xf6 d4xc3) +0.62/8 0} bxc6
{(b7xc6 e4-e5 Nf6-d5 Nc3xd5 c6xd5 Bf1-d3 Qd8-c7 Bc1-f4) -0.05/8 3} 7. e5
{(e4-e5 Nf6-d5 Nc3xd5 c6xd5 Bc1-e3 Bc8-b7 Bf1-d3 d5-d4) +0.51/8 1} Nd5
{(Nf6-d5 Nc3xd5 c6xd5 Bf1-d3 Qd8-a5+ Bc1-d2 Qa5-b6 O-O Qb6xb2) +0.12/8 2}
8. Nxd5 {(Nc3xd5 c6xd5 Bf1-d3 Bf8-e7 Bc1-e3 Ra8-b8 b2-b3 O-O) +0.64/8 0}
cxd5 {(c6xd5 Bf1-d3 Qd8-a5+ Bc1-d2 Qa5-b6 Ra1-b1 Bc8-a6 O-O Ba6xd3) -0.26/8
4} 9. Bd3 {(Bf1-d3 Bc8-b7 O-O Bf8-c5 Qd1-h5 Ra8-c8 Bc1-g5 Qd8-c7) +0.69/8
0} Qa5+ {(Qd8-a5+ Bc1-d2 Qa5-b6 Ra1-b1 Bc8-a6 O-O Ba6xd3 c2xd3 Bf8-e7)
-0.16/8 6} 10. Bd2 {(Bc1-d2 Qa5-c7 Qd1-h5 Bf8-c5 O-O g7-g6 Qh5-g5 Bc5-d4
Ra1-e1) +0.77/8 1} Qb6 {(Qa5-b6 Ra1-b1 Bc8-a6 O-O Ba6xd3 c2xd3 Qb6-a6
Qd1-b3) +0.13/8 2} 11. Rb1 {(Ra1-b1 Bf8-c5 O-O O-O a2-a4 Bc5-d4 a4-a5
Qb6-c7) +0.70/8 1} Ba6 {(Bc8-a6 O-O Ba6xd3 c2xd3 Bf8-c5 b2-b4 Bc5-d4
Qd1-h5) +0.27/8 3} 12. O-O {(O-O Ba6xd3 c2xd3 Ra8-c8 Qd1-g4 Qb6-a6 d3-d4
Qa6xa2) +0.58/8 0} Bxd3 {(Ba6xd3 c2xd3 Qb6-a6 Qd1-b3 Bf8-e7 d3-d4 O-O
Rf1-c1) +0.48/8 2} 13. cxd3 {(c2xd3 Ra8-c8 Rb1-c1 Rc8xc1 Qd1xc1 Bf8-c5
Bd2-e3 Bc5xe3) +0.47/8 0} Qa6 {(Qb6-a6 Bd2-c3 Bf8-e7 Rb1-a1 O-O d3-d4
Rf8-b8 Qd1-g4) +0.96/8 3} 14. Qb3 {(Qd1-b3 Bf8-e7 Rf1-c1 O-O Rc1-c7 Ra8-b8
Qb3-c2 Rb8-c8) +0.71/8 0} Be7 {(Bf8-e7 Rf1-c1 O-O Rc1-c7 Rf8-b8 Qb3-c2
Rb8-c8 Rb1-d1) +1.35/8 3} 15. Rbc1 {(Rb1-c1 O-O a2-a3 Ra8-b8 Qb3-c3 Rb8-c8
Qc3-d4 Qa6-b6) +0.41/8 0} O-O {(O-O a2-a3 Ra8-b8 Qb3-c3 Rf8-c8 Qc3-d4
Rc8-c6 g2-g3) +1.83/8 2} 16. a3 {(a2-a3 Ra8-b8 Qb3-c3 d7-d6 Bd2-f4 d6xe5
Bf4xe5 Rb8-c8) +0.33/8 0} Rab8 {(Ra8-b8 Qb3-c3 Rf8-c8 Qc3-d4 d7-d6 e5xd6
Be7xd6 g2-g3) +1.85/8 3} 17. Qc3 {(Qb3-c3 Rf8-c8 Qc3-d4 Qa6-b6 Qd4xb6 a7xb6
Bd2-e3 b6-b5) +0.39/8 0} Rfc8 {(Rf8-c8 Qc3-d4 Rc8-c6 b2-b4 Qa6xa3 Rc1-a1
Qa3-b3 Qd4xa7) +1.86/8 5} 18. Qd4 {(Qc3-d4 d7-d6 Bd2-f4 Rc8xc1 Rf1xc1
Rb8-b3 Rc1-d1 d6xe5) +0.33/8 0} Bd8 {(Be7-d8 Rc1xc8 Rb8xc8 Rf1-c1 Rc8xc1+
Bd2xc1 Bd8-b6 Qd4-c3 Qa6-a4) +3.42/8 7} 19. Rxc8 {(Rc1xc8 Rb8xc8 Rf1-c1
Rc8xc1+ Bd2xc1 Bd8-b6 Qd4-c3 d5-d4 Qc3-c2) +0.11/8 0} Rxc8 {(Rb8xc8 Rf1-c1
Rc8xc1+ Bd2xc1 f7-f6 e5xf6 Bd8xf6 Qd4-e3 h7-h6) +1.82/8 1} 20. Rc1 {(Rf1-c1
Rc8xc1+ Bd2xc1 Bd8-b6 Qd4-c3 d5-d4 Qc3-b3 Bb6-c5 Bc1-f4) +0.26/8 0} Rxc1+
{(Rc8xc1+ Bd2xc1 f7-f6 e5xf6 Bd8xf6 Qd4-e3 Qa6-a4 b2-b4) +1.51/7 0} 21.
Bxc1 {(Bd2xc1 Qa6-c8 Qd4-c3 Qc8xc3 b2xc3 Bd8-e7 a3-a4 Be7-c5 Bc1-f4)
-0.00/8 0} f6 {(f7-f6 Bc1-f4 h7-h6 Qd4-c3 Qa6-a4 g2-g3 Qa4-d1+ Kg1-g2
Kg8-h7) +1.63/8 3} 22. Bf4 {(Bc1-f4 Bd8-b6 Qd4-c3 Qa6-a4 Qc3-c1 Kg8-f7
e5xf6 Kf7xf6) +0.62/8 0} Qa5 {(Qa6-a5 Qd4-e3 g7-g5 Bf4-g3 f6-f5 Qe3-c1
f5-f4) +3.23/7 2} 23. Qe3 {(Qd4-e3 Qa5-b5 b2-b4 Bd8-b6 Qe3-g3 Bb6-d4 e5xf6
Bd4xf6) +0.37/8 0} g5 {(g7-g5 Bf4-g3 f6-f5 Qe3-c1 Qa5-c7 Qc1-d2 Qc7-b6)
+1.86/7 0} 24. Bg3 {(Bf4-g3 Qa5-b6 Qe3-c1 Qb6-c6 Qc1-d1 Bd8-e7 Qd1-g4
Qc6-c1+) +0.51/8 0} f5 {(f6-f5 f2-f4 Bd8-b6 d3-d4 Qa5-a4 Bg3-f2 Qa4-d1+
Qe3-e1 Qd1xe1+) +8.01/8 0} 25. f4 {(f2-f4 Qa5-b6 Qe3-f2 g5-g4 a3-a4 Bd8-e7
h2-h3 Qb6xf2+) +0.19/8 0} Bb6 {(Bd8-b6 d3-d4 Qa5-a4 Bg3-f2 Qa4-d1+ Qe3-e1
Qd1xe1+ Bf2xe1 Bb6xd4+) +8.01/7 0} 26. d4 {(d3-d4 Qa5-a4 Kg1-h1 Qa4-d1+
Qe3-e1 Qd1xe1+ Bg3xe1 Bb6xd4 Be1-c3 Bd4xc3) -1.76/8 0} Qa4 {(Qa5-a4 Bg3-f2
Qa4-d1+ Qe3-e1 Qd1xe1+ Bf2xe1 Bb6xd4+ Be1-f2 Bd4xb2 Bf2xa7) +11.75/7 1} 27.
Kf1 {(Kg1-f1 Bb6xd4 Qe3-e2 g5xf4 Bg3-f2 Bd4xf2 Kf1xf2 Qa4-e4) -2.27/8 0}
Bxd4 {(Bb6xd4 Qe3-e2 g5xf4 Bg3-e1 Bd4-e3 Be1-c3 d5-d4 Qe2-h5) +15.42/8 0}
28. Qe2 {(Qe3-e2 g5xf4 Bg3-f2 Bd4xe5 Qe2xe5 Qa4-d1+ Qe5-e1 Qd1xe1+ Kf1xe1
a7-a5) -2.36/8 0} gxf4 {(g5xf4 Bg3-e1 Qa4-c6 b2-b4 Qc6-c7 Qe2-h5 Bd4xe5)
+15.22/7 0} 29. Bf2 {(Bg3-f2 Bd4xf2 Kf1xf2 Qa4-d4+ Kf2-f3 Kg8-f7 h2-h3
a7-a5 h3-h4) -2.31/8 0} Bxf2 {(Bd4xf2 Qe2xf2 Qa4-d1+ Qf2-e1 Qd1xe1+ Kf1xe1
Kg8-f7 Ke1-f2 Kf7-g7 Kf2-f3) +15.28/8 0} 30. Kxf2 {(Kf1xf2 Qa4-d4+ Kf2-f3
Kg8-f7 b2-b4 h7-h5 h2-h3 h5-h4 b4-b5) -2.31/8 0} Kg7 {(Kg8-g7 Qe2-d2 Qa4-e4
Qd2-c3 Qe4-c4 Qc3xc4 d5xc4) +14.36/7 0} 31. Kf3 {(Kf2-f3 Qa4-d4 b2-b4
Kg7-f7 h2-h4 h7-h5 b4-b5 Kf7-e7) -2.20/8 0} Qd4 {(Qa4-d4 h2-h3 Kg7-g6 b2-b4
h7-h5 h3-h4 Qd4-c3+ Kf3xf4 Qc3xa3) +16.80/8 0} 32. b4 {(b2-b4 Kg7-f7 b4-b5
h7-h5 h2-h3 h5-h4 Qe2-e1 Kf7-g6) -2.25/8 0} Kg6 {(Kg7-g6 h2-h4 Kg6-h5
Qe2-e1 a7-a6 a3-a4 Kh5-g6 b4-b5) +17.05/8 1} 33. h4 {(h2-h4 Kg6-h5 Qe2-e1
Qd4-e4+ Qe1xe4 f5xe4+ Kf3xf4 Kh5xh4 g2-g3+ Kh4-h3 b4-b5) -2.60/8 0} a6
{(a7-a6 Qe2-e1 h7-h6 a3-a4 Qd4-c4 a4-a5 Qc4-c2 b4-b5) +16.71/8 0} 34. Qe1
{(Qe2-e1 Kg6-h5 a3-a4 Kh5-h6 b4-b5 Qd4-d3+ Kf3xf4 a6xb5 a4xb5) -2.23/8 0}
Qd3+ {(Qd4-d3+ Kf3xf4 Qd3xa3 Qe1-d2 Qa3-a1 g2-g3 Qa1-f1+ Kf4-e3 h7-h6
Qd2-d4) +18.43/8 0} 35. Kxf4 {(Kf3xf4 Qd3-d4+ Kf4-f3 Qd4-g4+ Kf3-f2 Qg4xh4+
g2-g3 Qh4-e4 Qe1xe4 f5xe4 Kf2-e3 h7-h5) -2.46/8 0} Qxa3 {(Qd3xa3 Qe1-d2
h7-h6 Qd2-d4 Qa3-c1+ Kf4-g3 Qc1-c4 Qd4xc4) +16.79/7 0} 36. Qd2 {(Qe1-d2
Qa3-b3 Qd2-d4 Qb3-c4 Kf4-e3 Qc4xd4+ Ke3xd4 f5-f4 Kd4-d3) -2.30/8 0} Qb3
{(Qa3-b3 Qd2-e1 Qb3-c4+ Kf4-g3 Qc4-e4 Qe1xe4 f5xe4 Kg3-f4 Kg6-h5) +21.53/8
1} 37. Qd4 {(Qd2-d4 Qb3-c2 g2-g3 Qc2-e4+ Qd4xe4 f5xe4 g3-g4 h7-h6 h4-h5+)
-2.37/8 0} Qc4 {(Qb3-c4 Kf4-e3 Qc4xd4+ Ke3xd4 f5-f4 Kd4-c5 Kg6-f5 Kc5-d6
d5-d4) +24.76/8 0} 38. Qxc4 {(Qd4xc4 d5xc4 Kf4-e3 f5-f4+ Ke3xf4 c4-c3 g2-g4
c3-c2 Kf4-e4) -2.30/8 0} dxc4 {(d5xc4 g2-g3 Kg6-h5 Kf4-f3 h7-h6 Kf3-f4
c4-c3 Kf4-e3) +24.97/8 0} 39. g4 {(g2-g4 f5xg4 Kf4xg4 c4-c3 h4-h5+ Kg6-h6
Kg4-h4 c3-c2 Kh4-g4) -3.56/8 0} fxg4 {(f5xg4 Kf4xg4 Kg6-h6 h4-h5 c4-c3
Kg4-h4 c3-c2 Kh4-g4) +32.64/8 0} 40. Kxg4 {(Kf4xg4 c4-c3 h4-h5+ Kg6-h6
b4-b5 a6xb5 Kg4-h4 c3-c2 Kh4-g4) -5.39/8 0} c3 {(c4-c3 b4-b5 a6xb5 h4-h5+
Kg6-h6 Kg4-f4 c3-c2 Kf4-e4 c2-c1Q) +52.97/8 0} 41. b5 {(b4-b5 a6xb5 Kg4-f4
c3-c2 Kf4-e4 c2-c1Q Ke4-d4 Kg6-h6) -12.44/8 0} c2 {(c3-c2 b5xa6 c2-c1Q
h4-h5+ Kg6-h6 a6-a7 Qc1-g5+ Kg4-h3 Qg5-d8 Kh3-g4) +46.51/8 0} 42. h5+
{(h4-h5+ Kg6-h6 b5xa6 c2-c1Q a6-a7 Qc1-a3 a7-a8Q Qa3xa8 Kg4-h4) -10.34/8 0}
Kh6 {(Kg6-h6 b5xa6 c2-c1Q a6-a7 Qc1-h1 Kg4-g3 Qh1-a8 Kg3-h4) +50.24/7 0}
43. bxa6 {(b5xa6 c2-c1Q a6-a7 Qc1-a3 a7-a8R Qa3xa8 Kg4-h4) -10.34/7 0} c1=Q
{(c2-c1Q a6-a7 Qc1-a1 a7-a8Q Qa1xa8 Kg4-f4 Qa8-a2) +51.75/7 0} 44. Kf3
{(Kg4-f3 Qc1-a3+ Kf3-f4 Qa3xa6 Kf4-e3 Kh6xh5 Ke3-e4 d7-d5+ Ke4-e3 Qa6-f1)
-13.60/8 0} Kxh5 {(Qc1-f1+ Kf3-g3 Qf1xa6 Kg3-g4 Qa6-a2 Kg4-h4 Qa2-a3
Kh4-g4) +59.50/7 0} 45. Ke4 {(Kf3-e4 Qc1-c6+ Ke4-f4 Qc6xa6 Kf4-e4 d7-d5+
e5xd6/ep Qa6xd6 Ke4-e3 Qd6-d5) -14.04/8 0} Qa3 {(Kh5-g6 a6-a7 Qc1-a3 Ke4-f4
Qa3xa7 Kf4-f3 Qa7-a2) +59.77/7 0} 46. a7 {(a6-a7 Qa3xa7 Ke4-d3 Qa7-c5
Kd3-e4 Kh5-g4 Ke4-d3 Qc5xe5) -16.62/8 0} Qxa7 {(Qa3xa7 Ke4-f3 Qa7-a2 Kf3-g3
Kh5-h6 Kg3-h4 Kh6-g6) +59.61/7 0} 47. Kd3 {(Ke4-d3 Qa7-a3+ Kd3-e4 Qa3-b2
Ke4-d3 Qb2xe5 Kd3-c4 Qe5-d5+ Kc4-c3 Kh5-h4) -16.94/8 0} Qa6+ {(Qa7-a6+
Kd3-c3 Qa6-b5 Kc3-d4 h7-h6 Kd4-e4 Qb5-d5+ Ke4-f4 Qd5-b3 Kf4-e4) +61.16/8 0}
48. Ke3 {(Kd3-e3 Qa6-b6+ Ke3-e4 Qb6-c5 Ke4-d3 Qc5xe5 Kd3-c4 Qe5-d5+ Kc4-b4
Kh5-h4 Kb4-c3) -16.94/8 0} Qa1 {(Qa6-a1 Ke3-f4 h7-h6 Kf4-g3 Qa1-b2 Kg3-f4
Qb2-b3 Kf4-e4) +61.16/8 0} 49. Ke4 {(Ke3-e4 Kh5-h4 Ke4-e3 Qa1xe5+ Ke3-f3
Qe5-d5+ Kf3-f4 Qd5-d4+ Kf4-f3 Qd4-d3+ Kf3-f4 Kh4-h3) -17.03/8 0} Qb2
{(Qa1-b2 Ke4-f4 Qb2-b3 Kf4-e4 h7-h6 Ke4-f4 Qb3-h3 Kf4-e4) +61.21/8 0} 50.
Ke3 {(Ke4-e3 Qb2xe5+ Ke3-d3 Qe5-d5+ Kd3-e3 Kh5-h4 Ke3-f4 Qd5-d4+ Kf4-f3
Qd4-d3+ Kf3-f4 Kh4-h3) -17.03/8 0} Qxe5+ {(Qb2xe5+ Ke3-f2 Qe5-c5+ Kf2-g2
Qc5-f5 Kg2-h2 Qf5-f4+ Kh2-g2 Qf4-g4+ Kg2-h1 h7-h6 Kh1-h2) +62.33/8 0} 51.
Kd3 {(Ke3-d3 Kh5-h4 Kd3-d2 Qe5-e4 Kd2-c3 Kh4-g3 Kc3-d2 Kg3-f3 Kd2-c3)
-17.24/8 0} Kg6 {(Kh5-g6 Kd3-d2 d7-d6 Kd2-d3 Kg6-g7 Kd3-c4 Qe5-f5 Kc4-b4)
+62.29/8 0} 52. Kc4 {(Kd3-c4 Kg6-f5 Kc4-d3 Qe5-e4+ Kd3-c3 Kf5-f6 Kc3-d2
Kf6-e5 Kd2-c3) -17.32/8 0} Kg7 {(Kg6-g7 Kc4-b3 Qe5-d5+ Kb3-a4 Kg7-f6 Ka4-a3
Qd5-a5+ Ka3-b3 Qa5-a1 Kb3-b4) +62.19/8 0} 53. Kd3 {(Kc4-d3 Qe5-f4 Kd3-c3
Qf4-e3+ Kc3-c4 Kg7-f6 Kc4-b5 Kf6-e5 Kb5-c4) -17.12/8 0} Kf8 {(Kg7-f8 Kd3-c2
h7-h6 Kc2-b3 Kf8-f7 Kb3-b4 d7-d6 Kb4-c4) +62.13/8 0} 54. Kc4 {(Kd3-c4
Qe5-d5+ Kc4-c3 Kf8-e7 Kc3-b4 Qd5-d4+ Kb4-b5 Ke7-d6 Kb5-a6 Qd4-e4) -17.27/8
0} Ke7 {(Kf8-e7 Kc4-b4 Qe5-d5 Kb4-a3 h7-h6 Ka3-b4 Qd5-a2 Kb4-c5) +62.46/8
0} 55. Kd3 {(Kc4-d3 Ke7-d6 Kd3-d2 Qe5-e4 Kd2-c3 Qe4-d5 Kc3-c2 Qd5-e4+)
-17.30/8 0} Kd6 {(Ke7-d6 Kd3-c2 Qe5-c5+ Kc2-b3 Qc5-d5+ Kb3-a4 Qd5-f5 Ka4-b4
Qf5-c2 Kb4-a3) +62.55/8 0} 56. Kd2 {(Kd3-d2 Qe5-e4 Kd2-c3 Kd6-e5 Kc3-b3
Qe4-d3+ Kb3-b4 Ke5-d6 Kb4-a5) -17.35/8 0} Qd4+ {(Qe5-d4+ Kd2-c2 Kd6-e7
Kc2-b3 Qd4-g4 Kb3-b2 Qg4-b4+ Kb2-a1 Qb4-b5 Ka1-a2) +62.71/8 0} 57. Ke2
{(Kd2-e2 Qd4-e4+ Ke2-d2 Kd6-c5 Kd2-d1 Qe4-d4+ Kd1-e2 Kc5-d5 Ke2-f3 Qd4-e4+
Kf3-g3 Kd5-e5) -17.34/8 0} Qf4 {(Qd4-f4 Ke2-d3 Kd6-e7 Kd3-e2 Qf4-h4 Ke2-f3
h7-h6 Kf3-g2) +62.74/8 0} 58. Kd3 {(Ke2-d3 Kd6-d5 Kd3-e2 Qf4-e4+ Ke2-f2
Kd5-d6 Kf2-g3 Kd6-e5 Kg3-h3) -17.34/8 0} Kc7 {(Kd6-c7 Kd3-c3 Qf4-a4 Kc3-d3
Kc7-b7 Kd3-c3 Qa4-b5 Kc3-d2) +62.73/8 0} 59. Kc3 {(Kd3-c3 Qf4-e4 Kc3-d2
Kc7-d6 Kd2-c3 Qe4-d5 Kc3-c2 Qd5-f3) -17.23/8 0} h6 {(h7-h6 Kc3-d3 Kc7-d6
Kd3-c3 Kd6-e7 Kc3-b2 Qf4-e3 Kb2-a1) +62.74/8 0} 60. Kd3 {(Kc3-d3 Kc7-d6
Kd3-c3 Qf4-e4 Kc3-d2 Kd6-e5 Kd2-c3 Ke5-d5) -16.78/8 0} Qb4 {(Qf4-b4 Kd3-e2
Kc7-b7 Ke2-f3 h6-h5 Kf3-g3 Kb7-a8 Kg3-h3) +62.48/8 0} 61. Ke3 {(Kd3-e3
Qb4-g4 Ke3-d3 Kc7-d6 Kd3-e3 Qg4-c4 Ke3-f3 Qc4-d5+) -16.65/8 0} Qc4 {(Qb4-c4
Ke3-f2 Qc4-e4 Kf2-g3 h6-h5 Kg3-h2 Qe4-f3 Kh2-g1) +62.63/8 0} 62. Kf3
{(Ke3-f3 Qc4-d4 Kf3-e2 Qd4-e4+ Ke2-d2 Kc7-d6 Kd2-c3 Qe4-d5 Kc3-c2) -16.75/8
0} h5 {(h6-h5 Kf3-g3 Kc7-d6 Kg3-g2 Kd6-e7 Kg2-g3 Qc4-d4 Kg3-g2) +62.63/8 0}
63. Ke3 {(Kf3-e3 Kc7-d6 Ke3-d2 Kd6-e5 Kd2-e1 Qc4-e4+ Ke1-d1 Qe4-d3+ Kd1-e1
Ke5-d6) -16.62/8 0} Kd6 {(Kc7-d6 Ke3-f3 Qc4-b4 Kf3-e3 Kd6-e7 Ke3-d3 Ke7-f8
Kd3-c2) +62.44/8 0} 64. Kf3 {(Ke3-f3 Kd6-e5 Kf3-f2 Qc4-h4+ Kf2-g2 Qh4-d4
Kg2-g3 Qd4-e4 Kg3-h3) -16.64/8 0} Qc3+ {(Qc4-c3+ Kf3-f4 Qc3-c1+ Kf4-g3
Qc1-d1 Kg3-g2 Kd6-e7 Kg2-g3 Qd1-d2 Kg3-h4) +62.45/8 0} 65. Ke4 {(Kf3-e4
Qc3-e5+ Ke4-d3 Kd6-e7 Kd3-c4 Qe5-d5+ Kc4-c3 Qd5-e4 Kc3-d2 Ke7-d6 Kd2-c3)
-16.58/8 0} Ke7 {(Kd6-e7 Ke4-f4 Qc3-c5 Kf4-e4 Qc5-c1 Ke4-d4 Ke7-f8 Kd4-e5)
+62.19/8 1} 66. Kf4 {(Ke4-f4 Qc3-d4+ Kf4-g3 h5-h4+ Kg3-h3 Ke7-d6 Kh3-g2
Qd4-g4+ Kg2-f2 Qg4-e4 Kf2-g1) -16.70/8 0} Kf6 {(Ke7-f6 Kf4-e4 d7-d5+ Ke4-f4
e6-e5+) +M3/7 0} 67. Ke4 {(Kf4-e4 d7-d5+ Ke4-f4 e6-e5+) -M3/8 0} d5+
{(d7-d5+ Ke4-f4 e6-e5+) +M2/8 0} 68. Kf4 {(Ke4-f4 e6-e5+) -M2/8 0} e5#
{(e6-e5+) +M1/8 0} 0-1
[/pgn]
There are still lots of improvements, but it now already works as a proof of concept.
Yeah, almost forgot - here's a link to YouTube series:
https://www.youtube.com/watch?v=zieTAE2 ... gMaG24HTc4