One of the problems so far is we haven't been able to compare Leela's endgame play with another NN engine. Is it an issue with the value head, policy head, MCTS or the training process? Chess Fighter uses all of the above and doesn't display any such issues.
First of all here is CF's continuation after 120. ... Ke3:
[pgn][Event "Computer chess game"]
[Site "DESKTOP-8549RR7"]
[Date "2019.03.15"]
[Round "?"]
[White "Chess Fighter (net 14175)"]
[Black "Stockfish_10"]
[Result "*"]
[BlackElo "3400"]
[Time "08:53:31"]
[WhiteElo "2500"]
[TimeControl "120+3"]
[SetUp "1"]
[FEN "1K6/8/3B2p1/8/8/4k2P/6P1/8 w - - 0 1"]
[Termination "normal"]
[PlyCount "41"]
[WhiteType "human"]
[BlackType "human"]
1. h4 {+5.52/25 7} Ke4 {(Ke3-e4 Kb8-c7 Ke4-f5 g2-g3 Kf5-e6 g3-g4 Ke6-f7
Kc7-d7 Kf7-f6 Bd6-b8 g6-g5 h4-h5 Kf6-f7 Bb8-g3 Kf7-f8 Bg3-d6+ Kf8-f7 Bd6-e7
Kf7-g8 Kd7-e6 Kg8-g7 Be7xg5 Kg7-g8 Ke6-e7 Kg8-g7 h5-h6+ Kg7-g6 Bg5-f4
Kg6-h7 Ke7-f7 Kh7-h8 g4-g5 Kh8-h7 g5-g6+ Kh7-h8 Bf4-e5+) -M18/44 8} 2. g4
{+6.33/23 6} Kd5 {(Ke4-d5 Kb8-c7 Kd5-e6 Kc7-c6 Ke6-f7 Kc6-d7 Kf7-f6 Bd6-c7
g6-g5 h4-h5 Kf6-f7 Bc7-d8 Kf7-g7 Kd7-e6 Kg7-f8 Bd8-f6 Kf8-g8 h5-h6 Kg8-h7
Bf6xg5 Kh7-g6 Bg5-f4 Kg6-h7 Ke6-f7 Kh7-h8 g4-g5 Kh8-h7 g5-g6+ Kh7-h8
Bf4-e5+) -M15/41 1} 3. Kc7 {+6.48/22 6} Ke6 {(Kd5-e6 Kc7-c6 Ke6-f7 Kc6-d7
Kf7-f6 Bd6-c7 g6-g5 h4-h5 Kf6-f7 Bc7-d8 Kf7-g7 Kd7-e6 Kg7-f8 Bd8-f6 Kf8-g8
h5-h6 Kg8-h7 Bf6xg5 Kh7-g6 Bg5-f4 Kg6-h7 Ke6-f7 Kh7-h8 g4-g5 Kh8-h7 g5-g6+
Kh7-h8 Bf4-e5+) -M14/48 5} 4. Bf4 {+6.62/20 6} Ke7 {(Ke6-e7 h4-h5 g6xh5
g4xh5 Ke7-f6 h5-h6 Kf6-g6 Kc7-d6 Kg6-f6 Kd6-d5 Kf6-f7 Kd5-e5 Kf7-g6 Ke5-e6
Kg6-h5 h6-h7 Kh5-g4 Ke6-e5 Kg4-f3 h7-h8Q Kf3-g2 Qh8-h2+ Kg2-f3 Ke5-d5
Kf3-g4 Qh2-g3+ Kg4-f5 Qg3-g5+) -M14/44 7} 5. Bh6 {+7.31/26 6} Ke6 {(Ke7-e6
Bh6-f4 Ke6-e7 h4-h5 g6xh5 g4xh5 Ke7-f6 Kc7-d6 Kf6-f5 h5-h6 Kf5-f6 Kd6-d5
Kf6-f7 Kd5-e5 Kf7-g6 Ke5-e6 Kg6-h5 h6-h7 Kh5-g4 Ke6-e5 Kg4-f3 h7-h8Q Kf3-g2
Qh8-h2+ Kg2-f3 Ke5-d5 Kf3-g4 Qh2-g3+ Kg4-f5 Qg3-g5+) -M15/47 3} 6. Kd8
{+7.71/25 6} Kf6 {(Ke6-f6 Bh6-g5+ Kf6-e6 h4-h5 g6xh5 g4xh5 Ke6-f5 h5-h6
Kf5-g6 Kd8-e7 Kg6xg5 h6-h7 Kg5-f4 h7-h8Q Kf4-e4 Qh8-c3 Ke4-d5 Qc3-d2+
Kd5-c5 Ke7-d7 Kc5-c4 Kd7-c6 Kc4-b3 Kc6-c5 Kb3-a3 Kc5-c4 Ka3-a4 Qd2-a2+)
-M14/46 3} 7. Ke8 {+8.09/24 6} Ke6 {(Kf6-e6 Bh6-g5 Ke6-d6 h4-h5 g6xh5 g4xh5
Kd6-e6 h5-h6 Ke6-f5 h6-h7 Kf5xg5 Ke8-e7 Kg5-f4 h7-h8Q Kf4-e4 Qh8-c3 Ke4-d5
Qc3-d2+ Kd5-c5 Ke7-d7 Kc5-c4 Kd7-c6 Kc4-b3 Kc6-c5 Kb3-a3 Kc5-c4 Ka3-a4
Qd2-a2+) -M14/46 2} 8. Bg7 {+8.24/22 6} Kd5 {(Ke6-d5 h4-h5 g6-g5 h5-h6
Kd5-e4 h6-h7 Ke4-f4 Bg7-h6 Kf4-e3 Bh6xg5+ Ke3-f3 h7-h8Q Kf3xg4 Qh8-f6
Kg4-g3 Bg5-e3 Kg3-g2 Qf6-f2+ Kg2-h3 Qf2-f3+ Kh3-h4 Qf3-g2 Kh4-h5 Qg2-g5+)
-M12/44 4} 9. Kf7 {+8.35/22 6} Ke4 {(Kd5-e4 h4-h5 Ke4-f3 h5xg6 Kf3xg4
Bg7-a1 Kg4-f5 g6-g7 Kf5-e4 g7-g8Q Ke4-d3 Qg8-g4 Kd3-e3 Qg4-f5 Ke3-e2
Qf5-e4+ Ke2-f2 Ba1-e5 Kf2-f1 Qe4-f3+ Kf1-g1 Qf3-e2 Kg1-h1 Qe2-h2+) -M12/41
4} 10. Kxg6 {+8.55/21 5} Kf3 {(Ke4-f3 h4-h5 Kf3xg4 h5-h6 Kg4-f3 h6-h7
Kf3-e4 h7-h8Q Ke4-d5 Qh8-g8+ Kd5-c5 Qg8-b3 Kc5-c6 Bg7-d4 Kc6-c7 Qb3-b6+
Kc7-d7 Kg6-f7 Kd7-c8 Bd4-e5 Kc8-d7 Qb6-c7+) -M11/45 2} 11. Kf5 {+8.74/18 5}
Ke2 {(Kf3-e2 Kf5-e4 Ke2-d1 h4-h5 Kd1-c2 h5-h6 Kc2-b3 h6-h7 Kb3-a3 h7-h8Q
Ka3-b4 Ke4-d5 Kb4-b3 Qh8-c8 Kb3-a4 Qc8-b8 Ka4-a5 Kd5-c5 Ka5-a6 Qb8-b6+)
-M10/48 4} 12. h5 {+8.86/17 5} Ke3 {(Ke2-e3 h5-h6 Ke3-d3 h6-h7 Kd3-c4
h7-h8Q Kc4-b3 Kf5-e4 Kb3-b4 Ke4-d5 Kb4-b3 Qh8-c8 Kb3-a4 Qc8-b8 Ka4-a5
Kd5-c5 Ka5-a6 Qb8-b6+) -M9/49 2} 13. h6 {+8.99/19 5} Kd2 {(Ke3-d2 h6-h7
Kd2-c2 Kf5-e4 Kc2-b3 h7-h8Q Kb3-b4 Ke4-d5 Kb4-b3 Qh8-h2 Kb3-b4 Qh2-b2+
Kb4-a4 Kd5-c6 Ka4-a5 Qb2-a3+) -M8/51 2} 14. h7 {+9.04/17 5} Kd3 {(Kd2-d3
h7-h8Q Kd3-c4 Kf5-e4 Kc4-c5 Qh8-c8+ Kc5-b6 Ke4-d5 Kb6-b5 Qc8-b8+ Kb5-a4
Kd5-c4 Ka4-a3 Qb8-b3+) -M7/53 3} 15. h8=Q {+9.11/16 5} Kc4 {(Kd3-c4 Kf5-e4
Kc4-c5 Qh8-c8+ Kc5-b6 Ke4-d5 Kb6-b5 Qc8-b8+ Kb5-a6 Kd5-c6 Ka6-a5 Qb8-b5+)
-M6/61 3} 16. Qc8+ {+9.21/16 5} Kb5 {(Kc4-b5 Kf5-e4 Kb5-a5 Bg7-c3+ Ka5-b5
Ke4-d5 Kb5-b6 Kd5-c4 Kb6-a7 Bc3-d4+) -M5/78 2} 17. Qb7+ {+9.96/16 5} Kc5
{(Kb5-c5 Bg7-f6 Kc5-c4 Kf5-e4 Kc4-c5 Bf6-e7+ Kc5-c4 Qb7-b4+) -M4/127 2} 18.
g5 {+9.99/16 5} Kc4 {(Kc5-c4 Kf5-e4 Kc4-c5 Bg7-f8+ Kc5-c4 Qb7-b4+) -M3/127}
19. Ke4 {+9.99/14 5} Kc5 {(Kc4-c5) -M2/1} 20. Bf8+ {+10.00/13 5} Kc4
{(Kc5-c4) -M1/1} 21. Qb4# {+9.98/14 4} *
[/pgn]
(Looks like I entered the position incorrectly but it shouldn't affect the conclusions of this post)
CF's evaluation ranges from -1 to 1 from which I multiply by 10 to get a display output from -10 to 10 where 10 == white win.
There are two phases to analyse here:
Stage 1: From move 1 to 16 the NN is guiding the game gradually towards a position where mate is
likely. Notice the
gradual increase in evaluation from +5.52 to +9.21. The game is definitely winning for white but
not yet won and CF knows this.
Stage 2: On move 17 there is a sudden jump in evaluation from +9.21 to +9.96. This means CF has now 'seen' mate and
without fail the MCTS algorithm converges onto the mate 4 moves later.
Now for Leela:
Stage 1: This lasts roughly from move 120 to move 234 (114 moves!). Using a 6x64 Leela net most its the evals hover around 95% (+9.75 using CF scale). The problem is this is
too high and together with noise there is just not enough wiggle room for the eval climb towards a mating position. It also seems the position at move 234 was the result of random shuffling and/or threat of 50 move rule.
Stage 2: Actually this part is fine. Though it's not clear if it was the threat of a 50-move rule that
forced Leela play the mate or not. Does Leela still troll around mating positions?
I think most people already know the problem is the Leela evals are saturated around 95%-100% so I've not said anything new there. But the question is why? One thing I thought was that Leela's played so many millions of games that the evals of winning positions will eventually all converge to the extremes. If that's the case then CF's eval should go to +1 also. Here are CF's eval for various generations after 120. ... Ke3:
Scale from -1 to 1. The first number is the static eval of the position, second is the average of a 10,000 node search.
gen 2000 0.38/0.38
gen 4000 0.44/0.41
gen 6000 0.62/0.57
gen 8000 0.55/0.46
gen 10000 0.60/0.54
gen 12000 0.55/0.51
gen 14000 0.51/0.47
Although we're only talking of 100,000's of self-play games (and not millions) it
looks like it's stabilising around +0.5 which I think is key to getting aesthetically pleasing endgames.
Apparently Demis Hassabis said AlphaZero does not suffer from these endgame problems (One of the Leela developers mentions this on a youbtube video). Are there any AlphaZero games played to the endgame with mate to confirm this?
Out of the three main stages: Opening, middle-game and endgame it seems most people (judging by the forum posts) are resigned to the fact that NN engines just wont ever play the endgame (the Ender project only plays the endgame). I really don't think that's the case. The NN engines will eventually dominate on all stages of the game and I'm sure they will have something to teach us on the endgame as well.
I also think they will eventually conquer the tactics arena at some stage though that will probably require radically new algorithms and network structures.
For now there's only one NN who plays the endgame like a boss, and it's not Leela!
To finish off here is CF's continuation of the Leela-Marvin game after 51. ... Kd8. Note the gradual increase in eval (mate is seen on move 34).
[pgn][Event "Computer chess game"]
[Site "DESKTOP-8549RR7"]
[Date "2019.03.16"]
[Round "?"]
[White "Chess Fighter (net 15800)"]
[Black "Stockfish_10_x64"]
[Result "1-0"]
[BlackElo "3400"]
[Time "22:38:15"]
[WhiteElo "2500"]
[TimeControl "120+3"]
[SetUp "1"]
[FEN "3k4/6R1/8/5pp1/1pB3r1/1P2K3/8/8 w - - 0 1"]
[Termination "normal"]
[PlyCount "77"]
[WhiteType "human"]
[BlackType "human"]
1. Bd5 {+2.75/19 7} Ke8 {(Kd8-e8 Ke3-d3 Ke8-f8 Rg7-f7+ Kf8-g8 Rf7xf5+
Kg8-g7 Bd5-c4 Rg4-g1 Kd3-e4 Rg1-g4+ Ke4-f3 Rg4-g1 Kf3-f2 Kg7-g6 Rf5-b5
Rg1-h1 Kf2-f3 Kg6-f6 Rb5xb4 Rh1-h3+ Kf3-g4 Rh3-h4+ Kg4-g3 Kf6-e5 Rb4-b5+
Ke5-d4 Rb5xg5 Rh4-e4 Rg5-g8 Kd4-c3 Kg3-f3 Re4-h4 Rg8-g5 Rh4-h8 Kf3-f4
Rh8-e8 Kf4-f5 Re8-f8+ Kf5-e5 Rf8-e8+ Ke5-d6 Re8-d8+ Kd6-c7 Rd8-f8) -3.75/29
6} 2. Kd3 {+2.82/20 6} Kf8 {(Ke8-f8 Rg7-f7+ Kf8-e8 Rf7xf5 Ke8-e7 Bd5-c4
Ke7-d6 Rf5-d5+ Kd6-c6 Rd5-b5 Rg4-g3+ Kd3-d4 Rg3-g4+ Kd4-e5 Rg4-h4 Rb5xb4
g5-g4 Bc4-e2 Rh4-h5+ Ke5-f4 Rh5-d5 Be2-c4 Rd5-d4+ Kf4-g3 Rd4-d1 Kg3xg4
Rd1-g1+ Kg4-f4 Kc6-c5 Rb4-b5+ Kc5-d4 Rb5-d5+ Kd4-c3 Rd5-g5 Rg1-b1 Kf4-e5)
-3.77/30 3} 3. Rf7+ {+3.46/25 6} Ke8 {(Kf8-e8 Rf7xf5 Ke8-e7 Bd5-c4 Ke7-d6
Rf5-d5+ Kd6-c6 Rd5-b5 Rg4-g3+ Kd3-d4 Rg3-g4+ Kd4-e5 Rg4-h4 Rb5xb4 g5-g4
Bc4-e2 Rh4-h5+ Ke5-f4 Rh5-h1 Rb4-b5 Rh1-g1 Rb5-g5 g4-g3 Kf4-e3 Rg1-b1
Be2-c4 Rb1-d1 Bc4-d3 g3-g2 Rg5xg2 Kc6-c5 Rg2-g4 Kc5-b6 Ke3-d4) -3.97/28 3}
4. Rxf5 {+3.47/23 6} Ke7 {(Ke8-e7 Bd5-c4 Ke7-d6 Rf5-d5+ Kd6-c6 Rd5-b5
Rg4-g3+ Kd3-d4 Rg3-g4+ Kd4-e5 Rg4-g2 Rb5xb4 Rg2-d2 Rb4-b5 Rd2-d7 Ke5-e4
Rd7-g7 Ke4-f3 g5-g4+ Kf3-g3 Rg7-g6 Rb5-f5 Rg6-g7 b3-b4 Kc6-c7 Rf5-c5+
Kc7-b7 Rc5-a5 Rg7-d7 Ra5-b5+ Kb7-c6 Rb5-g5 Kc6-b6 Rg5-g8) -4.21/29 5} 5.
Bc4 {+3.49/21 6} Kd6 {(Ke7-d6 Rf5-d5+) -5.55/31 33} 6. Rb5 {+3.53/24 6} Rg1
{(Rg4-g1 Kd3-e4 Kd6-c6 Rb5xb4 g5-g4 Rb4-b5 g4-g3 Rb5-g5 g3-g2 Ke4-f3
Rg1-f1+ Kf3xg2 Rf1-f6 Kg2-g3 Rf6-f8 Rg5-b5 Kc6-c7 Kg3-g4 Kc7-d6 Rb5-f5
Rf8-h8 Kg4-g3 Kd6-c7 Rf5-f6 Rh8-d8 Kg3-g4 Rd8-d1 Kg4-f5 Rd1-d4 Rf6-g6
Rd4-h4 Kf5-e5) -5.27/29 5} 7. Rxb4 {+3.76/30 6} Ke5 {(Kd6-e5 Kd3-e3 Rg1-g3+
Ke3-d2 Rg3-f3 Bc4-d3 Rf3-f7 Kd2-e3 Rf7-g7 Rb4-b5+ Ke5-e6 Ke3-d4 Rg7-d7+
Kd4-e4 Ke6-f6 Rb5-b6+ Kf6-g7 Bd3-c4 Rd7-c7 Rb6-b8 Kg7-h7 Ke4-f5 Rc7-g7
Kf5-g4 Kh7-h6 b3-b4 Rg7-c7 Bc4-d5 Kh6-g6 Rb8-b6+ Kg6-g7 Kg4-f5) -4.74/22 1}
8. Rb8 {+3.80/17 6} g4 {(g5-g4 Rb8-e8+ Ke5-f4 Kd3-d4 Rg1-d1+ Bc4-d3 g4-g3
Re8-f8+ Kf4-g5 Kd4-e3 Rd1-e1+ Ke3-f3 Re1-e7 Rf8-g8+ Kg5-f6 Kf3-f4 Re7-b7
Rg8-g6+ Kf6-f7 Rg6xg3 Rb7-b8 Kf4-e5 Rb8-e8+ Ke5-d4 Kf7-f6 Rg3-g6+ Kf6-f7
Rg6-g4 Re8-d8+ Kd4-c3 Rd8-c8+ Bd3-c4+ Kf7-f6 Rg4-g2 Kf6-f5 b3-b4 Rc8-b8
b4-b5 Kf5-e5 Rg2-g6 Ke5-f4 b5-b6) -5.91/28 13} 9. Ke3 {+3.88/18 6} g3
{(g4-g3 Rb8-b5+ Ke5-f6 Ke3-f3 g3-g2 Kf3-f2 Rg1-e1 Kf2xg2 Re1-e3 Kg2-f2
Re3-e7 Bc4-d3 Kf6-g7 Kf2-f3 Kg7-h8 Bd3-c4 Kh8-g7 Rb5-g5+ Kg7-f6 Kf3-f4
Re7-b7 Rg5-g3 Rb7-e7 Bc4-d3 Re7-d7 Kf4-e4 Rd7-e7+ Ke4-d4 Re7-d7+ Kd4-c3
Kf6-e5 b3-b4 Ke5-f4 Rg3-g2 Rd7-c7+ Bd3-c4 Kf4-e3 Rg2-g4 Ke3-f3 Rg4-g8)
-5.91/27 2} 10. Rb5+ {+3.90/20 5} Kf6 {(Ke5-f6 Ke3-f3 g3-g2 Kf3-f2 Rg1-e1
Kf2xg2 Re1-e3 Kg2-f2 Re3-h3 Kf2-e2 Kf6-e7 Ke2-d2 Ke7-d6 Rb5-g5 Rh3-h2+
Kd2-d3 Rh2-h3+ Kd3-e4 Rh3-h4+ Ke4-e3 Rh4-h3+ Ke3-f4 Rh3-h4+ Rg5-g4 Rh4-h2
b3-b4 Rh2-h6 Kf4-e4 Kd6-c7 Ke4-e5 Kc7-b6 Bc4-d3 Rh6-c6 Ke5-d4 Rc6-d6+
Kd4-c4 Rd6-c6+ Kc4-b3 Rc6-d6 Rg4-g6 Rd6xg6 Bd3xg6) -5.91/29 1} 11. Kf3
{+4.01/21 5} Kg6 {(Kf6-g6 Rb5-b8 Kg6-f5 Rb8-g8 Kf5-e5 Rg8xg3 Rg1-e1 Kf3-f2
Re1-c1 Kf2-e2 Ke5-d4 Ke2-d2 Rc1-a1 Rg3-g4+ Kd4-c5 Bc4-d3 Kc5-d5 Kd2-c3
Ra1-c1+ Kc3-b4 Rc1-c8 Bd3-c4+ Kd5-e5 Kb4-c3 Rc8-f8 Rg4-g5+ Ke5-d6 Rg5-g6+
Kd6-e5 Rg6-e6+ Ke5-f5 b3-b4 Rf8-b8 Re6-e2 Kf5-g4 b4-b5 Kg4-h4 Re2-e6 Kh4-g5
b5-b6 Kg5-f4 Kc3-d4 Kf4-g5) -6.03/33 5} 12. Re5 {+4.22/21 5} Kf6 {(Kg6-f6
Re5-b5 Kf6-g6 Rb5-b8 Kg6-f5 Rb8-g8 Kf5-e5 Rg8xg3 Rg1-e1 Kf3-f2 Re1-c1
Kf2-e2 Ke5-d4 Ke2-d2 Rc1-a1 Rg3-g4+ Kd4-c5 Bc4-d3 Kc5-d5 Kd2-c3 Ra1-c1+
Kc3-b4 Rc1-c8 Bd3-c4+ Kd5-e5 Kb4-c3 Rc8-f8 Rg4-g5+ Ke5-e4 Bc4-d5+ Ke4-e3
b3-b4 Rf8-f1 b4-b5 Ke3-f4 Rg5-g6 Kf4-f5 Rg6-g8 Kf5-e5 Bd5-b3 Rf1-b1)
-6.03/34 3} 13. Re2 {+4.50/19 5} Kf5 {(Kf6-f5 Re2-g2 Rg1-h1 Rg2xg3 Kf5-e5
Kf3-e3 Rh1-e1+ Ke3-d2 Re1-a1 b3-b4 Ra1-b1 b4-b5 Ke5-d4 Rg3-g4+ Kd4-c5
Bc4-d3 Rb1-b3 Kd2-e3 Kc5-b6 Ke3-d4 Rb3-b4+ Bd3-c4 Rb4-b1 Rg4-g6+ Kb6-b7
Kd4-c5 Rb1-c1 Rg6-e6 Kb7-c7 Re6-c6+ Kc7-b7 Rc6-g6 Kb7-c7 b5-b6+ Kc7-c8
Kc5-d4 Rc1-d1+ Kd4-e4 Rd1-e1+ Ke4-f4 Kc8-b8 Bc4-d5) -6.15/30 4} 14. b4
{+4.50/24 5} Rc1 {(Rg1-c1 Bc4-d3+ Kf5-f6 Re2-g2 Kf6-e5 Kf3-e3 Rc1-e1+
Ke3-d2 Re1-a1 Rg2xg3 Ra1-a3 Rg3-g4 Ke5-d6 Rg4-g5 Kd6-c7 Bd3-c4 Kc7-b8 b4-b5
Ra3-h3 Rg5-g6 Rh3-f3 Bc4-d3 Rf3-f8 Kd2-c3 Rf8-d8 Bd3-c4 Kb8-c7 Rg6-e6
Kc7-b7 Kc3-b4 Rd8-d4 Kb4-c5) -6.15/27 2} 15. Bd3+ {+4.91/23 5} Kf6 {(Kf5-f6
Re2-g2 Kf6-e5 Kf3-e3 Rc1-e1+ Ke3-d2 Re1-a1 Rg2xg3 Ra1-a3 Rg3-g5+ Ke5-d4
Rg5-g4+ Kd4-d5 Bd3-c4+ Kd5-d6 Rg4-g6+ Kd6-e5 Rg6-g5+ Ke5-f4 Rg5-g8 Ra3-h3
b4-b5 Rh3-h6 Rg8-e8 Rh6-d6+ Kd2-c3 Kf4-g5 Kc3-b4 Kg5-f4 Kb4-c5 Rd6-d1
Re8-f8+ Kf4-e5 b5-b6 Rd1-b1 Rf8-g8 Ke5-f4 Bc4-d5 Rb1-c1+ Kc5-b4 Rc1-b1+
Bd5-b3) -7.91/27 8} 16. b5 {+4.95/21 5} Rc7 {(Rc1-c7 Kf3xg3 Rc7-c3 Re2-e3
Rc3-b3 Kg3-f4 Rb3-b2 Kf4-e4 Kf6-e6 Ke4-d4+ Ke6-d6 Re3-g3 Rb2-b4+ Bd3-c4
Rb4-b1 Bc4-b3 Kd6-c7 Kd4-c5 Rb1-c1+ Bb3-c4 Kc7-b8 b5-b6 Kb8-c8 Rg3-g7
Rc1-c2 Rg7-g8+ Kc8-b7 Rg8-g6 Rc2-c1 Rg6-g7+ Kb7-c8 Kc5-b5) -12.46/27 22}
17. Kxg3 {+5.34/26 5} Rc3 {(Rc7-c3 Re2-e3) -18.00/28 24} 18. Re3 {+5.50/26
5} Ra3 {(Rc3-a3 Kg3-f4 Ra3-a2 Re3-g3 Ra2-b2 Kf4-e4 Rb2-a2 b5-b6 Kf6-e7
b6-b7 Ra2-b2 Rg3-g8) -12.39/24 4} 19. Kf4 {+5.80/25 5} Ra8 {(Ra3-a8 b5-b6)
-55.33/28 13} 20. Be4 {+6.11/22 5} Rf8 {(Ra8-f8 Be4-d3 Kf6-g7+ Kf4-e5
Kg7-h6 Ke5-d6 Kh6-g5 b5-b6 Kg5-f4 Re3-e4+ Kf4-f3 b6-b7 Rf8-d8+ Kd6-c6
Rd8xd3 Re4-b4 Rd3-d8 b7-b8Q Rd8xb8 Rb4xb8 Kf3-e4 Kc6-d6 Ke4-f3 Kd6-d5
Kf3-f4 Kd5-d4 Kf4-f5 Rb8-b6 Kf5-f4 Rb6-g6 Kf4-f5 Rg6-c6 Kf5-g4 Kd4-e4
Kg4-h4 Ke4-f4) -55.09/24 1} 21. Bd5 {+6.86/22 5} Kg7+ {(Kf6-g7+ Kf4-e5)
-153.22/24 8} 22. Ke5 {+7.05/20 4} Rb8 {(Rf8-b8 Re3-g3+ Kg7-h6 Rg3-b3
Rb8-b6 Ke5-d4 Kh6-h7 Kd4-c5 Rb6-b8 b5-b6 Kh7-g6 b6-b7 Kg6-f6 Rb3-g3 Kf6-e5
Rg3-g8 Rb8-f8 b7-b8Q+ Rf8xb8 Rg8xb8 Ke5-f4 Kc5-d4 Kf4-f5 Rb8-f8+ Kf5-g4
Kd4-e5 Kg4-g3 Rf8-f6 Kg3-g4 Rf6-g6+ Kg4-h5 Rg6-g8 Kh5-h4 Ke5-f5 Kh4-h3
Kf5-f4 Kh3-h2 Rg8-g6) -M20/32 4} 23. Rb3 {+7.39/20 4} Rb6 {(Rb8-b6 Ke5-d4
Kg7-f6 Kd4-c5 Rb6-b8 b5-b6 Kf6-e5 b6-b7 Ke5-f4 Kc5-d4 Kf4-g4 Rb3-c3 Kg4-f5
Rc3-c8 Rb8xb7 Rc8-f8+ Kf5-g6 Bd5xb7 Kg6-h7 Kd4-e5 Kh7-g7 Rf8-b8 Kg7-g6
Bb7-d5 Kg6-g5 Rb8-g8+ Kg5-h4 Ke5-f5 Kh4-h3 Kf5-f4 Kh3-h2 Rg8-g6 Kh2-h3
Rg6-h6+) -M17/35 1} 24. Bc6 {+7.58/20 4} Kg6 {(Kg7-g6 Ke5-d4 Kg6-f5 Kd4-c5
Rb6-b8 b5-b6 Kf5-g5 b6-b7 Kg5-h4 Bc6-d5 Kh4-g4 Kc5-d4 Kg4-f4 Rb3-c3 Kf4-f5
Rc3-c8 Rb8xb7 Rc8-f8+ Kf5-g6 Bd5xb7 Kg6-h7 Kd4-e5 Kh7-g7 Rf8-f3 Kg7-g6
Rf3-g3+ Kg6-f7 Ke5-d6 Kf7-f6 Bb7-e4 Kf6-f7 Rg3-g6 Kf7-f8 Be4-d5 Kf8-e8
Rg6-g8+) -M18/32 1} 25. Kd6 {+7.65/18 4} Rb8 {(Rb6-b8 b5-b6 Kg6-f6 Kd6-c5
Kf6-g5 b6-b7 Kg5-f4 Bc6-d5 Kf4-g4 Kc5-d4 Kg4-f4 Rb3-c3 Kf4-f5 Rc3-c8 Rb8xb7
Rc8-f8+ Kf5-g6 Bd5xb7 Kg6-h7 Kd4-e5 Kh7-g7 Rf8-f3 Kg7-g6 Rf3-g3+ Kg6-f7
Ke5-d6 Kf7-f6 Bb7-e4 Kf6-f7 Rg3-g6 Kf7-f8 Be4-d5 Kf8-e8 Rg6-g8+) -M17/32 1}
26. Kc7 {+7.62/18 4} Rf8 {(Rb8-f8 b5-b6 Rf8-f7+ Kc7-d6 Rf7-f6+ Kd6-c5
Rf6-f8 b6-b7 Rf8-b8 Rb3-g3+ Kg6-f5 Rg3-e3 Kf5-f6 Re3-e8 Rb8xb7 Bc6xb7
Kf6-f7 Re8-b8 Kf7-e6 Kc5-d4 Ke6-d6 Bb7-d5 Kd6-c7 Rb8-b7+ Kc7-d6 Rb7-b6+
Kd6-c7 Kd4-c5 Kc7-d7 Rb6-b7+ Kd7-e8 Kc5-d6 Ke8-f8 Bd5-e6 Kf8-e8 Rb7-b8+)
-M18/31 2} 27. b6 {+7.77/19 4} Rf7+ {(Rf8-f7+ Kc7-d6 Rf7-f6+ Kd6-c5 Rf6-f8
Rb3-g3+ Kg6-h5 Bc6-d5 Kh5-h4 Rg3-g8 Rf8-f1 b6-b7 Rf1-b1 Kc5-d6 Rb1-b4
Kd6-e5 Rb4-b6 b7-b8Q Rb6xb8 Rg8xb8 Kh4-g3 Rb8-f8 Kg3-g4 Rf8-g8+ Kg4-h4
Ke5-e4 Kh4-h5 Ke4-f4 Kh5-h6 Bd5-e4 Kh6-h5 Rg8-h8+) -M16/35 1} 28. Bd7
{+7.89/17 4} Kg5 {(Kg6-g5 b6-b7 Rf7-f8 b7-b8Q Rf8xb8 Rb3xb8 Kg5-f4 Rb8-e8
Kf4-f3 Bd7-c6+ Kf3-g3 Re8-f8 Kg3-g4 Kc7-d6 Kg4-g5 Kd6-e5 Kg5-g6 Bc6-d5
Kg6-g5 Rf8-g8+ Kg5-h4 Ke5-f5 Kh4-h3 Kf5-f4 Kh3-h2 Rg8-g6 Kh2-h3 Rg6-h6+)
-M14/38 1} 29. b7 {+8.02/17 4} Rf8 {(Rf7-f8 b7-b8Q Rf8xb8 Rb3xb8 Kg5-f4
Rb8-e8 Kf4-f3 Bd7-c6+ Kf3-g3 Re8-f8 Kg3-g4 Kc7-d6 Kg4-g5 Kd6-e5 Kg5-g6
Bc6-d5 Kg6-g5 Rf8-g8+ Kg5-h4 Ke5-f5 Kh4-h3 Kf5-f4 Kh3-h2 Rg8-g6 Kh2-h3
Rg6-h6+) -M13/42 1} 30. Ra3 {+8.18/15 4} Kf4 {(Kg5-f4 Ra3-a8 Rf8xa8 b7xa8Q
Kf4-e3 Qa8-e8+ Ke3-d3 Qe8-e5 Kd3-c2 Qe5-d4 Kc2-b3 Bd7-f5 Kb3-a3 Qd4-c3+
Ka3-a2 Qc3-b4 Ka2-a1 Qb4-b1+) -M9/34 1} 31. Ra8 {+8.61/16 4} Rxa8 {(Rf8xa8
b7xa8Q Kf4-e3 Bd7-f5 Ke3-d4 Qa8-f3 Kd4-e5 Bf5-g6 Ke5-d4 Qf3-a3 Kd4-c4
Kc7-c6 Kc4-d4 Qa3-c5+) -M7/46 3} 32. bxa8=Q {+8.72/16 4} Ke3 {(Kf4-e3
Bd7-f5 Ke3-d4 Qa8-f3 Kd4-e5 Bf5-g6 Ke5-d4 Qf3-a3 Kd4-c4 Kc7-c6 Kc4-d4
Qa3-c5+) -M6/51 1} 33. Kd6 {+8.82/15 4} Ke2 {(Ke3-e2 Bd7-f5 Ke2-e3 Qa8-g2
Ke3-d4 Qg2-d2+ Kd4-c4 Qd2-d3+ Kc4-b4 Bf5-d7 Kb4-a5 Qd3-b5+) -M6/50 2} 34.
Qa3 {+9.71/15 4} Kd2 {(Ke2-d2 Bd7-f5 Kd2-e2 Bf5-g4+ Ke2-d2 Kd6-c5 Kd2-c2
Kc5-c4 Kc2-d2 Qa3-c3+) -M5/73 1} 35. Bb5 {+9.97/15 4} Kc2 {(Kd2-c2 Qa3-b4
Kc2-c1 Bb5-d3 Kc1-d1 Qb4-b2 Kd1-e1 Qb2-e2+) -M4/120 1} 36. Ke5 {+9.99/15 4}
Kd2 {(Kc2-d2 Qa3-b2+ Kd2-d1 Ke5-d4 Kd1-e1 Qb2-e2+) -M3/127} 37. Qb2+
{+9.99/13 4} Kd1 {(Kd2-d1 Ke5-d4 Kd1-e1 Qb2-e2+) -M2/127} 38. Bf1 {+9.99/12
4} Ke1 {(Kd1-e1) -M1/1} 39. Qe2# {+9.99/11 4} 1-0
[/pgn]
Alex