Thursday, March 31, 2022

Season 22 premier division statistics

A summary statistics table of previous stages and seasons.  

Draw rate, wins

Final draw rate was 58.0%. 

Game termination

The three most common game termination causes were:

42.0% - TCEC draw rule
35.7% - SyzygyTB
17.0% - Mate

There was one crash in the stage by ScorpioNN.

Moves per game

Median= 69
Average= 75.6

There were 25 games longer than 100 moves, the longest was 311 moves (SlowChess - Stoofvlees, game 119, draw). 

Time per game (hours)

Median= 2:07
Average= 2:05

Openings

There were 8-move book openings in this stage chosen by Cato. The first letter of the ECO codes was distributed as follows:

The engines had almost no freedom to choose the opening variant, all of the game pairs repeated the same ECO code and the same opening variant twice.

Reverse pairs, wins

Reverse pairs, same moves

Most of the pairs of reverse games diverged quickly, 20.5% diverged immediately out of book, 51.8% of the pairs diverged at most after 1 move. The longest repeated sequence of moves was 24 plys (Stockfish - Leela, games 6 and 34, Scandinavian defence, two draws) 


Friday, March 25, 2022

Season 22 premier division, final results

 Final standings

Stockfish and KomodoDragon will play in the season 22 superfinal. In RR7+8 both won all their game pairs against bottom5 engines and drew their games within the top3. As a result Stockfish kept its small lead of 0.5 points. Leela still had a small chance of catching up with the leaders but in RR7+8 it drew as white against rofChade and Stoofvlees, and it lost as black against SlowChess (after winning as white). Instead of getting closer Leela lost touch with the leaders and finished 3 points from 2nd place.

ScorpioNN and Igel are relegated to League 1. All the game pairs within the bottom5 engines in RR7+8 were drawn except two, Stoofvlees and SlowChess beat Igel. Combined with the results of the games against Leela, ScorpioNN and Igel only got further behind and could not escape relegation. 

There was a clear divide between the top3 and the bottom5 in the division. The top3 beat the bottom5 in 48/60 game pairs without loss (though there were a few which were drawn with two white wins). The fact that Leela drew 8 such game pairs, compared to 2 each for its rivals, is the main reason Leela finished 3rd. Within the top3 only 1/12 game pairs was decisive and not two draws, in it Stockfish beat KomodoDragon. This explains why Stockfish won the division, and may also hint to the result of the superfinal.

Stockfish and KomodoDragon led the division from the start and we had almost 3 weeks to let this sink in, but still the fact that KomodoDragon is in and Leela is out is a big surprise. At least to me, perhaps those who are following the development of chess engines more closely knew this was going to happen. The last time Leela was not in the superfinal was in season 16. The superfinal of TCEC has been Stockfish - Leela since season 14, except once when AllieStein replaced Leela in season 16. The last time KomodoDragon was in the superfinal was in season 13 (then only Komodo), when the NN revolution only started. Note that Leela may have been the first strong NN engine in TCEC, but now almost all engines in TCEC uses NNUE technology, so it's more a case of "if you can't beat them, join them". 

Finally, I saw on Chessdom and also in the chat that this was the last season Nelson Hernandez (aka Cato the Younger) provided opening books. I checked back in my reports and it seems Cato first organized the TCEC opening books in season 6, the T in TCEC still stood for Thoresen in those days. Cato has had a huge impact on TCEC, always trying to keep the draw rate not too high and not too low, faced with ever improving chess engines. In the last few seasons some of Cato's duties were shared with other opening book authors, I hope that in the future TCEC will be as interesting and as much fun without Cato's openings. I'm sure that the legendary Catobase and Cato's Fault will still have a place in TCEC and I'm looking forward to seeing Cato in the chat as a viewer/commentator.

Interesting games 

game 170, KomodoDragon - SlowChess: The center was blocked and there were only a few exchanges. KomodoDragon had a space advantage, it chose not to castle its king. There was an opening in the pawn wall on the king side, and after SlowChess captured a pawn on the queen side KomodoDragon could also attack there, it had to decide where to go. The pieces went to the queen side, and then KomodoDragon gave a rook for a knight on the king side and created a passer on the 7th rank. SlowChess could only block and wait while more white pieces move to the king side. Eventually SlowChess lost a rook for the passer and it continued to lose material, the game ended in a tablebase win.

game 172, Leela - Igel: Leela went up a pawn early, then a series of exchanges cleared the center and most minor pieces. The game reached a RN vs RB position, Leela two pawns up with a doubled passer. After exchanging rooks Leela slowly pushed its passers forward, Igel captured one but Leela gave its knight and queened the other, game over.

game 175, SlowChess - Stoofvlees: SlowChess created an advanced passer in the center, Stoofvlees blocked it and focused mostly on the king side. The game reached a QR vs QN position with both kings exposed and SlowChess two pawns up. Evals were under 1 for a while but then they started to jump, SlowChess pushed the passer to the 7th rank. Stoofvlees tried to counter with its own passer, but when the white king came forward Stoofvlees was forced to exchange queens. SlowChess was on time to delay the black passer, it queened one passer and finished the game with a spectacular under promotion to a knight of a second passer to a knight, and mate.

game 177, KomodoDragon - rofChade: Evals gradually increased from the start though rofChade was a pawn up. On move 23 KomodoDragon had advanced connected passers in the center which restricted rofChade's movement. After some preparation KomodoDragon pushed a passer to the 7th rank, it was difficult for rofChade to defend and it started losing material. The game ended in mate.

game 178, Stoofvlees - ScorpioNN: The game reached a RB vs RN position with evals under 1. ScorpioNN missed something or did not think far enough, it gave a pawn and Stoofvlees' eval jumped. The engines played a long PV agreement and towards its end ScorpioNN started to see the problem. The engines reduced to a won 7-man rook ending with the white rook on the 7th rank and a passer on the 6th rank. Stoofvlees did not make mistakes and the game ended in a tablebase win.

game 179, Leela - SlowChess: Leela captured a rook for a knight and pawn early, and it pushed a passer to d6. SlowChess captured the passer after a while, the game reached a RR vs RB position. Leela pushed another passer on the d file, eventually SlowChess lost its bishop for the passer. Leela was 3 pawns down but the extra rook was enough for a win. Leela was in no hurry to mate, the game ended in a tablebase win.

game 182, SlowChess - Igel: SlowChess was up a rook for a knight and pawn early, with the queens off the board. The game reached a RN vs BN position and Igel still thought it was ok. SlowChess created a passer and pushed it to the 7th rank, Igel's eval started to increase as well. Igel captured the passer but the black pawns fell one by one and eventually the game ended in a tablebase win.

game 184, KomodoDragon - Stoofvlees: KomodoDragon's eval started to jump on move 18, the engines followed a PV agreed series of exchanges that resulted in a QRN vs QRB position. Stoofvlees thought it was ok, even when it didn't play instantly. On move 31 Stoofvlees finally saw the problem, the engines reduced to a king and pawns ending which was a win for white.

game 187, Igel - ScorpioNN: Evals increased after Igel captured a rook for a bishop. ScorpioNN managed to equalize material but Igel went a pawn up in a QRN vs QRN position. After a while Igel gave its rook for a knight and pawn, and created connected passers in the center. ScorpioNN captured one passer and reduced to a queen ending, the other white passer was enough to win.

game 188, Stockfish - SlowChess: Evals increased from the start, the engines played out a long PV agreement where initially Stockfish gave a knight but attacked the black king forcing it to move. Stockfish got the piece back but was two pawns down, however the black queen side rook was trapped. After some preparation Stockfish reduced to a QR vs QR position and captured two pawns. The game ended in a tablebase win.

game 191, KomodoDragon - Igel: There was only one pawn pair exchanged after the start, KomodoDragon had a space advantage with both bishops placed behind the black pawns. Igel opened the queen side and tried to counter but was weak. The engines started to exchange pieces on move 31, KomodoDragon went a pawn up and reduced to a rook ending. KomodoDragon captured the remaining black pawns and the game ended in a tablebase win.

game 193, Leela - rofChade: The game reached a RB vs R position with black two pawns up. Leela's eval was over 1, which is quite high for Leela. In this case, however, rofChade was able to hold, Leela mainly shuffled until its eval dropped and the game was adjudicated.

game 196, SlowChess - ScorpioNN: The engines exchanged pawns and opened files. ScorpioNN went a pawn up while SlowChess threatened the black king through the open h file. ScorpioNN captured a second pawn but a series of exchanges reduced to a R vs N ending. SlowChess managed to stop the black pawns and the game ended in a tablebase win.

Standings after RR7: KomodoDragon +17, Stockfish +15, Leela +12, rofChade -3, Stoofvlees -6, SlowChess -8, ScorpioNN -13, Igel -14. Top3 as white with 7/8 wins vs bottom5, again it was Leela that failed to win, this time against rofChade. Leela has been very consistent in the division, I don't see how it is going to close the gap to 2nd place in the last RR. ScorpioNN lost 3 games within the bottom5, it is very unlikely that it will get out of the relegation zone at this stage.

game 199, Stockfish - Stoofvleees: Stockfish had an eval advantage that increased from the start. It castled long and Stoofvlees opened the queen side to threaten the white king. Stoofvlees castled short to find safety for its king and Stockfish opened a file there. In a very sharp position the engines exchanged pieces and Stockfish essentially traded its queen for two rooks. The game reached a RRN vs QB position and Stockfish went two pawns up. After securing its king Stockfish opened the g file and mated with its rooks.

game 203, Stoofvlees - SlowChess: Queens were off early, almost all pawns remained on the board and the engines exchanged pieces gradually until only RRB vs RRB were left. Evals started to increase, Stoofvlees created a central passer when SlowChess exchanged a pair of rooks (was that necessary?). SlowChess tried to activate its pieces, it gave a pawn and opened the king side. The black pieces moved forward to attack, and the white passer was free to advance. SlowChess gave the bishop for the passer, Stoofvlees was down to one pawn but that was enough for a tablebase win. There were two white wins in this opening.

game 204, KomodoDragon - ScorpioNN: see featured game below.

game 206, ScorpioNN - Stoofvlees: The engines opened the queen side with pawn exchanges, ScorpioNN had an eval advantage and it traded Q for RN. Evals increased after ScorpioNN managed to get a rook to the back rank, then captured a pawn and created a queen side passer. Stoofvlees tried to attack the white king but was too weak and had to defend its own king when ScorpioNN moved a second rook forward. Stoofvlees started to lose pieces, ScorpioNN queened its passer and mated. There were two white wins in this opening.

game 207, SlowChess - Leela: SlowChess had an eval advantage from the start, the engines exchanged pieces until only QRN vs QRB remained. SlowChess had a strong passer in the center, while Leela pushed a passer on the queen side without support. The engines exchanged queens and SlowChess captured the bishop for its passer, it was on time to block the black passer. Eventually SlowChess captured the passer but it was down to its last pawn. SlowChess protected its pawn and opened a clear path for it, Leela couldn't stop the queening, game over. There were two white wins in this opening.

A crucial blow for Leela's dream of a superfinal, effectively 2 points away from 2nd place with 4 games left to play. Stockfish has 3 more games as white against the bottom5, Leela needs a very unexpected miracle to advance.

game 208, Stockfish - Igel: Stockfish's eval started to increase after it went a pawn up and created a passer on the queen side. The engines exchanged pieces until only RR vs RR remained, Igel captured the passer and Stockfish was still a pawn up. Igel's eval reacted slowly, Stockfish exchanged a pair of rooks and then cleared the queen side. There were two connected white passers on the queen side and one black passer on the king side. The engines traded a pair of passers but the remaining white passer secured the win.

game 209, Stockfish - rofChade: rofChade had a tripled pawn on the queen side, evals slowly increased. On move 25 Stockfish created a central passer, the engines reduced to a RRN vs RRB position. A few pawn exchanges cleared the board and Stockfish added a second passer in the center. rofChade gave its bishop to stop one passer, it took Stockfish a while but eventually it exchanged a pair of rooks and captured all the black pawns. Then it queened a passer and mated.

game 211, Leela - ScorpioNN: Leela captured a pawn and its eval started to increase. On move 28 the engines started a long PV agreement in a QRB vs QRB position, ScorpioNN regained the pawn and Leela exposed the black king to attack. A second PV agreement led to a queen ending, Leela was a pawn up in a 7-man position. ScorpioNN delayed as much as it could, the game ended in a tablebase win 25 moves later.

Sandings with 3 round to go: KomodoDragon Stockfish +18, Leela +12, rofChade -4, Stoofvlees -7, SlowChess -8, ScorpioNN -14, Igel -15. The superfinal and the relegating engines are determined.

game 215, ScorpioNN - Igel: The engines opened files on the queen side and most pieces moved there. Igel gave a rook for a bishop, perhaps it thought its bishop pair gave it compensation. Indeed, ScorpioNN chose to give the material back and remove one of the black bishops, evals increased in a QN vs QB position. ScorpioNN exchanged queens, the black bishop was passive defending two pawns. ScorpioNN captured one pawn, then created a passer, Igel's defense collapsed. ScorpioNN captured two more pawns and the game ended in a tablebase win. There were two white wins in this opening.

game 218, Stockfish - ScorpioNN: ScorpioNN moved its king, Stockfish opened the king side and castled long. For a while ScorpioNN thought it was ok while Stockfish's eval increased and the engines exchanged pieces. Stockfish created a queen side passer in a QNN vs QBN position, ScorpioNN captured two pawns but its queen had to run to stop the queening. The black king became vulnerable, ScorpioNN chose to allow a queening for a knight. Stockfish was down 3 pawns in a QQN vs QBN position, the power of the two white queens was too great and the black passers were too slow to avoid mate.

game 222, Stoofvlees - Igel: Evals stayed under 1 for a long time. On move 45 Igel gave a queen for two rooks and the game reached a QB vs RRB position. The engines shuffled or 25 moves, Stoofvlees pushed pawns on the king side and evals started to increase. Progress was very slow, it seemed the engines were shuffling again but evals went higher. The black pieces protected each other but eventually Stoofvlees managed to capture all the black pawns. Igel couldn't handle 3 white passers moving forward, Stoofvlees found a way to reduce to a tablebase win.

game 224, ScorpioNN - SlowChess: Evals increased from the start, SlowChess couldn't find a safe place for its king and its king side pieces were trapped. SlowChess traded a knight for a bishop to activate its king side rook, this created an advanced passer for ScoripoNN on the king side. While SlowChess blocked the white passer ScorpioNN shifted to the queen side and put QRR on an open file. As a result of this strong attack SlowChess lost material until the game ended in a tablebase win. There were two white wins in this opening.

Featured game: KomodoDragon - ScorpioNN
Premier division, game 204
Link to game on TCEC

KomodoDragon had an eval advantage from the start but it seemed ScorpioNN was holding. The engines exchanged pieces until only RB vs RB remained and evals were below 1. On move 46 KomodoDragon expected a bishop move, ScorpioNN reported that move in its PV but instead it moved its rook.

I don't know if that was a PV reporting bug or an actual bug, but KomodoDragon's eval jumped immediately as it exchanged rooks. ScorpioNN's eval did not react immediately, indeed usually an opposite color bishop ending with equal material is a draw. KomodoDragon saw that this case was different. It placed its bishop on the long diagonal to block the black passers on the queen side. ScorpioNN had to block the white passers on the king side and KomodoDragon pushed a passer on the queen side to the 7th rank.

ScorpioNN was close to zugzwang, the pawns couldn't move, a king move would allow white to move Kg4 and push pawns, and the bishop had to watch the a8 square. KomodoDragon was also threatening to advance with its white king and g pawn. ScorpioNN saw no way out, it gave two pawns and was then forced to allow KomodoDragon to push pawns. The black bishop moved away from the long diagonal and KomodoDragon queened to win.


Sunday, March 20, 2022

Season 22 premier division, after RR6

Standings after RR6

In RR5+6 the top3 engines beat the bottom5 in only 10/15 game pairs. Stoofvlees drew against Stockfish and KomodoDragon (double white win), ScorpioNN drew against Stockfish and Leela, and Igel also drew against Leela. All games within the top3 were drawn, and as a result the net effect is that KomodoDragon is 0.5 points closer to Stockfish, and Leela is 0.5 points further away from second place. There are still 14 rounds to play and anything may still happen in the top3, but it seems more an more likely that Leela will not be in the superfinal this season.

In the bottom 5 rofChade and Stoofvlees relatively improved their scores. rofChade had a double win against ScorpioNN and two more game pair wins. Curiosly all 6 games between rofChade and  Stoofvlees so far have been wins for white. Igel continues to be last, ScorpioNN is closer to relegation after it crashed against Igel.

Interesting games

game 113, ScorpioNN - rofChade: The game reached a RB vs RB position, ScorpioNN was a pawn up with a king side passer while rofChade had a passer in the center. The engines traded pawns, ScorpioNN went two pawns up and cleared the black queen side pawns, thus creating 3 connected passers there. ScorpioNN was sure it was at least a little better and it blundered badly, rofChade's eval immediately jumped to "black win". The white king faced a mate threat, and ScorpioNN had to exchange bishops and give its rook for the black passer. There were 4 white passers but rofChade was on time to block them, the game ended in a tablebase win.

game 114, KomodoDragon - SlowChess: Both kings remained uncastled in the center, evals increased as KomodoDragon attacked through the center with a queen and a knight. The black king ran to the queen side, after a series of exchanges only QBN vs QR remained. KomodoDragon exchanged queens and created an advanced passer on the king side. SlowChess lost its rook to stop the passer, game over. 

game 116, Leela - Igel: The game reached a QBN vs QBN position, Leela's eval jumped on move 49, it thought it found something. Leela missed Igel's move 51, the white king was forced to run to the center of the board and Igel exchanged its knight for a bishop. Evals dropped, the game was adjudicated after the engines exchanged queens.

game 117, rofChade - Igel: The game reached a QB vs QN position, rofChade thought Igel's move 54 was a mistake and its eval jumped. After exchanging minor pieces the white queen was somehow better, perhaps the black king was more exposed. rofChade captured a pawn and created a central passer, then captured two more and created passers on the queen side. Igel captured 2 passers but had to give its queen to stop the third, game over. 

game 121, KomodoDragon - rofChade: The engines castled in opposite directions, KomodoDragon was a pawn up with an eval advantage. Evals drifted down a little but then started to increase after move 30. rofChade tried to open the queen side without success, KomodoDragon controlled the open f file and threatened the black king. The game reached a QRB vs QRN position, the black king hid behind a white pawn. After a while KomodoDragon reduced to a B vs N ending, it captured a second pawn on the queen side. The black knight was helpless against flank passers on both sides, the game ended in a tablebase win.

game 123, Leela - SlowChess: Leela pushed pawns on the queen side, it gave a pawn and created an advanced passer. The engines reduced to a QRR vs QRR position, SlowChess gave back the the pawn to create central passers but it was focused on defense. Leela gave the queen side passer and pushed a pawn to e7, SlowChess blocked with its queen. Leela captured pawns and pushed a second passer to the 7th rank, the pressure was too great and SlowChess' defense crumbled with mate following.

game 128, KomodoDragon - Stoofvlees: Stoofvlees kept its king in the center while opening the king side. KomodoDragon's eval jumped, Stoofvlees thought it was OK and the engines played the moves it expected. On move 20 KomodoDragon captured a rook for a bishop and somehow Stoofvlees did not expect that. It thought for 16 minutes and finally its eval jumped as well. Perhaps it thought it had a strong counterattack, Stoofvlees gave more material and exposed the white king. However, nothing came out of the attack, KomodoDragon exposed the black king with a rook sacrifice and mated.

game 129, Stoofvlees - rofChade: The center was blocked, there were no exchanges in the first 32 moves except one pawn pair in the book sequence. rofChade did not castle its king, it walked to the king side making it difficult for the rook to develop. Evals kept increasing, rofChade gave a bishop for 3 pawns, also opening a file for the king side rook to move. Stoofvlees exchanged all rooks and then captured 4 pawns. After exchanging queens rofChade lost more material, the game ended in a tablebase win.

game 132, Stockfish - SlowChess: Stockfish opened the king side and captured a pawn, the black king remained without pawn support and SlowChess surrounded it with pieces. Stockfish went two pawns up, its king was also exposed but SlowChess could not spare pieces to attack. The engines exchanged pieces and mate was in the PV, Stockfish won material and chased the black king until mate.

game 133, rofChade - SlowChess: SlowChess opened the h file and rofChade's eval jumped, it thought that was a mistake. rofChade doubled rook and queen on the h file and threatened the black king, while SlowChess gave a rook for a bishop and pawn and created a queen side passer. rofChade switched to the queen side to block the passer, all other pawns were locked and rofChade waited for the right moment to attack. the white rook and queen moved to the 7th rank, SlowChess lost a piece and the passer, and mate followed.

game 135, KomodoDragon - Igel: There was a series of exchanges after the start, KomodoDragon thought Igel made a mistake on move 21. The game reached a QRB vs QRB position, KomodoDragon had a passer in the center and Igel had a passer on the queen side. Igel thought it was fine, it even went a pawn up but then it realized the white passer was too strong. Igel lost material to capture the passer, the game reached a winning R vs B ending.

game 137, Leela - rofChade: There were several early exchanges, evals increased slowly as Leela prepared its king side attack. Leela pushed pawns on the king side, then gave a rook for a bishop and pawn. rofChade hid its king behind a white pawn in a QRB vs QRR position. Leela cleared almost all the pawns on the queen side, then slowly pushed passers towards the black pieces and king. rofChade could not stop them and was soon mated.

Standings after RR5: KomodoDragon +13, Stockfish +12, Leela +9, rofChade -3, Stoofvlees -5, ScorpioNN -7, SlowChess -8, Igel -11. KomodoDragon and Stockfish were perfect as white against bottom5 engines in RR5, Leela missed one when it drew against Igel. ScorpioNN blundered a game as white again, this time against rofChade. It is likely that ScorpioNN will be deeper in the relegation zone after the reverse games.

game 141, rofChade - ScorpioNN: The game reached a rook ending with rofChade a pawn up. Evals were low and the engines reduced to a 7-man position. The engines shuffled for a long time and evals slowly came down, but on move 94 ScorpioNN blundered. rofChade reset the 50-move counter on time and found the win. rofChade won this opening from both sides.

game 148, KomodoDragon - ScorpioNN: The engines played out a long PV agreement, KomodoDragon gave a knight for a pawn and opened the king side. ScorpioNN's move 21 was not what KomodoDragon expected and its eval jumped immediately. The black queen moved to the queen side and was too far when KomodoDragon attacked the black king. After a series of exchanges ScorpioNN lost its queen, mate followed.

game 152, Stockfish - Igel: Queens were off in the book sequence, Evals started to increase on move 14. Igel moved its king early, Stockfish had a space advantage and it focused on the queen side. For a while it seemed the engines were shuffling, then on move 37 Igel gave a rook for a bishop and pawn. The game reached a RN vs BN position, Stockfish captured a pawn and then reduced to a winning N vs B ending.

game 153, Stockfish - rofChade: There were a few pawn exchanges after the start, Stockfish had an eval advantage that fluctuated but did not increase. The engines opened a file on the queen side and Stockfish pushed a pawn to h6. The first piece exchange was on move 32, in a series of exchanges rofChade gave a knight for 3 pawns including the white h6 pawn. Evals started to increase, Stockfish had only 2 pawns left, one of them a passer. It gave a knight and traded the passer for a rook, only RRN vs RB remained. With no pawns left Stockfish prepared its pieces, then exchanged the minor pieces and started capturing black pawns. The game ended in a tablebase win.

game 156, Stoofvlees - KomodoDragon: See featured game below. There were two white wins in this opening.

game 157, rofChade - Stoofvlees: Stoofvlees kept its king uncastled, with its king side rook and bishop unable to develop. rofChade opened the queen side and attacked, after a series of exchanges only RB vs RB remained. In the time it took Stoofvless to activate its pieces rofChade captured two pawns. The engines exchanged bishops, Stoofvlees got one pawn back and the game reached a 7-man tablebase position on move 71. rofChade had many occasions to capture the last black pawn and adjudicate the game, but it shuffled and repeated for 23 moves first. There were two white wins in this opening.

game 159, ScorpioNN - Igel: ScorpioNN had an eval advantage from the start but it crashed after move 14.

game 164, Leela - Stoofvlees: Leela went up a pawn early, the engines fought for control of the open center. Evals started to increase, and Leela captured a second pawn. After a series of exchanges only QN vs QB remained and Leela was 3 pawns up. The white passers slowly advanced, Stoofvlees captured some but lost its queen, mate followed.

game 166, Stoofvlees - Igel: Evals increased from the start, Igel moved its king early and there were very few exchanges. On move 25 Igel gave a rook for a bishop, the engines continues to exchange pieces until reaching a R vs B ending. All the pawns were isolated, Stoofvlees captured pawns until the game ended in a tablebase win. 

Featured game: Stoofvlees - KomodoDragon
Premier division, game 156
Link to game on TCEC

KomodoDragon gave a rook for a knight and pawn early in the game. The black queen came forward on the exposed king side and captured a pawn, it looked intimidating facing the white king. Stoofvlees was not worried, it exchanged queens and kept its king safe even though it was exposed and in front of the white pieces. 


The engines mostly agreed on the next moves. KomodoDragon pushed the h passer forward, it managed to get to the 3rd rank while evals started to increase. The engines exchanged pieces until only RBN vs BBN remained, on move 48 Stoofvlees finally captured the black passer. Then Stoofvlees captured another pawn and KomodoDragon was down to its last pawn. 

Progress was slow, the black bishop pair was strong in the open board and KomodoDragon used them to target the white king and pieces. On move 64 Stoofvlees managed to exchange the knights.

It took Stoofvlees another 18 moves to capture the last black pawn, then it slowly pushed its passers. KomodoDragon could not stop a queening and the game ended in a tablebase win shortly after that. 


Wednesday, March 16, 2022

Season 22 premier division, after RR4

Standings after RR4

Stockfish beat KomodoDragon as white and drew the reverse, the first decisive game pair within the top3 engines in this division. Stockfish leads ahead of KomodoDragon and Leela, with 1 point gaps between them. Can KomodoDragon finish ahead of Leela this season? Still too early to tell.

The top3 beat the bottom5 in 13/15 games as white in RR3+4. Stockfish and KomodoDragon had a perfect record, Leela only managed a draw against SlowChess and Stoofvlees. So far Leela failed to win 3 game pairs against the bottom5 engines, and this is the reason it is only 3rd. It needs to be perfect (or better) to catch up with the leaders.

Igel is last after it lost 3 game pairs within the bottom5 in RR3+4. rofChade, SlowChess and Stoofvlees had positive scores within the bottom5, they managed to move away from the relegation zone. ScorpioNN is in 7th place after a negative score, still close to the engines above it in the table and anything can still happen.

Interesting games

game 57, ScorpioNN - rofChade: The game reached a BN vs B position, ScorpioNN was down to its last pawn while rofChade had two. Evals were very high and still ScorpioNN couldn't find the win. The engines shuffled for almost 50 moves, ScorpioNN gave its knight in despair and took the draw.

game 58, KomodoDragon - SlowChess: All pieces were on the board when KomodoDragon's eval started to jump. After a few exchanges SlowChess moved its queen forward on the queen side to protect a knight, and KomodoDragon attacked the king side with its queen and a knight. It was a coordinated attack in a tight space, after 15 moves the outcome was a QRB vs QR position with a vulnerable black king and a white passer on the queen side. SlowChess lost its rook for the passer and the game ended in a tablebase win.

game 60, Leela - Igel: The game reached a BB vs BN position, evals increased despite the material balance. Leela reduced to an opposite color bishops ending and it was only one pawn up. However it was one of those rare occasions where an OCB ending is not a draw,  Leela had a passer on the queen side and it created a second passer on the king side. The black king stopped one passer, Igel lost its bishop for the other, and Leela had a last pawn to win.

game 61, rofChade - Igel: Evals increased as the engines exchanged pieces, the game reached a RRB vs RRN position with white a pawn up. rofChade had a passer on d6, by the time Igel captured it rofChade exchanged a pair of rooks and created another passer. Igel lost its knight for the passer and rofChade had enough pawns remaining to win.

game 63, SlowChess - Stoofvlees: The game reached a QBB vs QNN position, black was a pawn up but one of the knights was stuck in the corner. Evals jumped and SlowChess managed to move its queen forward and trap the cornered knight. After a B for N exchange Stoofvlees lost pawns to free its knight, but SlowChess attacked the black king and after a while mated.

game 65, KomodoDragon - rofChade: Queens were off early, evals increased slowly from the start. By move 32 KomodoDragon created a central passer and went a pawn up. The engines reduced to a RRN vs RRN position, rofChade pushed a passer on the king side but the white passer was more advanced. The engines traded the passers and a pair of rooks, KomodoDragon captured another pawn and that was enough for a win.

game 66, Stoofvlees - ScorpioNN: Stoofvlees gave a rook for a knight and then pinned a black bishop. ScorpioNN needed time to get its king out of the corner safely, Stoofvlees captured the bishop and the game reached a BBN vs RB position. ScorpioNN moved the rook forward and Stoofvlees trapped it, by the time the rook escaped Stoofvlees had an unstopppable passer. ScorpioNN lost its rook, game over.

game 70, SlowChess - Igel: Igel gave a rook for a bishop and pawn to stop an attack on its king. Evals increased as the engines exchanged pieces until RR vs RB remained. Igel had a central passer, and SlowChess focused on stopping it while not allowing the black king to approach. After 25 moves SlowChess managed to block the passer with its king safely, and after a few more moves it captured the passer and another pawn. SlowChess then pushed its own passer forward to win. 

game 72, KomodoDragon - Stoofvlees: KomodoDragon captured a pawn with its queen on the queen side. Stoofvlees saw an opportunity to attack on the king side, KomodoDragon did not interfere and instead gave a pawn and created a passer on the queen side. In a series of automatic moves Stoofvlees opened two files on the king side, it was sure it had a perpetual check draw at least, but it missed KomodoDragon's continuation. Evals immediately jumped, KomodoDragon stopped the attack and the game reached a QR vs QR position with white two pawns up and an advanced passer. KomodoDragon queened the pawn for a rook, the game ended in a tablebase win.

game 73, Stoofvlees - rofChade: Stoofvlees gave two pawns and did not castle its king, but it had an advanced queen side passer and the black king was exposed to attack. rofChade gave material to capture the passer, the game reached a RBN vs RN position with black 2 pawns up. After exchanging knights Stoofvlees traded pawns, it kept one last pawn to ensure the win. 

game 76, Stockfish - SlowChess: Stockfish castled long and then slowly prepared its attack on the king side, evals increasing quickly. When all pieces were ready on move 32 Stockfish opened the g file and then doubled its rooks there. After a few exchanges both engines saw the mate coming, in a coordinated attack first the black queen was captured and then it was mate.

game 79, KomodoDragon - Igel: For a long time evals did not change a lot and it seemed Igel was holding. After move 33 evals started to increase, KomodoDragon opened the h file and the black king became vulnerable. Igel had to give a rook for a bishop to avoid mate, the game reached a QRB vs QBN position. Igel tried to defend but couldn't protect everything, first it lost a pawn and then KomodoDragon exchanged queens and captured the knight. The game ended in mate a few moves later.

game 81, Leela - rofChade: Evals increased despite rofChade being a pawn up. Leela regained the pawn, the engines exchanged pieces until only RB vs RB remained and Leela went up a pawn. Leela had an advanced passer that was blocked by the black bishop. The engines exchanging rooks, leaving an opposite color bishops ending but a decisive one. The white king came forward to drive the bishop away and the black king was too far to help. Leela queened the passer to win.

game 83, Stockfish - KomodoDragon: See featured game below.

Standings after RR3: KomodoDragon +8, Stockfish +7, Leela +6, rofChade ScorpioNN -3, Stoofvlees SlowChess -4,  Igel -7. The top3 engines beat the bottom5 in 7/8 games as white, Leela only drew against SlowChess. Stockfish beat KomodoDragon, the first decisive game within the top3. If this becomes a game pair win this may be very important in the race for the superfinal. At the bottom Igel is struggling, after two losses as black and two draws as white within the bottom5. The remaining 4 engines of the bottom5 are potential candidates for the second relegation spot. 

game 85, rofChade - ScorpioNN: All pieces were on the board and evals started to increase, rofChade doubled rooks on an open file in the center. The king side opened and the black king was exposed, ScorpioNN captured a rook for a bishop and pawn. The engines continued to exchange pieces with a constant threat to the black king. Eventually rofChade regained a rook for a bishop and the game reached a QN vs QN position. rofChade pushed a passer to the 6th rank and exchanged queens, then captured the remaining black pawns to win. 

game 87, Stockfish - Stoofvlees: Evals didn't change until move 40, most pieces and pawns were still on the board and Stockfish had only 4 minutes on the clock. Stockfish pushed a pawn in the center and threatened to capture a knight. Stoofvlees was reluctant to move the knight, perhaps to protect the king side, and the pawn was pinned so Stockfish could not take immediately. The standoff continued for a few moves but in the end Stoofvlees moved its knight. A mate threat forced it to give a knight for two pawns, the engines reduced to a QB vs Q position. It took Stockfish another 20 moves to mate.

game 91, Stoofvlees - SlowChess: Evals slowly increased with very few exchanges, the first minor piece exchange was on move 25. Stoofvlees opened the king side and threatened the black king. SlowChess gave a rook for a bishop and tried to hide behind two connected white passers. It took Stoofvlees a while to find a way in, eventually it gave a rook for a knight and pawn. The advanced passers were too dangerous, SlowChess lost a rook for one. The game ended in a tablebase win. There were two white wins in this opening.

game 92, KomodoDragon - ScorpioNN: ScorpioNN didn't castle its king, it focused on the queen side with a queen and rook and was completely surprised when KomodoDragon opened the h file. ScorpioNN thought it was safe enough and it allowed a white rook to get to the back rank. ScorpioNN realized it was in trouble too late, its king had to run and KomodoDragon began gaining material with mate following.

game 96, Stockfish - Igel: Stockfish pinned a pawn in the center with a mate threat on the long diagonal, and used this to capture a pawn. After exchanging queens Stockfish pushed a passer on the queen side, Igel captured the passer and reduced to a RBN vs RBN position. Stockfish still had a back rank mate threat, Igel gave a rook for a bishop and tried to hold. Stockfish can be trusted to convert in these situations, though it took 30 more moves.

game 97, Stockfish - rofChade: The engines focused on the queen side, Stockfish had a 4 vs 3 pawn majority there and it slowly worked to create a passer. The game reached a RBN vs RBB position with a white passer on c6. rofChade captured the passer but gave a rook for a bishop. The black bishop pair tried to counter, Stockfish captured pawns and reduced to a N vs B ending 2 pawns up, game over.

game 99, Leela - ScorpioNN: Leela's eval started to jump after move 24 with most pieces and pawns still on the board. The black DS bishop was trapped on a7, Leela reduced to a QBB vs QBB position. Leela opened the bishop's trap and ScorpioNN preferred to lose the bishop rather than to allow Leela an advanced passer. Leela gave the bishop back and queened a passer anyhow, mate followed.

game 101, rofChade - Stoofvlees: Stoofvlees chose to give a bishop for pawns, it hoped a supported advanced passer would be a strong enough counter. rofChade's eval jumped, so did Stoofvlees' when it stopped to think for a minute. rofChade reduced to a QB vs Q position, then it used the exposed black king to capture pawns. The white king came forward and the game ended in mate. There were two white wins in this opening.

game 103, ScorpioNN - Igel: ScorpioNN had an eval advantage from the start, the center was blocked and the engines exchanged pieces and pawns very slowly. On move 33 ScorpioNN went a pawn up, after a while the game reached a RN vs RN position, ScorpioNN with a queen side passer. On move 60 only rooks remained, Igel captured the white passer but ScorpioNN created connected passers in the center. It took some time, ScorpioNN captured more black pawns, but eventually the passers moved forward and Igel couldn't stop them all, game over.

game 105, SlowChess - rofChade: There were very few exchanges after the start. Evals started to increase, there was a series of exchanges on the queen side and SlowChess moved a knight to e6. rofChade gave a rook for the knight and two pawns, the engines continued to exchange until only RB vs BN remained. SlowChess had a passer that rofChade had to cover, rofChade started to lose material and was eventually mated.

game 106, Stockfish - ScorpioNN: All pieces were on the board when Stockfish's eval started to increase while it gave two pawns. ScorpioNN thought it was fine and it continued to exchange pieces. Stockfish used the open files to attack on the king side, ScorpioNN thought for 12 minutes and realized it was in trouble. After a series of exchanges only QBN vs QR remained, Stockfish had a pawn majority on the queen side and it exchanged pawns to create a passer. Stockfish lost a bishop but after exchanging queens it cleared the path for a second passer, and that was enought to win.

Featured game: Stockfish - KomodoDragon
Premier division, game 83
Link to game on TCEC

Stockfish had an eval advantage from the start. There were very few exchanges and evals increased slowly. From move 16 the engines played a series of PV agreements, by move 28 queens and several minor pieces were exchanged, Stockfish created a passer in the center.

The engines continued to play through PV agreements in which Stockfish captured the a pawn. The engines exchanged a pair of rooks and the game reached a RBN vs RBN position.

Progress was slow, first Stockfish drove the black rook and bishop away. After exchanging a pair of pawns the white king came forward to the center of the board to protect the center pawns. Stockfish then targeted the pawns on the king side and captured a second pawn, creating an additional passer.

After trading bishop for knight Stockfish captured the last black pawn and saw mate in its PV. It did not push a pawn until move 82 (the d,e, and g pawns did not move since move 28! see boards above), by then there was nothing KomodoDragon could do to stop the passer. The game ended in a tablebase win.


Sunday, March 13, 2022

Season 22 premier division, after RR2

 Standings after RR2


There is a clear divide between the top 3 and the bottom 5 in the table. The 3 leaders drew all their head to head matches and won 14/15 games against the bottom 5 as white. KomodoDragon is the only engine to win a game as black, a double win against ScorpioNN. Leela is in 3rd place since it lost as black against rofChade, after winning as white.

Within the bottom 5 ScorpioNN has 2 game pair wins and no loss, all other engines have at least one win and one loss against another bottom 5 engine. Stoofvlees is disappointing so far with 2 game pair losses and no game pair wins (two white wins against rofChade). 

The book openings have a high bias in favor of white, as a result the results after one RR depend on the opponents each engine faces as white. For example, Stockfish has only one game as white against a bottom 5 engine in the first RR, while Leela and KomodoDragon have 3.

Interesting games

game 1, ScorpioNN - rofChade: ScorpioNN exposed the black king, then gave a rook for a bishop and pushed a pawn to h6. rofChade gave the material back but the threat to its king was too great. ScorpioNN used its advantage to reduce to a rook ending 3 pawns up and win. It waited until it had 3 queens before mating.

game 2, KomodoDragon - SlowChess: After a few pawn and minor piece exchanges evals started to increase. The black pawn structure was weak, KomodoDragon captured a pawn and the remaining 4 pawns were isolated. KomodoDragon reduced to a queen ending, then used checks to capture another pawn and create an advanced passer. SlowChess couldn't prevent a queening and mate followed.

game 4, Leela - Igel: Leela captured a pawn in the opening, Igel did not castle its king. There was only one minor piece exchange in the first 30 moves, evals started to increase when more pieces were exchanged. The game reached a RB vs RB position on move 41, Leela still a pawn up with connected passers on the queen side. Leela pushed a passer to the 6th rank, then captured another pawn and created a passer on the king side. Igel could not stop 3 white passers, Leela gained material and won.

game 5, rofChade - Igel: rofChade went a pawn up and its eval jumped. The game reached a QRB vs QRN position, rofChade placed its bishop on d5 and when Igel exchanged it with its knight a white pawn became a passer. The engines reduced to a queen ending, eval were high but progress was slow as the queens danced on the board. rofChade needed more than 30 moves to promote a pawn, followed by mate.

game 7, SlowChess - Stoofvlees: Stoofvlees was confident it was holding, but somewhere around move 30 it made mistakes. After Stoofvlees moved without thinking SlowChess' eval jumped. Two moves later Stoofvlees spent 9 minutes thinking and its eval jumped as well. The game reached a QRB vs QRB position, SlowChess had an advanced passer on the 6th rank. After exchanging bishops SlowChess pushed the passer to the 7th rank and Stoofvlees had to block with its queen. SlowChess gave a pawn and exposed the black king, after exchanging rooks it was able to force Stoofvlees to move the black queen and promote its passer. Stoofvlees delayed using checks but couldn't avoid mate.

game 8, ScorpioNN - KomodoDragon: See featured game below.

game 9, KomodoDragon - rofChade: Evals started to increase after rofChade moved its queen forward, it found a safe spot on the queen side but KomodoDragon shifted its focus to the king side. KomodoDragon pushed pawns forward and moved its pieces to the king side, rofChade gave a knight for a pawn to avoid exposing its king. After exchanging queens the attack stopped, KomodoDragon slowly exchanged pieces until only RB vs R remained. The engines traded pawns and the game ended in a tablebase position with one last white pawn on the board.

game 11, Leela - SlowChess: The white queen came forward and captured a pawn. Leela gave a bishop but was 4 pawns up with connected passers on the queen side. After exchanging queens evals started to jump, SlowChess had trouble defending against the passers while keeping its pieces and pawns safe. Leela gained material and the game reached a RN vs BBN position with white 5 pawns up. Leela queened twice and mate followed.

game 14, SlowChess - Igel: The engines castled in opposite directions, Igel gave a pawn and all files on the queen side were semi-opened facing the white king. However, evals increased as SlowChess captured a second pawn and its king was never in danger. The game reached a RRB vs RRN position, SlowChess pushed two passers on the queen side. After exchanging a pair of rooks Igel lost the knight for a passer, the game ended in a tablebase win.

game 17, Stoofvlees - rofChade: The black queen captured a pawn on the queen side and Stoofvlees pushed pawns on the king side. rofChade gave a rook for a bishop to avoid having a strong passer on the 6th rank. rofChade captured the passer and the game reached a RB vs NN position. Stoofvlees gradually captured all the black pawns, the game ended in a tablebase win.

game 20, Stockfish - SlowChess: SlowChess pushed pawns on the queen side facing the white king. The engines played out a long PV agreement which led to a RBN vs RRB position. Stockish was two pawns up with a queen side passer, evals increased as Stockfish gradually improved its position. Stockfish created a passer in the center and reduced to a B vs R ending. SlowChess captured one passer but lost its rook for the other, game over.

game 21, rofChade - SlowChess: The engines castled in opposite directions, evals gradually increased even though rofChade gave a pawn. It slowly took control of the center before regaining the pawn. rofChade created a passer and reduced to a double rook ending. SlowChess captured the passer but rofChade doubled rooks on the 7th rank, then it went two pawns up and exchanged a pair of rooks. The game ended in a tablebase win.

game 23, KomodoDragon - Igel: The engines castled in opposite directions, evals gradually increased from the start. KomodoDragon ignored the black pawns moving forward on the queen side, it gave a pawn and opened the g file. The threat of a king side attack forced Igel to defend, KomodoDragon regained the pawn and exchanged pieces. The black pawns were all isolated, KomodoDragon captured 3 before exchanging queens leaving only RB vs RN. Igel couldn't stop the white passers and the game ended in a tablebase win. 

game 25, Leela - rofChade: The engines exchanged pieces and Leela went up a pawn. The game reached a QB vs QB position, the white queen was active and the black king was more exposed to attacks. It took some time but Leela managed to capture a second pawn before exchanging queens. The bishops were of the same color, Leela queened a pawn to win.

game 26, Igel - Stoofvlees: The game reached a RR vs BBN imbalance. Stoofvlees thought it was safe when it grabbed a pawn without thinking, it saw the danger immediately on the next move. Igel opened the center with a rook for bishop exchange, it started to attack the black king in a QR vs QBN position. The black king ran to the center, Igel gained material in the process and this led to mate.

Standings after RR1: KomodoDragon +4, Leela +3, Stockfish +1, ScorpioNN 0, Stoofvlees -1, rofChade SlowChess -2,  Igel -3. The openings are highly biased towards white, the results so far are affected by the number of white games each engines played. The top 3 engines beat the bottom 5 engines in 7/8 games when playing white, and drew all head to head games. Stockfish had only one game in white against the bottom 5, it may close the gap in the reverse games. KomodoDragon leads after 3 wins as white and an unexpected win as black. The games within the bottom 5 engines are more mixed. Only ScorpioNN is without loss against the bottom 5 with one win, the other engines have at least one win and one loss.

game 31, Stockfish - Stoofvlees: Stoofvlees gave a pawn and opened the center, Stockfish's eval jumped. Then Stoofvlees gave a second pawn and Stockfish reacted with another eval jump. Stoofvlees then offered a knight but never expected Stockfish to take. For a short while Stoofvlees thought it had some counter attack on the white king, but Stockfish soon showed there was no attack. After a few exchanges Stockfish attacked and mated.

game 36, KomodoDragon - ScorpioNN: KomodoDragon had an eval advantage from the start in a closed position. The first exchange was on move 25, the queen side opened a little and KomodoDragon went up a pawn. ScorpioNN regained the pawn a few moves later, however it was not careful with its king's safety and evals started to jump. KomodoDragon opened the position with a knight sacrifice and then attacked the black king. KomodoDragon used the attack to equalize material and reduce to a double rook ending. KomodoDragon had the initiative, it captured a pawn and exchanged a pair of rooks, leading to a tablebase win. A double win for KomodoDragon in this opening.

game 40, Stockfish - Igel: The game reached a QRB vs QRB position, evals were not increasing and it seemed Igel was holding on. Suddenly Stockfish's eval jumped as it exchanged bishops, it used a mate threat to capture a pawn. After exchanging queens Stockfish captured the black pawns until there were none left, the game ended in a tablebase win.

game 41, Stockfish - rofChade: Stockfish castled long though it had almost no pawn support on the queen side. When rofChade tried to attack evals started to increase, Stockfish used pieces to protect its king and opened a file on the king side. Stockfish maneuvered its knight to e6, then gave a pawn to open a second file and threaten the black king. rofChade preferred to trade RR for Q, but then it had to deal with passers on the queen side. Stockfish captured a rook for a passer, the game reached a QBN vs RBB position. The material advantage secured another queening, game over.

game 42, Igel - SlowChess: There were many early exchanges and for a long while the engines mainly shuffled. Evals started to increase gradually from around move 40, Igel slowly increased the pressure on the unprotected black pawns. After exchanging a pair of rooks Igel managed to capture a pawn on move 61, then reduced to a QN vs QN position with connected passers on the queen side and another passer on the king side. SlowChess tried to delay with checks but eventually Igel queened and won. There were two white wins in this opening.

game 43, Leela - ScorpioNN: The engines castled in opposite directions and slowly exchanged pieces. Evals increased when ScorpioNN tried to attack on the queen side and moved its queen forward. Leela opened the g file and threatened the black king. ScorpioNN lost a bishop and Leela reduced to a RN vs R position. Leela created an unstoppable passer and won.

game 45, rofChade - Stoofvlees: Stoofvlees moved without thinking and captured a free knight, it missed rofChade's response on move 22. Evals immediately jumped as rofChade created connected passers in the center on the 6th and 7th ranks. rofChade gave a rook and gained two knights for one passer. Stoofvlees tried to counter with an attack on the white king but was not strong enough. It blocked the other passer with a rook, but eventually rofChade managed to mate on the back rank. There were two white wins in this opening.

game 47, ScorpioNN - Igel: The game reached a RB vs RN position. ScorpioNN had a significant eval advantage, there was a black pawn on e4 that could have been taken but ScorpioNN kept waiting for the right moment. It finally took after 30 moves of shuffling, but after Igel exchanged rooks evals dropped. The game ended in a tablebase draw. Was it a missed win for ScorpioNN?

game 50Stockfish - ScorpioNN: Evals gradually increased from the start. Stockfish focused on the black e6 pawn while ScorpioNN pushed pawns on the queen side facing the white king. Stockfish captured the black e pawn, and used open files to threaten the black king. ScorpioNN had to lose material and the game reached a QB vs RB position, mate was inevitable.

game 52, Leela - Stoofvlees: Stoofvlees blundered on move 25, this time after thinking for over a minute. Leela's eval jumped as it targeted the black pieces. Stoofvlees had to protect its pieces and Leela attacked the black king, mate came quickly. 

game 53, rofChade - Leela: rofChade went up a pawn early, evals increased very slowly for a long time. The engines gradually exchanged pieces, by move 56 only QR vs QR remained. The black king was vulnerable to attacks, eventually rofChade gave the pawn back temporarily but won it back while attacking. Leela only delayed the mate but couldn't avoid it. There were two white wins in this opening.

game 54, Stoofvlees - Igel: The game reached a QR vs QB position and evals started to increase. Igel was a pawn up with connected passers but the black king was exposed. Stoofvlees pinned the black bishop on the back rank, evals were high but Stoofvlees couldn't find a way to win. It gave a pawn and exchanged queens, the game ended in a tablebase draw. Surely a missed win for Stoofvlees.

game 56, ScorpioNN - SlowChess: ScorpioNN gave a pawn early, then pushed the black pieces back with its pawns. Evals jumped after ScorpioNN gave another pawn and traded N for R. The game reached a RRB vs RNB position, evals were high but progress was slow. It took more than 20 moves for ScorpioNN to capture a pawn and create a passer. After a second pawn became a passer ScorpioNN exchanged a pair of rooks. SlowChess captured one passer but lost its bishop, the game ended in a tablebase win. 

Featured game: ScorpioNN - KomodoDragon
Premier division, game 8
Link to game on TCEC

ScorpioNN had an eval advantage from the start, the center was blocked and there were very few exchanges. On move 32 the pawns stopped moving with the queen side blocked as well. The engines shuffled for a long time, ScorpioNN would not lower its eval below 1. It pushed the h pawn with 2 moves left on the 50-move counter, its eval dropped but it avoided an immediate draw.

KomodoDragon thought this was a mistake, evals became negative and quickly increased with both engines blitzing. Most of the white pieces were on the open king side, KomodoDragon gave a knight for a pawn on the queen side and created a passer on the 2nd rank. 

ScorpioNN tried to counter with an attack on the black king, it was not strong enough and there was not enough time to arrange the pieces. KomodoDragon removed the rook blocking its passer and eventually queened it. 


The material advantage was sufficient for a quick win. An unexpected win by black, ScorpioNN should have taken the 50-move draw. 


Saturday, March 5, 2022

Season 22 league 1 statistics

A summary statistics table of previous stages and seasons.  

Draw rate, wins

Final draw rate was 66.1%. 

Game termination

The three most common game termination causes were:

49.1% - TCEC draw rule
39.3% - SyzygyTB
8.0% - Mate

There was one crash in the stage by Koivisto.

Moves per game

Median= 65.5
Average= 73.1

There were 10 games longer than 100 moves, the longest was 204 moves (rofChade - RubiChess, game 66, draw). 

Time per game (hours)


Median= 1:36
Average= 1:33

Opening

There were variable length book openings in this stage chosen by Bastiaan Braams. The first letter of the ECO codes was distributed as follows:

The engines had very little freedom to choose the opening variant, all the game pairs repeated the same ECO code and the same opening variant twice.

Reverse pairs, wins

Reverse pairs, same moves

Pairs of reverse games diverged quickly, only 23.2% diverged immediately out of book, 66.1% of the pairs diverged at most after 1 move. The longest repeated sequence of moves was 15 plys (Minic - SlowChess, games 69 and 97, Scandinavian, Icelandic gambit, SlowChess won as white)  


Tuesday, March 1, 2022

Season 22 league 1

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.