Stockfish - Update architecture to "SFNNv4

Discussion of anything and everything relating to chess playing software and machines.

Moderator: Ras

Milos
Posts: 4190
Joined: Wed Nov 25, 2009 1:47 am

Re: Stockfish - Update architecture to "SFNNv4

Post by Milos »

Cornfed wrote: Sun Feb 13, 2022 8:16 pm Taking about a half hour on Sundays, "Big search tuning (version 2)"...

The 'point eval' may indeed be more realistic early in the search. Certainly the kN/s dwarf my current default (think it's 1/19/22) for what that is worth...

So, an improvement...not sure yet if it will replace my default just yet.
I was evaluating SFNNv4 for the past 48h on quite a few ICCF games I'm playing at the moment running in the same time 8 cores on 14.1 and 8 cores of latest dev. from 10/02/22 on the same positions (MPV=2-4, multiple hours searches) and new SFdev is superior in each and every position. So I'd be switching to it permanently basically from tomorrow. How much of this is due to search tune and how much due to new NNUE architecture is another questions but recent progress made seems quite amazing.
Additionally this new promising search tune update from today seems to be part of a continues effort to be followed for at least a few near future updates.
Great job SF team.
Cornfed
Posts: 511
Joined: Sun Apr 26, 2020 11:40 pm
Full name: Brian D. Smith

Re: Stockfish - Update architecture to "SFNNv4

Post by Cornfed »

Milos wrote: Sun Feb 13, 2022 11:28 pm
Cornfed wrote: Sun Feb 13, 2022 8:16 pm Taking about a half hour on Sundays, "Big search tuning (version 2)"...

The 'point eval' may indeed be more realistic early in the search. Certainly the kN/s dwarf my current default (think it's 1/19/22) for what that is worth...

So, an improvement...not sure yet if it will replace my default just yet.
I was evaluating SFNNv4 for the past 48h on quite a few ICCF games I'm playing at the moment running in the same time 8 cores on 14.1 and 8 cores of latest dev. from 10/02/22 on the same positions (MPV=2-4, multiple hours searches) and new SFdev is superior in each and every position. So I'd be switching to it permanently basically from tomorrow. How much of this is due to search tune and how much due to new NNUE architecture is another questions but recent progress made seems quite amazing.
Additionally this new promising search tune update from today seems to be part of a continues effort to be followed for at least a few near future updates.
Great job SF team.
I am curious, with this approach, how do you actually evaluate 'superior'?

Me, I just bounce around an already very well researched opening lines, which may go fairly deep - quiet, tactical. no endgames. I do so on single pv and then again on multi-pv for several minutes to compare suggestions between two engines (Depth of 39 or more usually)...looking towards which seems to offer the better suggestion(s) quicker...and generally stays with it/them longer instead of flipping around the order so much. All a bit subjective but played out against a very well thought out file.
Chessqueen
Posts: 5685
Joined: Wed Sep 05, 2018 2:16 am
Location: Moving
Full name: Jorge Picado

Re: Stockfish - Update architecture to "SFNNv4

Post by Chessqueen »

AdminX wrote: Fri Feb 11, 2022 2:47 pm Image
Here is a game against Komodo Dragon 2.6.1 UCI-Elo = 2450 at Knight Odds

[pgn][Event "Computer chess game"]
[Site "MININT-UB2PIMJ"]
[Date "2022.02.13"]
[Round "?"]
[White "Stockfish_22021301_x64_avx2"]
[Black "Dragon-2.6.1-64bit-avx2"]
[Result "1/2-1/2"]
[BlackElo "2450"]
[Time "22:34:40"]
[WhiteElo "3550"]
[TimeControl "120+1"]
[SetUp "1"]
[FEN "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKB1R w KQkq - 0 1"]
[Termination "normal"]
[PlyCount "279"]
[WhiteType "program"]
[BlackType "program"]

1. e4 d5 2. exd5 c6 3. dxc6 Nxc6 4. Nc3 Nf6 5. Bb5 Bd7 6. d4 e6 7. O-O Be7
8. Re1 O-O 9. a3 Rc8 10. Bf1 Nb8 11. Na2 b5 12. Nb4 a6 13. c3 a5 14. Nd3
Bc6 15. Ne5 Be8 16. Qf3 b4 17. axb4 axb4 18. h4 bxc3 19. bxc3 Bc6 20. Nxc6
Nxc6 21. Ba6 Rc7 22. Bf4 Bd6 23. Bd2 Ne7 24. Bd3 Ned5 25. g3 Be7 26. Reb1
Qc8 27. Ba6 Rxc3 28. Bxc3 Qxc3 29. Qxc3 Nxc3 30. Rb3 Nfd5 31. Rc1 Ra8 32.
Bc4 Ne4 33. Bxd5 exd5 34. Rb5 Rd8 35. Kg2 Bf6 36. Rc2 g5 37. f3 Nd6 38.
Rxd5 gxh4 39. Rc6 Be7 40. gxh4 Rd7 41. f4 Kg7 42. Kf3 Rd8 43. Ra6 Kg8 44.
Kg4 Kf8 45. h5 f5+ 46. Kf3 Rd7 47. Rb6 Ke8 48. Ra6 Kf8 49. Re5 Ke8 50. Rd5
Kf7 51. Rb6 Ke6 52. Re5+ Kf6 53. Ra6 Bd8 54. Rc6 Be7 55. Ra6 Rb7 56. Ke2
Rb3 57. d5 Kf7 58. Ra7 Rb2+ 59. Kd3 Rb3+ 60. Kc2 Rb7 61. Rxb7 Nxb7 62.
Rxf5+ Bf6 63. d6 Ke6 64. Rb5 Nxd6 65. Rb6 Bh4 66. Rb8 Bf6 67. Kd2 Kf5 68.
Ke3 Kg4 69. Rg8+ Kh4 70. Rf8 Bg7 71. Rd8 Nf5+ 72. Ke4 Kg4 73. h6 Bxh6 74.
Rh8 Ng3+ 75. Kd3 Kxf4 76. Rxh7 Bg5 77. Kc4 Kf5 78. Rh8 Kf6 79. Rg8 Bh4 80.
Rg4 Nf5 81. Kb4 Bf2 82. Kc3 Ne3 83. Rf4+ Ke5 84. Ra4 Kf5 85. Ra5+ Ke4 86.
Ra4+ Kf3 87. Rd4 Bg3 88. Kd2 Be5 89. Rd3 Kf4 90. Rxe3 Bd4 91. Re1 Bf2 92.
Rf1 Kf3 93. Kd3 Kg2 94. Ke2 Bg1 95. Rf6 Kh2 96. Rg6 Kh1 97. Kf3 Bh2 98. Rg5
Bc7 99. Rd5 Kh2 100. Rd7 Ba5 101. Rh7+ Kg1 102. Rg7+ Kh2 103. Rg8 Kh1 104.
Rh8+ Kg1 105. Rg8+ Kh1 106. Rg5 Bb6 107. Rd5 Kg1 108. Rd1+ Kh2 109. Rd6 Bc7
110. Rd1 Ba5 111. Rd5 Bb6 112. Rd7 Kg1 113. Kg3 Bf2+ 114. Kf3 Bb6 115. Rd1+
Kh2 116. Rd5 Kg1 117. Rg5+ Kh2 118. Rg2+ Kh1 119. Rd2 Kg1 120. Rg2+ Kh1
121. Kg3 Bc5 122. Rd2 Bb6 123. Rc2 Bg1 124. Rb2 Bc5 125. Rd2 Bg1 126. Rd7
Bc5 127. Rd1+ Bg1 128. Kf3 Kh2 129. Ra1 Bd4 130. Rb1 Bf6 131. Ke4 Be7 132.
Kd5 Kg2 133. Ke4 Bd6 134. Rb7 Ba3 135. Rg7+ Kf2 136. Kd5 Bb4 137. Kc6 Be1
138. Kd7 Bc3 139. Rf7+ Kg1 140. Rf1+ {50 moves rule} 1/2-1/2[/pgn]
Eduard
Posts: 1439
Joined: Sat Oct 27, 2018 12:58 am
Location: Germany
Full name: N.N.

Re: Stockfish - Update architecture to "SFNNv4

Post by Eduard »

It's great how Stockfish plays! It's not always about winning. If you play with slow hardware, you'll be happy if you don't lose!

This is where Stockfish just keeps getting better.

Image

Currently I play with only about 850 kns (11 year old laptop i3 with 4 threads) and always have to play against faster ones (up to 64 cores). Still, I haven't lost the last 248 games (5m+0s) on PlayChess.com. Is not that good? :lol:
Milos
Posts: 4190
Joined: Wed Nov 25, 2009 1:47 am

Re: Stockfish - Update architecture to "SFNNv4

Post by Milos »

Cornfed wrote: Mon Feb 14, 2022 1:24 am I am curious, with this approach, how do you actually evaluate 'superior'?

Me, I just bounce around an already very well researched opening lines, which may go fairly deep - quiet, tactical. no endgames. I do so on single pv and then again on multi-pv for several minutes to compare suggestions between two engines (Depth of 39 or more usually)...looking towards which seems to offer the better suggestion(s) quicker...and generally stays with it/them longer instead of flipping around the order so much. All a bit subjective but played out against a very well thought out file.
Well it's also highly subjective. I ran it on around 10 positions, all of them either middle game or endgame. The new version was finding correct moves much earlier (at lower depth too), evaluation was much more accurate (less fail lows/fail highs, less plateauing) and it was eventually reaching higher depth quicker despite having lower nps and to me it looks the reason is not more selective but more stable search.
For the openings I guess it's hard to get some conclusion with such small number of positions.
Cornfed
Posts: 511
Joined: Sun Apr 26, 2020 11:40 pm
Full name: Brian D. Smith

Re: Stockfish - Update architecture to "SFNNv4

Post by Cornfed »

Milos wrote: Mon Feb 14, 2022 5:10 pm
Cornfed wrote: Mon Feb 14, 2022 1:24 am I am curious, with this approach, how do you actually evaluate 'superior'?

Me, I just bounce around an already very well researched opening lines, which may go fairly deep - quiet, tactical. no endgames. I do so on single pv and then again on multi-pv for several minutes to compare suggestions between two engines (Depth of 39 or more usually)...looking towards which seems to offer the better suggestion(s) quicker...and generally stays with it/them longer instead of flipping around the order so much. All a bit subjective but played out against a very well thought out file.
Well it's also highly subjective. I ran it on around 10 positions, all of them either middle game or endgame. The new version was finding correct moves much earlier (at lower depth too), evaluation was much more accurate (less fail lows/fail highs, less plateauing) and it was eventually reaching higher depth quicker despite having lower nps and to me it looks the reason is not more selective but more stable search.
For the openings I guess it's hard to get some conclusion with such small number of positions.
Thanks. Very odd - "lower nps"? I reached a LOT more kNps with the newest AVX2 version (compared to AVX2 from 1/29/2022), within Chessbase 16 in every position.
Chessqueen
Posts: 5685
Joined: Wed Sep 05, 2018 2:16 am
Location: Moving
Full name: Jorge Picado

Re: Stockfish - Update architecture to "SFNNv4

Post by Chessqueen »

Milos wrote: Mon Feb 14, 2022 5:10 pm
Cornfed wrote: Mon Feb 14, 2022 1:24 am I am curious, with this approach, how do you actually evaluate 'superior'?

Me, I just bounce around an already very well researched opening lines, which may go fairly deep - quiet, tactical. no endgames. I do so on single pv and then again on multi-pv for several minutes to compare suggestions between two engines (Depth of 39 or more usually)...looking towards which seems to offer the better suggestion(s) quicker...and generally stays with it/them longer instead of flipping around the order so much. All a bit subjective but played out against a very well thought out file.
Well it's also highly subjective. I ran it on around 10 positions, all of them either middle game or endgame. The new version was finding correct moves much earlier (at lower depth too), evaluation was much more accurate (less fail lows/fail highs, less plateauing) and it was eventually reaching higher depth quicker despite having lower nps and to me it looks the reason is not more selective but more stable search.
For the openings I guess it's hard to get some conclusion with such small number of positions.
Also all the previous Stockfish performed very bad against 2500 Elo engines at Knight Odds, and so far it is doing great against Komodo Dragon 2.6.1 UCI-Elo= 2500

[pgn][Event "g1 Knight Odds"]
[Site "MININT-UB2PIMJ"]
[Date "2022.02.14"]
[Round "?"]
[White "Stockfish_22021301_x64_avx2"]
[Black "Dragon-2.6.1-64bit-avx2"]
[Result "1/2-1/2"]
[BlackElo "2500"]
[Time "11:48:31"]
[WhiteElo "3600"]
[TimeControl "60+3"]
[SetUp "1"]
[FEN "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKB1R w KQkq - 0 1"]
[Termination "normal"]
[PlyCount "232"]
[WhiteType "program"]
[BlackType "program"]

1. e4 d5 2. exd5 Nf6 3. d4 e5 4. dxe5 Nxd5 5. Bb5+ c6 6. Be2 Bb4+ 7. c3 Ba5
8. O-O O-O 9. Kh1 Na6 10. f4 Bc7 11. b4 f6 12. Ba3 Ne3 13. Qb3+ Kh8 14. b5
cxb5 15. Rf3 Bb6 16. Bxf8 Qxf8 17. Na3 Bd7 18. Nxb5 Nc5 19. Qb2 Ne4 20. Bd3
Bxb5 21. Qxb5 f5 22. Re1 Nxc3 23. Qb3 Ncd5 24. Bc4 Qc5 25. Bxd5 Nxd5 26. h3
h6 27. Rd1 Ne3 28. Re1 Nc2 29. Rc3 Qf2 30. Rc1 Ne3 31. Rc8+ Bd8 32. Qxb7
Rxc8 33. Rxc8 Qf1+ 34. Kh2 Qxf4+ 35. Kh1 Qh4 36. Qa8 Qe1+ 37. Kh2 Nf1+ 38.
Kg1 Nd2+ 39. Kh2 Kh7 40. Rxd8 Qxe5+ 41. Kg1 Qe1+ 42. Kh2 Kg6 43. Rxd2 Qxd2
44. Qxa7 Kh7 45. Qa4 Qd6+ 46. Kh1 Qc5 47. Qd1 Qa5 48. a4 Kg6 49. Qd4 Qe1+
50. Kh2 Qa5 51. g3 Qe1 52. Qd5 Qf2+ 53. Qg2 Qe1 54. h4 h5 55. Qd5 Qe2+ 56.
Qg2 Qe1 57. Qc6+ Kh7 58. Qd5 Qe2+ 59. Qg2 Qe1 60. Qc2 Kg6 61. Qg2 Kh6 62.
Qd5 Qe2+ 63. Qg2 Qe1 64. Qc6+ Kh7 65. Qf3 Kg6 66. Kh3 Qa1 67. Qc6+ Kh7 68.
Qf3 g6 69. Qc6 Qe1 70. Qc7+ Kh6 71. Qf4+ Kg7 72. Qc7+ Kf6 73. Qb6+ Ke5 74.
Qb8+ Kd5 75. Qb5+ Kd6 76. Qd3+ Ke7 77. Qf3 Kd7 78. Qd5+ Kc7 79. Kh2 Qe2+
80. Qg2 Qe5 81. Qc2+ Kb6 82. Qb3+ Ka5 83. Qc4 Qb2+ 84. Kg1 Qb6+ 85. Kg2
Qb7+ 86. Kf2 Qd7 87. Qb3 Qc6 88. Qf3 Qc2+ 89. Ke3 Qc4 90. Qa8+ Kb4 91. Qb8+
Kxa4 92. Qf4 Kb4 93. Qxc4+ Kxc4 94. Kf4 Kd3 95. Kg5 Ke3 96. Kxg6 f4 97.
gxf4 Kxf4 98. Kxh5 Kf5 99. Kh6 Kf6 100. h5 Kf7 101. Kg5 Kg7 102. h6+ Kf7
103. Kf5 Kg8 104. Kg5 Kf7 105. Kf5 Kg8 106. Kg4 Kh7 107. Kh5 Kh8 108. Kg6
Kg8 109. Kf5 Kf7 110. Kg5 Kg8 111. Kg4 Kf7 112. Kg5 Kg8 113. Kh4 Kf7 114.
h7 Kg7 115. Kg4 Kh8 116. Kh4 Kxh7 {Insufficient material} 1/2-1/2[/pgn]
Milos
Posts: 4190
Joined: Wed Nov 25, 2009 1:47 am

Re: Stockfish - Update architecture to "SFNNv4

Post by Milos »

Cornfed wrote: Mon Feb 14, 2022 5:22 pm
Milos wrote: Mon Feb 14, 2022 5:10 pm
Cornfed wrote: Mon Feb 14, 2022 1:24 am I am curious, with this approach, how do you actually evaluate 'superior'?

Me, I just bounce around an already very well researched opening lines, which may go fairly deep - quiet, tactical. no endgames. I do so on single pv and then again on multi-pv for several minutes to compare suggestions between two engines (Depth of 39 or more usually)...looking towards which seems to offer the better suggestion(s) quicker...and generally stays with it/them longer instead of flipping around the order so much. All a bit subjective but played out against a very well thought out file.
Well it's also highly subjective. I ran it on around 10 positions, all of them either middle game or endgame. The new version was finding correct moves much earlier (at lower depth too), evaluation was much more accurate (less fail lows/fail highs, less plateauing) and it was eventually reaching higher depth quicker despite having lower nps and to me it looks the reason is not more selective but more stable search.
For the openings I guess it's hard to get some conclusion with such small number of positions.
Thanks. Very odd - "lower nps"? I reached a LOT more kNps with the newest AVX2 version (compared to AVX2 from 1/29/2022), within Chessbase 16 in every position.
I'm using "modern" CPU compile since my CPUs are prehistoric age kind of "modern" (they are soon to become teens) ;).
Chessqueen
Posts: 5685
Joined: Wed Sep 05, 2018 2:16 am
Location: Moving
Full name: Jorge Picado

Re: Stockfish - Update architecture to "SFNNv4

Post by Chessqueen »

Chessqueen wrote: Mon Feb 14, 2022 7:00 pm
Milos wrote: Mon Feb 14, 2022 5:10 pm
Cornfed wrote: Mon Feb 14, 2022 1:24 am I am curious, with this approach, how do you actually evaluate 'superior'?

Me, I just bounce around an already very well researched opening lines, which may go fairly deep - quiet, tactical. no endgames. I do so on single pv and then again on multi-pv for several minutes to compare suggestions between two engines (Depth of 39 or more usually)...looking towards which seems to offer the better suggestion(s) quicker...and generally stays with it/them longer instead of flipping around the order so much. All a bit subjective but played out against a very well thought out file.
Well it's also highly subjective. I ran it on around 10 positions, all of them either middle game or endgame. The new version was finding correct moves much earlier (at lower depth too), evaluation was much more accurate (less fail lows/fail highs, less plateauing) and it was eventually reaching higher depth quicker despite having lower nps and to me it looks the reason is not more selective but more stable search.
For the openings I guess it's hard to get some conclusion with such small number of positions.
Also all the previous Stockfish performed very bad against 2500 Elo engines at Knight Odds, and so far it is doing great against Komodo Dragon 2.6.1 UCI-Elo= 2500. I wonder how Komodo Dragon 2.6.1 full strength does against Komodo Dragon 2.6.1 UCI-Elo = 2500 at Knight Odds

[pgn][Event "g1 Knight Odds"]
[Site "MININT-UB2PIMJ"]
[Date "2022.02.14"]
[Round "3"]
[White "Stockfish_22021301_x64_avx2"]
[Black "Dragon-2.6.1-64bit-avx2"]
[Result "0-1"]
[BlackElo "2500"]
[Time "12:05:14"]
[WhiteElo "3500"]
[TimeControl "120+3"]
[SetUp "1"]
[FEN "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKB1R w KQkq - 0 1"]
[Termination "normal"]
[PlyCount "49"]
[WhiteType "program"]
[BlackType "program"]


1. d4 e5 2. e4 d5 3. Nc3 Bb4 4. Bb5+ c6 5. Be2 dxe4 6. O-O Qxd4 7. Qxd4
exd4 8. Nxe4 Bf5 9. Rd1 Be6 10. Bg5 Be7 11. Bxe7 Kxe7 12. Nc5 Nd7 13. Nxb7
c5 14. Na5 Rc8 15. Bf3 Kf6 16. Re1 Ne7 17. Rad1 Rc7 18. c3 dxc3 19. bxc3 c4
20. Be2 Rhc8 21. f4 g6 22. Rd6 Nf5 23. Rd2 h5 24. h3 Rc5 25. Nb7 Rd5 26.
Rb2 h4 27. a4 Ng3 28. Bf3 Rd3 29. Rbb1 Nb6 30. Ra1 Nd7 31. a5 Nc5 32. Nxc5
Rxc5 33. Rec1 Rxf3 34. gxf3 Ne2+ 35. Kf1 Nxc1 36. Rxc1 {White resigns} *[/pgn]
Chessqueen
Posts: 5685
Joined: Wed Sep 05, 2018 2:16 am
Location: Moving
Full name: Jorge Picado

Re: Stockfish - Update architecture to "SFNNv4

Post by Chessqueen »

Sorry I realized that somehow the UCI-Elo for Stockfish was set to 2850 for the previous game instead of full strength, so please disregard the previous game and here is the previous game replayed from the 3rd move. So far stockfish can only draw against Komodo Dragon set to UCI-Elo = 2500 at knight odds :roll:

[pgn][Event "g1 Knight Odds"]
[Site "MININT-UB2PIMJ"]
[Date "2022.02.14"]
[Round "3"]
[White "Stockfish_22021301_x64_avx2"]
[Black "Dragon-2.6.1-64bit-avx2"]
[Result "1/2-1/2"]
[BlackElo "2500"]
[Time "12:05:14"]
[WhiteElo "3500"]
[TimeControl "120+3"]
[SetUp "1"]
[FEN "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKB1R w KQkq - 0 1"]
[Termination "normal"]
[PlyCount "49"]
[WhiteType "program"]
[BlackType "program"]

1. d4 e5 2. e4 d5 3. Nc3 Bb4 4. dxe5 Ne7 5. Bd2 dxe4 6. Qe2 Nbc6 7. O-O-O
Qd4 8. Bf4 Qb6 9. Nxe4 Ng6 10. Bg3 Qa5 11. a3 Bxa3 12. bxa3 Qxa3+ 13. Kb1
Be6 14. c3 Bf5 15. e6 fxe6 16. f3 Bxe4+ 17. Qxe4 Qb3+ 18. Kc1 Qxc3+ 19. Qc2
Qxc2+ 20. Kxc2 Nge7 21. Kb2 Nd5 22. Bb5 a6 23. Rhe1 Kf7 24. Bxc6 bxc6 25.
Bxc7 Rhc8 26. Be5 a5 27. Rd4 a4 28. Ka3 Ra7 29. Rg4 Kg8 30. Rxa4 Rb7 31.
Re2 Rd7 32. Kb2 c5 33. Ree4 Kf7 34. h4 h6 35. h5 Rc6 36. Ra8 Rb6+ 37. Kc1
Rb4 38. Rxb4 Nxb4 39. Bc3 e5 40. Bxb4 cxb4 41. Rb8 Rd4 42. Rb7+ Kf6 43.
Rb6+ Kg5 44. Rg6+ Kh4 45. Rxg7 Kxh5 46. Re7 Kh4 47. Rxe5 Kg3 48. Re6 h5 49.
Rg6+ Kh2 50. g3 Rc4+ 51. Kb2 Rc3 52. Kb1 Rb3+ 53. Kc1 Rxf3 54. Rg5 h4 55.
gxh4 Rc3+ 56. Kb2 Re3 57. h5 Rh3 58. h6 Rxh6 59. Rg7 Rh3 60. Rg4 Rh5 61.
Kb3 Rf5 62. Kxb4 Rf6 63. Kb3 Kh3 64. Rg1 Kh4 65. Rh1+ Kg5 66. Rg1+ Kh5 67.
Rh1+ Kg6 68. Rg1+ Kf7 69. Kc2 Rf3 70. Rb1 Rf2+ 71. Kd3 Kf8 72. Ra1 Ke8 73.
Ke3 Rb2 74. Ke4 Rb4+ 75. Ke5 Kf8 76. Rh1 Kg7 77. Rf1 Rb2 78. Kd5 Kh7 79.
Ra1 Kg8 80. Rg1+ Kf7 81. Rf1+ Ke8 82. Rh1 Kd7 83. Rh7+ Kd8 84. Kc5 Rb3 85.
Kd5 Rb1 86. Kd4 Rc1 87. Ke3 Re1+ 88. Kd2 Rf1 89. Kd3 Ra1 90. Kc3 Rg1 91.
Kb2 Rg3 92. Rb7 Re3 93. Rh7 Rg3 94. Rf7 Rg2+ 95. Kb3 Rh2 96. Rf1 Kc7 97.
Rd1 Kc6 98. Kc4 Rh8 99. Rd2 Rh3 100. Kd4 Kd6 101. Ke4+ Ke6 102. Rg2 Rh4+
103. Kd3 Rf4 104. Ke3 Ra4 105. Kf3 Ra7 106. Rd2 Rg7 107. Ra2 Ke5 108. Ke3
Rb7 109. Kd3 Rf7 110. Kc4 Rd7 111. Rg2 Kf5 112. Rg1 {50 moves rule} *[/pgn]