Final standings
rofChade and SlowChess advance to the premier division. The results of the final RR were a surprise I haven't seen in TCEC for a long time. Koivisto led the league for the first 3 RRs, it had a 2.5 point lead over 3rd place. In the last RR Koivisto crashed in one game and lost two, including a crucial loss to rofChade (after winning in the same opening in RR3). rofChade had 3 wins in the last RR, just enough to be 0.5 points ahead of Koivisto. In the deciding last round rofChade won against Ethereal and Koivisto only managed a draw as white against SlowChess. Koivisto would have promoted in case of a 2-way tie with rofChade (or a 3-way tie with SlowChess) because of its head to head results, so it needed just one more win or one less loss (e.g. its crash). In the end rofChade is the leader of the league on SB tiebreak over SlowChess.
Nemorino and Minic are relegated to league 2. Minic promoted from league 2 and it will go back there for next season. Nemorino was last in league 1 last season but wasn't relegated due to higher ranked engines dropping out. This season it is relegated again (unless the same happens next season...)
rofChade and SlowChess will join the following engines in the premier division, all played in the premier division of season 21:
Stockfish, Leela, KomodoDragon, Stoofvlees, ScorpioNN, Igel
AllieStein will not participate in season 22 after playing in the premier division since season 15, its best result was runner-up in the superfinal of season 16. It was part of the top 3 group together with Stockfish and Leela for several seasons, dropping down a little after Komodo became KomodoDragon. It will not play this season due to problems running on TCEC hardware, I don't know if there is an update planned for the future.
Interesting games
game 1, RubiChess - Minic: RubiChess had an eval advantage with a passer in the center. RubiChess opened the queen side and evals started to increase in a QRB vs QRB position. RubiChess reduced to a queen ending and went a pawn up, then exchanged queens for a tablebase win.
game 10, rofChade - RubiChess: Evals started to increase after rofChade placed a knight on c6 and cleared the path for a passer on the b file. The engines exchanged pieces, RubiChess managed to capture the passer but it lost a piece. The game reached a RN vs R position, rofChade was down to its last pawn and rofChade used it to exchange knight for rook and win.
game 15, RubiChess - Revenge: The engines opened the position with exchanges and RubiChess was a pawn up. For a long while Revenge had the initiative as it tried to attack the white king, however RubiChess defended well and evals increased gradually. RubiChess exchanged pieces when possible until there was nothing left of Revenge's attack, then RubiChess captured a knight and reduced to a QN vs Q position. The game ended in mate 25 moves later.
game 16, Koivisto - rofChade: Koivisto went a pawn up and had a bishop pair compared to a knight pair for rofChade. rofChade was slow developing its queen side, the knight moved only on move 28 freeing the rook. Koivisto planted a bishop on e6 and a few moves later the second bishop moved to d6. rofChade traded BB for RN and the game reached a RR vs RN position. Koivisto captured all the black pawns and reduced to a tablebase win.
game 20, SlowChess - Nemorino: SlowChess pushed pawns on the king side, Nemorino countered on the queen side. SlowChess trapped a black bishop with a pawn on h6, a series of exchanges reduced to a RB vs BN position. SlowChess pinned the bishop and chased the knight, after capturing the knight mate came quickly.
game 23, Koivisto - Ethereal: Koivisto went up a pawn, it had a passer in the center supported by a bishop on c6 in a RRB vs RRB position. The black pieces were limited, by the time Ethereal captured the passer in the center Koivisto created passers on both flanks. Ethereal captured one, after exchanging a pair of rooks Koivisto pushed the other to the 6th rank and the black rook moved to block. Koivisto patiently captured the remaining black pawns and reduced to a tablebase win.
game 36, Koivisto - RubiChess: Evals increased when Koivisto pushed pawns on the queen side forcing the black pieces to retreat. Koivisto had a strong bishop pair with a lot of space after all the pawns on the queen side were gone. It took Koivisto 15 moves of preparation, after a series of exchanges the game reached a RB vs BN position. Progress was slow, after 13 moves Koivisto exchanged bishops and 18 moves later the game ended in a tablebase win.
game 41, SlowChess - Minic: Minic was up a pawn early, but its king moved without castling and SlowChess had an eval advantage. Minic opened the h file and freed its rook, for a long time the engines shuffled with evals constant. Evals started to increase on move 74, Minic was low on time and started to make mistakes. SlowChess opened the position, gained material and reduced to a tablebase win.
game 48, Nemorino - SlowChess: Nemorino had an eval advantage in a closed position, SlowChess gave material on the queen side and threatened the white king on the king side. Evals came down, on move 33 Nemorino was not careful enough and evals turned negative and jumped. SlowChess reduced to a QR vs QRB position, it was 3 pawns down but the white king was still trapped in the corner. After exchanging queens SlowChess captured pawns and created passers to win. First black win, a double win for SlowChess in this opening.
game 53, Minic - Revenge: Revenge did not castle its king, and Minic captured a rook for a knight and pawn. Minic pushed a passer to the 6th rank, Revenge blocked it while its king walked to safety on the queen side. A series of exchanges left a QRN vs QBN position, Revenge gave its knight for the passer and Minic was down to its last pawn. Minic exchanged queens and captured the last black piece to win. This was the first Minic win, there were two white wins in this opening.
game 56, RubiChess - Nemorino: RubiChess captured a pawn and then started an attack on the black king with a rook sacrifice. After a series of exchanges only BN vs RB remained, RubiChess 3 pawns up with a passer on the 7th rank. Progress was slow, the engines traded pawns until all the black pawns were gone. Nemorino could not prevent RubiChess from queening, game over.
Standings after RR2: Koivisto +4, SlowChess +3, rofChade RubiChess +1, Revenge Ethereal -1, Nemorino -2, Minic -5. Koivisto continues to dominate league 1 as well, so far winning 4 game pairs. It is likely to advance to the premier division. SlowChess is 0.5 points behind, it also has a good chance of promoting though it only won against the two engines at the bottom (beating Nemorino twice). Minic lost 5 game pairs, it is likely to relegate back to league 2. The remaining 5 engines are close to each other and anything can happen. Note that Ethereal, which played in the premier division last season, lost once to Koivisto and hasn't won a single game yet.
game 58, Koivisto - Nemorino: There were many early exchanges, only rooks and minors were left and Koivisto had a passer on the queen side. Nemorino blocked the passer on the 5th rank, the engines mainly shuffled but evals slowly drifted up. Evals started to jump after Koivisto exchanged knights, it pushed the passer forward a square and exchanged a pair of rooks. The white king came forward and Nemorino had to give a rook to stop the advancing passer. Koivisto used its pieces to stop the advancing black pawns, and its last pawn ensured the win.
game 63, Nemorino - rofChade: The game reached an unusual RR vs BBNN position on move 28. Nemorino was 3 pawns up with connected passers on the queen side, but it couldn't find a way to improve. One passer was blocked on the 7th rank, the game ended in a tablease draw.
game 68, Ethereal - SlowChess: The engines shuffled for a long while in a closed position. On move 60 evals started to increase as Ethereal pushed pawns forward. With RRB vs RRB left the engines opened the position, Ethereal had a passer on both sides while SlowChess had connected passers in the center. Ethereal blocked the black passers and was able to trade its queen side passer for a rook. The game soon reached a tablebase win for white.
game 71, RubiChess - Revenge: RubiChess had an eval advantage from the start, it managed to place a bishop on a strong square on the 5th rank and went a pawn up. Revenge traded a rook for the bishop and the position opened up. After several exchanges QRR vs QRB remained, RubiChess with a passer in the center. RubiChess gave a pawn to create a second advanced passer, after exchanging queens Revenge had to give its two remaining pieces to stop the passers, game over.
game 72, Koivisto - rofChade: The black queen went forward and rofChade went a pawn up. Koivisto threatened to trap the queen, then captured a rook for a bishop. For a while rofChade seemed to be holding, evals started to increase after exchanges cleared the board. The game reached a RRN vs RNN position, all pieces were concentrated on the king side and progress was slow. Eventually Koivisto captured the last black pawn and reduced to a tablebase win.
game 76, SlowChess - Nemorino: SlowChess gave a pawn and doubled rook and queen on the h file. The pressure on the king side increased, Nemorino tried to exchange pieces but this also reduced the number of defenders. SlowChess moved a pawn to f6 through an exchange of knights, this allowed the white rooks to move forward. SlowChess won a piece in a series of exchanges and only QB vs Q remained. After capturing a few pawns and exchanging queens SlowChess queened a pawn to win.
game 79, Koivisto - Ethereal: There were almost no exchanges after the start, Koivisto had an eval advantage. There was a period of shuffling, then a few exchanges, evals drifted down slowly. Around move 60 evals started to increase again, with both engines in blitz mode. Koivisto used a minor piece exchange to get a protected passer to f6, and Ethereal had to block it with pieces. Ethereal struggled to defend on the king side, Koivisto then created a passer on the queen side and Ethereal's defense collapsed. Koivisto gained material, then attacked and mated the black king.
game 80, rofChade - Revenge: The game reached a RBN vs RRN position with rofChade 2 pawns up. Evals increased gradually in a slow endgame, rofChade created a central passer and it had a pawn majority on the queen side. The white king came forward, after exchanging a pair of rooks rofChade managed to capture the last black pawn on the queen side. Eventually rofChade queened a passer to win.
game 83, SlowChess - Koivisto: The game reached a RNN vs RNN position, SlowChess with an eval advantage and a queen side passer. The black king walked across the board to block the passer on the 6th rank. Evals slowly increased as all pieces concentrated on the queen side. Eventually Koivisto gave a rook for a knight to capture the passer. The white rook was much quicker than the knights, it shifted to the king side and SlowChess created a passer there. Koivisto delayed as much as it could but in the end it lost both its knights trying to stop the passer, the game reached a tablebase win. This was the first loss for Koivistio.
Standings after RR3: Koivisto +7, SlowChess +4, rofChade RubiChess +2, Ethereal -1, Revenge -2, Nemorino -4, Minic -8. Koivisto extended its lead despite losing a game for the first time in the league. SlowChess, rofChade and RubiChess all added a +1 score in RR3, the race for 2nd place is still alive. At the bottom Minic is heading for relegation, there is still some hope for Nemorino. Ethereal finally won its first game, it will probably stay in this league.
game 88, Ethereal - Revenge: The game reached a RRN vs RRN position, Revenge with a queen side passer on the 4th rank. All rooks were attacking or defending the passer, for a while the engines shuffled. Ethereal's eval jumped when it found a way to drive the black knight back to a square behind the passer, this allowed Ethereal to capture the passer and exchange a pair of rooks. Evals jumped again when Ethereal opened the king side, it captured the black pawns and created two passers. The black king was on the wrong side to help and Revenge could not prevent a queening, game over.
game 90, Revenge - SlowChess: Revenge went up a pawn early, evals changed very slowly as the engines exchanged pieces. The game reached a BNN vs BNN position, after a while Revenge captured a second pawn and created a passer on the queen side. While SlowChess defended on the queen side Revenge captured another pawn on the king side and added more passers. SlowChess' defense collapsed, Revenge gained more material, then it queened a passer and won.
game 91, rofChade - Nemorino: Nemorino captured an early pawn while rofChade moved a passer to the 7th rank. Nemorino captured the passer but lost its queen, the engines reduced to a Q vs R ending with Nemorino two pawns up. The white king came forward and rofChade captured the black pawns one by one. The game ended in a tablebase win.
game 92, Koivisto - RubiChess: Koivisto crashed after playing only 2 moves.
game 96, SlowChess - Ethereal: There were many early exchanges and SlowChess went a pawn up. Ethereal moved its queen and rook to the open queen side, then was caught off guard when SlowChess opened the king side. Ethereal regained the pawn but its king was under attack. SlowChess broke through with a rook for knight sacrifice, then reduced to a BN vs B position. Ethereal was two pawns up and SlowChess had to be careful, it took 25 moves to reach a tablebase win. There were two white wins in this opening.
game 98, Ethereal - Nemorino: Ethereal pushed pawns on the king side and evals increased. A series of exchanges opened the king side and Ethereal moved its pieces there to attack the black king. Nemorino traded its queen for two rooks and the game reached a QB vs RRB position. Ethereal captured two pawns, then used a mate threat to force a bishop for rook exchange. The material advantage was enough for a win.
game 99, Revenge - RubiChess: The game reached a RB vs RN position and seemed to be heading for a draw. RubiChess did not see the danger coming on move 48, Revenge's eval jumped as it reduced to a rook ending, The white king side passers became very dangerous, RubiChess had to block with its rook. Revenge captured two pawns and then the black rook to win. There were two white wins in this opening.
game 100, rofChade - Koivisto: The game reached a rook ending on move 42, each engine with 7 pawns. rofChade used zugzwang to create a passer on the queen side. The black king was cut off and Koivisto had to block the passer on the 7th rank with its rook. Koivisto captured the passer but rofChade created another, and Koivisto could not stop it without losing its rook. Either way it was game over. There were two white wins in this opening..
Standings with 3 rounds to go: Koivisto SlowChess +5, rofChade +4, RubiChess +2, Ethereal +1, Revenge -1, Nemorino -6, Minic -10. Koivisto with a loss and a crash is suddenly not the clear leader. SlowChess lost one game but won two, it is now the joint leader. rofChade had two wins, in particular it beat Koivisto after losing in RR3, it is now only 0.5 points behind. The promotion race is suddenly wide open, with Koivisto yet to play against SlowChess. At the bottom Minic is officially relegated, Nemorino very likely to join it.
game 102, Koivisto - Revenge: Revenge gave a knight for a pawn to weaken the defense of the white king. Koivisto thought it had a significant advantage but it soon realized Revenge had a way out. Revenge gave more material and was down a rook, but its advanced passers and threats on the white king were enough to regain some material and force a perpetual check draw.
All games in round 26 ended in a draw. Koivisto failed to win as white against Revenge, rofChade and SlowChess held draws as black against Minic and Nemorino. No change in the scores, two rounds to go.
game 107, Ethereal - Koivisto: Ethereal had an eval advantage from the start. The engines exchanged pieces until only QBN vs QBN remained, evals did not change. Ethereal managed to push a pawn and open the king side, then it captured a pawn on the queen side and evals started to increase. The engines exchanged queens and pawns until there were only two white pawns. Koivisto lost its knight to stop one passer, but couldn't prevent the other from queening, game over. There were two white wins in this opening.
Koivisto lost another game and it is no longer in the lead. SlowChess only managed a draw as white against RubiChess, rofChade held a draw as black against Revenge. Standings before the last round: SlowChess +5, Koivisto rofChade +4, RubiChess Ethereal +2, Revenge -1, Nemorino -6, Minic -10.
game 110, rofChade - Ethereal: The game reached a RRN vs RRB position, evals increased as rofChade traded a pair of rooks and moved its second rook to the 7th rank. Ethereal gave its bishop for two pawns and tried to exchange as many pawns as possible. rofChade kept one last pawn and pushed it forward. Eventually Ethereal had to give its rook to stop the white pawn, the game ended in a tablebase win.
rofChade secured promotion with its final round win. Koivisto needed a win as white against SlowChess, it had an eval advantage in a closed position but when the position opened up evals dropped and the game ended in a draw. Final standings at the top: SlowChess rofChade +5, Koivisto +4.