Friday, April 12, 2024

Season 26 league 1

Final Standings

TBD

Interesting games

game 9, Caissa - rofChade: The engines opened the e file and gradually exchanged pieces, Caissa created a passer on the king side and the game reached a RN vs RN position. rofChade lost two pawns and created a passer on the queen side, while Caissa had a second passer in the center. The white king moved forward and rofChade lost its passer, it lost more material and Caissa queened, followed by mate.

game 17, Igel - Caissa: The center was blocked, the engines exchanged a few minor pieces. Igel placed a protected bishop on d6 and the opened the h file. The white king moved forward and the engines exchanged all rooks, the game reached a QBN vs QNN position. The black king walked to the queen side, Igel gave a knight for two pawns and created connected passers in the center. Caissa lost a knight for one passer, then it lost more material and was mated.

game 23, Revenge - Clover: Revenge pushed pawns on the king side and castled long, there were only a few exchanges after the start and the engines mostly shuffled. On move 39 Revenge captured a pawn and created a passer on the queen side, on move 61 the queens were exchanged. The game reached a RN vs RB position, Clover captured the white passer but Revenge captured a pawn and created a passer on the king side. Clover couldn't prevent a queening and was mated.

game 25, Obsidian - Velvet: The engines opened the center and there were many exchanges, the game reached a RBN vs RBN position with white a pawn up. Obsidian had a pawn majority on the queen side, the white king moved forward to support the pawns. The engines traded pawns and minor pieces, Obsidian created a passer on the queen side. The game ended in a tablebase win.

game 27, rofChade - Revenge: Material was equal but the black pieces had only a little space to move, and rofChade placed a knight on b6. On move 39 rofChade gave a rook for a knight and pawn, creating a passer on the queen side. Revenge gave the material back and the game reached a QRB vs QRB position. After exchanging queens Revenge lost the rook for the passer, the game ended in a tablebase win.

game 36, Obsidian - Clover: Clover gave a knight for two pawns, then a rook for a bishop. The white king was under attack and Obsidian had a trapped knight. Obsidian freed its knight, then gave back a rook for a knight. It surrounded its king with pieces, after exchanging queens the game reached a RBN vs RB position. Both engines pushed a passer forward, eventually both passers were captured. The white king moved forward and Clover lost its remaining pawns. Clover lost more material and Obsidian queened a passer followed by mate.

game 39, Igel - Arasan: The engines castled in opposite directions, Igel captured a pawn. The engines opened both sides of the board, Igel captured a second pawn while Arasan tried to attack on the queen side. Igel reduced to a QN vs QB position and pushed a passer to the 7th rank. Arasan lost its queen for the passer and was mated.

game 40, Seer - Revenge: Revenge gave a pawn early, the engines gradually exchanged pieces until only RNN vs RBB were left. Seer had a pawn majority on the queen side. Seer first pushed a pawn forward on the king side and created a passer, then pushed pawns on the queen side. Revenge gave a bishop and captured the white passers, Seer had enough material advantage to reduce to a tablebase win.

game 46, Arasan - Seer: There were many exchanges after the start and the game reached a RBN vs RBN position with white a pawn up. Arasan had a passer in the center and a pawn majority on the queen side while Seer had a passer on the king side. Arasan captured another pawn and its king moved forward on the queen side. Arasan pushed a passer to the 7th rank, Seer lost a knight for a pawn but couldn't prevent a queening. The game ended in mate.

game 51, Seer - Obsidian: Obsidian moved its king forward in the center instead of castling. There was a long period of mostly shuffling, Seer moved its king back to the center as well and on move 37 Seer opened the h file. Obsidian opened the center and the white king moved to the queen side. Seer moved a rook to the 7th rank and the black king also walked to the queen side. Seer captured a knight and the game reached a QB vs Q position, then Seer reduced to a won king and pawns ending. 

game 53, Caissa - Revenge: Revenge was a pawn up but its king was vulnerable in the center. Caissa gave a knight for two pawns and opened the center, then it gave a rook for a bishop but captured teh black queen for another rook. The game reached a QB vs RRN position, after some shuffling Caissa captured two pawns and created connected passers on the queen side. The white king moved forward, eventually Caissa queened and forced mate.

game 60, rofChade - Igel: There were no exchanges until move 26, then a series of pawn and minor piece exchanges exposed the black king. The game reached a RBB vs RBN position, Igel captured a pawn but rofChade created a passer. rofChade capured the bishop for the passer, the game ended in a tablebase win.

game 64, Caissa - Obsidian: Obsidian castled long and Caissa opened the queen side and exposed the black king. Caissa avoided exchanging queens and the game reached a QRB vs QRB position. Caissa captured a pawn and placed its major pieces on the back rank, Obsidian lost material and was eventually mated.

Standings after RR1: Igel Caissa +3, Seer Berserk +2, Obsidian Arasan rofChade +1, Clover Velvet Revenge Viridithas -2, Minic -5. There are 7 engines with a positive score, it is likely that the two qualifiers will be in this group. Only Berserk has no losses so far, but it has only two wins against lower ranking engines. Caissa beat Obsidian and rofChade but lost to Igel. The picture will be clearer after the reverse games.

game 72, Seer - Igel: Igel was a pawn up from the start, Seer captured two pawns and exchanged queens. Seer focused on the queen side, it traded pawns and went two pawns up with two passers. The game reached a RB vs RB position, after exchanging rooks Seer pushed its passers. The bishops had opposite color but the black king was too far away to help, Seer had a passer on the 7th rank and it managed to reduce to a tablebase win.

game 75, rofChade - Caissa: rofChade created a central passer after a knight exchange. The engines cleared the queen side pawns and rofChade was a pawn up with only rooks and bishops left. The engines exchanged a pair of rooks and after some shuffling the other pair as well. rofChade captured a second pawn, then gave a pawn to created connected passers. Caissa lost a bishop to capture the passers, the game ended in a tablebase win.

game 79, Velvet - Arasan: There were many exchanges after the start and the game reached an opposite color bishop ending with white a pawn up. The white king moved forward, somewhere Arasan played inaccurately and after 40 moves Velvet managed to capture another pawn and create a passer. After another shuffle the engines traded pawns, eventually Velvet had 3 passers and Arasan couldn't stop them all. The game ended in a tablebase win.

game 83, Caissa - Igel: Igel castled long and Caissa created half open files on the queen side using exchanges. Caissa gave a pawn and created a passer in the center, Igel gave a rook for a bishop to captured the passer. The game reached a QRR vs QRN position, Igel was a pawn up but Caissa regained the pawn and exchanged queens. The white king moved forward on the king side, Caissa captured more pawns. Igel lost more material, Caissa queened a passer and mated.

game 86, Seer - Caissa: Caissa captured a pawn on the queen side, Seer opened the king side and exchanged a few minor pieces. After some shuffling Seer regained the pawn and moved its queen forward on the king side, Caissa exchanged queens and eventually the game reached a RN vs RB position. Material was equal but most of the black pawns were on squares of the wrong color and the bishop couldn't protect them. The white king moved forward and Seer created a passer. After exchanging minors Seer went a pawn up, the game ended in a tablebase win.

game 93, Revenge - rofChade: Revenge captured a pawn and created a passer on the queen side. The engines gradually exchanged pieces and the game reached a RRN vs RRN position. Revenge exchanged a pair of rooks and slowly pushed the passer to the 7th rank. rofChade managed to capture the passer, but then Revenge the remaining black pawns and created connected passers on the king side. Revenge queened a passer and mated.

game 101, rofChade - Arasan: rofChade was a pawn up with a passer on the queen side from the start. Arasan gave another pawn and exchanged queens, the engines shuffled for a long time. On move 53 the engines started to exchange pieces and pawns, Arasan captured the passer and the game reached a rook ending. The black king was pushed to the back rank and was in danger, rofChade used this to capture two pawns, then queen a passer and mate.

game 104, Obsidian - rofChade: There were many exchanges after the start and the game reached a QRB vs QRB position. rofChade overlooked something and allowed Obsidian to capture a pawn and create a passer. After exchanging bishops Obsidian connected a second passer and pushed them forward. After queens were exchanged the passers were unstoppable, Obsidian queened and mated.

game 112, Seer - Arasan: The engines castled in opposite directions, Seer pushed pawns on the king side. While Arasan freed a trapped bishop from the corner Seer created a passer in the center on the 7th rank. Seer captured a rook for a bishop,vthe game reached a QRR vs QRB position. Arasan tried to avoid exchanging queens but eventually Seer forced the exchange. Seer pushed another passer, Arasan lost material and the game ended in a tablebase win.

game 117, Obsidian - Seer: The white queen moved forward and captured a pawn on the king side, the black king stayed uncastled in the center. Seer regained the pawn, there were many exchanges and the game reached a RRB vs RRB position. The engines continued to trade pawns and rooks, leading to an opposite color bishop ending. Material was equal but white had a better pawn structure. Obsidian managed to create connected passers on the queen side supported by the king. Seer couldn't prevent a queening and was mated.

game 128, rofChade - Seer: Queens were off early and Seer moved its king without castling. rofChade moved its king as well, the engines exchanged pieces until only RBN vs RBN remained. Not a lot happened until Seer decided to exchange rooks on move 39. rofChade captured a pawn and then created a passer in the center. While Seer blocked the white passer rofChade managed to capture a second pawn, then gave a pawn back and created a second passer. Seer lost its bishop for a passer, rofChade queened and mated.

game 129, Clover - Berserk: The engines castled in opposite ditrections and opened the f file. Berserk pushed a pawn to g6 yet Clover kept its king safe. Clover created a passer in the center, the engines gradually exchanged pieces. Clover captured the g6 pawn, on move 54 the game reached a RNN vs RNN position. Clover created another passer on the king side and the white king moved forward. Progress was slow, Clover kept the black king away and aftere exchanging a pair of knights it pushed its passer slowly. Berserk lost material, Clover queened and the game ended in a tablebase win.

Standings after RR2: Seer Caissa +5, Berserk Obsidian +4, rofChade +3, Igel +1, Viridithas -1, Arasan Revenge -2, Velvet -4, Clover -5, Minic -8. At the half way point there are 5 engines close to the top. Seer and Caissa both have 6 game pair wins and one loss, Seer beat Caissa and rofChade beat Seer. Berserk has no game pair losses but only 4 wins, Obsidian has 5 wins and one loss to Caissa. rofChade has 1 loss to Obsidian and 4 wins. Igel also has a positive score but it drifted away from the leaders. Arasan is far from the leaders after 2 game pair losses and no win in the reverse games. For some reason Clover crashed 4 times on time in RR2, in three games it was close to losing anyway - perhaps its was of resigning. It crashed once in a drawn position against Viridithas. 

game 140, Berserk - Igel: The engines exchanged minor pieces and Berserk created a passer in the center through such an exchange. After some shuffling Igel created a passer on the queen side and the game reached a QRR vs QRR position. Berserk captured two pawns and protected its passer, the engines exchanged a pair of rooks. After Berserk captured the black passer it pushed its own passer forward, Igel exchanged queens but it was mated on the back rank.

game 141, Caissa - rofChade: There were a few pawns exchanges after the start, the first minor piece exchange was on move 24. Caissa captured a pawn, it moved both its knights to the queen side where they were very effective together with two pawns. rofChade gave another pawn and the game reached a QNN vs QBN position. The black queen tried to attack but was too weak and Caissa found safety for its king. Caissa captured another pawn and created passers, then forced a queen exchange. rofChade lost its pieces for passers, Caissa queened and mated.

game 162, Berserk - Caissa: Caissa castled short despite the fact that its g pawn was gone. The black queen captured a pawn on the queen side, Berserk moved its major pieces forward and Caissa manually uncastled its king. The engines exchanged pieces until only RRN vs RRN remained, Berserk captured pawns until it was two pawns up. The engines reduced to a rook ending and the game ended in a tablebase win.

game 165, Minic - Seer: The center was blocked, Seer equalized quickly. Minic opened the queen side and tried to attack, Seer gave a bishop for a pawn and opened the king side. Minic captured a rook for a bishop, the game reached a QRR vs QRN position with black two pawns up. Seer ethreatned the white king on the g file and created a passer on the queen side. Minic exchanged queens and blocked the passer on the 2nd rank. Minic captured the passer and Seer created another, the black king moved forward and the white king couldn't help. Minic lost material and the game ended in a tablebase win. 

game 167, Arasan - rofChade: The engines castled in opposite directions and the center was blocked. Arasan gave a bishop for a pawn and opened the king side, rofChade opened the queen side. Arasan gave a rook for a bishop and pawn attacked the black king. rofChade gave back the material and the game reached a RN vs RB position. The white knight was much more effective, Arasan quickly captured two pawns, it had two doubled pawns but one pair were passers. The white king moved forward, Arasan captured more pawns and created another passer. Arasan queened and mated.

game 170, rofChade - Obsidian: rofChade pushed pawns on the king side and captured a pawn, leaving its king a little exposed. Obsidian was not able to take advantage of this weakness though both its knights were active on the king side. After some shuffling Obsidian gave a rook for a knight, this created a passer and opened the queen side. rofChade also created a passer and pushed it to the 7th rank. The game reached a QRR vs QRN position, Obsidian gave a rook in a desperate attack on the white king. rofChade queened the passer, exchanged a pair of queens and mated.

game 180, Clover - rofChade: The engines castled in opposite directions, after a few minor piece exchanges the king side opened and Clover captured a pawn. The game reached a RB vs RB position, Clover had a pawn majority on the king side. rofChade tried to protect its pawns but eventually Clover captured a pawn and created connected passers. Clover slowly pushed the passers with the king's support, rofChade lost the rook for a passer and the game ended in a tablebase win.

Standings after RR3: Berserk +8, Obsidian Seer Caissa +7, Igel rofChade +2, Viridithas 0, Arasan -2, Revenge -5, Velvet -6, Clover -7, Minic -13. The leader pack is down to 4 engines, rofChade was dropped after a weak RR that included losses to Arasan and Clover. Berserk has a small lead at the top, its results in RR3 were better than in RR1 with wins against Caissa and Igel. Obsidian, Caissa and Seer had similar results in RR3 as in RR1. Caissa beat rofChade and Obsidian lost to rofChade, the remaining wins were in games against lower ranking engines. Seer is still in joint second place due to an unexpected win over Minic, in black against the bias. The reverse games will determine which 2 engines will advance to the premier division. 

game 203, Berserk - rofChade: 

Standings with 5 rounds to go (game 218): Berserk +11, Obsidian Caissa +8, Seer +7, rofChade Igel +1, Viridithas 0, Arasan -3, Revenge -5, Clover -7, Velvet -8, Minic -13. 

game



Tuesday, April 9, 2024

Season 26 league 2 statistics

A summary statistics table of previous stages and seasons. 

Draw rate, wins

Final draw rate was 63.3%. 

Game termination

The three most common game termination causes were:
51.1% - TCEC draw rule
29.5% - SyzygyTB
12.9% - Mate

There were no crashes in the stage.

Moves per game

Median= 66.3
Average= 74.6

There were 43 games longer than 100 moves, the longest was 286 moves (BlackMarlin - Obsidian, game 39, Obsidian won). 

Time per game (hours)

Median= 1:02
Average= 1:00

Openings

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

The engines had very little freedom to choose the opening variant, 98.5% of the game pairs (all but 2) repeated the same ECO code and 97.7% (all but 3) repeated the opening variant twice. In all of the game pairs the first letter of the ECO code was repeated.

Reverse pairs, wins

Reverse pairs, same moves

Pairs of reverse games diverged quickly, 27.3% diverged immediately out of book, 62.1% of the pairs diverged at most after 1 move. The longest repeated sequence of moves was 17 plys (Marvin - Uralochka, games 11 and 77, Alekhine's defence, modern variation, Uralochka won as white) 


Tuesday, April 2, 2024

Season 26 league 2

Final standings


Berserk, Obsidian, Viridithas, Velvet and Arasan advance to league 1. Berserk and Obsidian lead from the start and only increased their lead. Berserk beat all other engines without a single loss, it won 18/22 game pairs. Obsidian lost twice to Berserk and one to Viridithas but won almost all other game pairs, only ScorpioNN held it to a draw in two game pairs. 

The race for the other 3 qualifying spots involved several engines and continued until the final rounds. After the first DRR Viridithas had a small lead in third place with at least 5 engines fighting for two more spots. After the third RR Viridithas, Velvet and Arasan were together in third place with Stormphrax and Uralochka chasing. This group of 3 engines kept their lead in the fourth RR, ensuring their qualification in the final two rounds.

The five qualifiers will play in league 1 together with:
played in season 25 premier division: Igel
played in season 25 league 1: rofChade, Clover, Seer, Caissa, Revenge, Minic

Interesting games

game 7, Arasan - ScorpioNN: The black king was stuck in the center with both sides unsafe. Arasan gave a pawn and threatened to open the center. ScorpioNN traded pieces and reduced to a Q vs R position, which then took Arasan more than 30 moves to reach a tablebase win.

game 10, Berserk - Viridithas: Berserk was up a pawn from the start, the engines exchanged pieces until only QRN vs QRN were left. After some shuffling Viridithas started to play inaccurately, it cpatured white pawns but Berserk attacked the black king. After exchanging queens Berserk captured pawns until it was two pawns up, then slowly pushed a passer forward to win.

game 13, Obsidian - Arasan: The engines opened files on both sides and exchanged pieces until only QRB vs QRN were left. Arasan had a passer but it gave a pawn to defend its king, creating connected passers for Obsidian. After exchanging queens Obsidian managed to capture the remaining black pawns and the game ended in a tablebase win.

game 14, Uralochka - Ginkgo: Uralochka had a bishop pair advantage, the engines mostly shuffled behind their pawn lines for a long time though evals increased slowly. On move 46 the engines opened a file on the queen side and reduced to a BB vs NN position. Uralochka's bishops were strong, it used them to reduce to a winning B vs N ending 3 pawns up.

game 24, Obsidian - Uralochka: The engines opened the queen side, then slowly exchanged pieces until the game reached a BN vs BB position with white a pawn up. Afte r some shuffling the engines reduced to an opposite bishops ending and Obsidian captured a second pawn. Uralochka wasn't careful enough, Obsidian managed to move its king forward and created connected passers to win.

game 26, Viridithas - Obsidian: Queens were off early, the black king moved forward in the center. Viridithas opened the center and captured a pawn, the game reached a double rook ending. OBsidian pushed a passer forward, then gave its two rooks and queened the passer. Viridithas managed to capture all the black pawns and its 3 pawn advantage was enough to win. 

game 39, BlackMarlin - Obsidian: The game reached a RRN vs RRN position, all pawns were on the board and the engines shuffled for a long time. On move 103 BlackMarlin gave a pawn, on move 158 Obsidian pushed a pawn, then it captured a second pawn and created a passer. On move 196 Obsidian pushed the passer, then BlackMarlin blundered and gave a rook for a knight and pawn. Obsidian now had connected passers, after another long shuffle Obsidian gave a pawn and opened a file. The engines traded pawns and Obsidian reduced to a winning rook ending.

game 48, Viridithas - Stormphrax: There were a few exchanges after the start and the engines mostly shuffled behind their pawn lines. Both kings moved to the king side, the white king side rook developed through the h file, while the black king side rook passively defended g7.On move 46 Viridithas created a passer after an inaccuracy by Stormphrax, then it gave a pawn and opened the queen side. Both engines pushed passers, Stormphrax developed its trapped rook. Eventually all passers were captured and the game reached a QR vs QN position. Viridithas pinned the black knight and then captured it for a pawn, the game ended in a tablebase win. 

game 58, Uralochka - Velvet: The engines opened files on both sides, Uralocjka placed a knight on h6 and the black king ran to the center for safety. The game reached a QRN vs QRN position, Velvet gave a pawn to move the strong knight, Uralochka exchanged rooks and created a passer on the queen side. Velvet capture the passer and lost its knight, the game ended in a tablebase win.

game 63, Velvet - Viridithas: The engines opened the g file and blocked the center. Velvet walked its king to the queen side, gave a pawn and attacked the king side. Viridithas captured another pawn but its pieces were too far to help its king. Velvet traded pieces and gave pawns, but eventually it was mated.

game 64, DeepSjeng - Uralochka: DeepSjeng captured a pawn and created a passer on the queen side. Then it gave a knight for a pawn on the king side and pushed the passer forward. Uralochka lost a rook for the passer and the game reached a QRB vs QBN position. It took DeepSjeng some time to find a way to improve, after trading pawns the engines exchanged queens. DeepSjeng pushed pawns forward, trapped the black king and mated.

game 65, Berserk - Obsidian: Berserk pushed pawns on the king side, its king had no pawn support. The engines opened the queen side and traded a pair of pawns. Berserk controlled the b file, the black queen moved forward but could not attack on its own. Berserk exchanged the remaining rooks and attacked the black king, Obsidian lost a knight so its queen could get back. The game reached a QN vs Q ending, Obsidian lost the queen for a passer and was mated.

Standings after RR1: Obsidian Berserk +4, Viridithas Arasan +2, Uralochka +1, Ginkgo ScorpioNN Stormphrax Velvet -1, DeepSjeng -2 Marvin -3, BlackMarlin -4. Obsidian and Berserk are leading. Berserk has no loss and winning all games as white except one against Velvet, including a win against Obsidian. Obsidian has another loss against Viridithas, and a win as black against BlackMarlin. Viridithas, Arasan and Uralochka are in the race for two more qualifying spots.

game 69, Berserk - Uralochka: The engines opened the queen side, Berserk moved its rooks forward and Uralochka pushed a passer to the 3rd rank. Berserk captured the passer and another pawn, then gave a rook for a bishop and opened the king side. Uralochka gave back material to save its king, the game reached a RNN vs RBN position with white 3 pawns up. Berserk gained more material and mated.

game 71, Velvet - Stormphrax: There were only a few exchanges after the start, a few pawn exchnages opened the board and Velvet had a bishop pair advantage, both engines had a passer in the center. Velvet gave a rook for a knight and pawn, creating a passer on the queen side supported by its bishops. The game reached a RBB vs RRN position, Velvet then regained the material with a bishop fork. Velvet went two pawns up, Stormphrax lost the rook for a passer and the game ended just before mate.

game 80, Ginkgo - Uralochka: Ginkgo moved its queen forward and cleared the black pawns on the queen side. Then it gave a bishop and captured the remaining black pawns. Uralochka traded RR for Q and reduced to a Q vs RRB position with white 4 pawns up. It took Ginkgo many moves to push its pawns forward with its king support, but eventually Uralochka lost material and was mated.

game 85, Velvet - Arasan: Velvet created a passer in the center, the engines exchanged pieces and Velvet traded two minor pieces for a rook. The game reached a QR vs QBN position, Velvet created a second passer on the king side. After exchanging queens Arasan captured one passer but started to lose material. The game ended in a tablebase win.

game 107, Marvin - Velvet: The engines castled in opposite directions and pushed pawns facing the opponent's king. The game reached a RBN vs RBN position and Marvin went a pawn up. Both engines had a passer, after exchanging bishops and a pair of pawns Marvin connected a second passer. The game ended in a tablebase win.

game 109, Berserk - Arasan: Berserk gave 3 pawns and started a series of exchanges that resulted in a RRN vs Q imbalance. Arasan created two passers but its queen was a target for the white pieces, Berserk eventually got two pawns back. The black king was exposed, Berserk moved its pieces forward and Arasan lost material but couldn't avoid mate. 

game 117, Uralochka - ScorpioNN: There were many early exchanges and the game reached a RBN vs RBN position with white a pawn up. After exchanging rooks both engines had a passer, it seems ScorpioNN was not accurate and evals started to increase. ScorpioNN reduced to an opposite color bishop ending, and even equalized material but Uralochka had connected passers that could not be stopped. The game ended in a tablebase win.

game 124, Velvet - Uralochka: Velvet captured an early pawn, the engines opened the king side and Uralochka exchanged queens. In a series of exchanges Uralochka gave a knight for pawns and the game reached a BBN vs BB position with black 2 pawns up. Uralochka pushed passes on the queen side, after trading minor pieces it took Velvet a long time to find the way forward. Eventually the last white pawn became an unstoppable passer, Velvet queened and mated.

game 125, ScorpioNN - Viridithas: Both engines castled long, Viridithas traded both its bishops for knights. ScorpioNN captured a pawn and created a passer on the queen side, then exchanged queens. The game reached a RBB vs RNN position, Viridithas captured the white passer but ScorpioNN went two pawns up and created connected passers on the king side. Viridithas lost a piece for the passers, the game ended in a tablebase win. 

game 129, Viridithas - Velvet: Queens were off early and Viridithas went a pawn up. Velvet gave a rook for a bishop and pawn, cleared the white pawns on the queen side and created two passers. Viridithas created a passer on the king side in a RRN vs RBB position, it captured one passer and gave back the exchange. Velvet captured a passer but lost its bishop for another, the game ended in a tablebase win.

Standings after RR2: Berserk +9, Obsidian +6, Viridithas +3, Arasan +1, Velvet Uralochka 0, Stormphrax Ginkgo -1, ScorpioNN DeepSjeng -2, Marvin -5, BlackMarlin -8. Berserk and Obsidian increased their lead at the top, Berserk won 9/11 game pairs without loss ,Obsidian won 7/11 with two losses. Viridithas has a small lead in third place, fourth place is still very much contested. It appears that there are 5 qualifying spots at this stage, all engines have a chance other than Marvin and Blackmarlin.

game 137, Stormphrax - Velvet: Stormphrax went a pawn up, then the engines gradually exchanged pieces until the game reached a rook ending. Stormphrax had a passer in the center, it king moved forward to support it. The engines traded pawns, the game ended in a tablebase win.

game 142, Berserk - Viridithas: Berserk was a pawn down and its king had to move without castling, but it managed to capture a rook for a knight and the game reached a RRB vs RNN position. Both white rooks moved to the 7th rank, Viridithas exchanged rooks and Berserk captured all black pawns. Berserk had one pawn left, the engines continued playing a 7-man winning position for 20 more moves before adjudication.

game 145, Obsidian - Arasan: There were many exchanges after the start, the engines reduced to a RN vs R ending with black two pawns up with connected passers. Arasan was not accurate and Obsidian managed to capture one of the passers, then rook were exchanged. The game ended in a tablebase win.

game 156, Obsidian - Uralochka: Uralochka started a series of exchanges that ended in a RB vs Q position with white 3 pawns up. Both engines created passers and pushed them forward, Uralochka gave its queen for the white passer but queened its own passer. Obsidian pushed another passer slowly, there was a lot of shuffling but close to the 50 move draw Obsidian found the winning path. It gave its passer and captured the last black pawn, the black king became trapped and was mated.

game 159, Stormphrax - Ginkgo: The game reached a RB vs RB position with white a pawn up. Stormphrax had a pawn majority on the queen side, it attacked the black pawns on the king side and captured a second pawn. Ginkgo captured a pawn on the queen side but Stormphrax created connected passers on the king side to win.

game 164, Berserk - Velvet: Berserk captured a pawn, Queens were off early and the engines castled in opposite directions. The engines played with caution, Berserk created a passer in the center. Velvet lost a knight to capture the passer, the engines traded pawns until each had one pawn left. A series of exchanges reduced to a BN vs B position and the game ended in a tablebase win.

game 167, Obsidian - Stormphrax: Obsidian captured a pawn, the engines gradually exchanged pieces in a closed position. The game reached a BN vs BN position, Obsidian captured a second pawn and created a passer on the queen side. Stormphrax tried to block the board, all pawns were inaccessible to the bishops. It took Obsidian a long time but eventually it created a second passer and its king moved forward. Stormphrax lost material and the game ended in a tablebase win.

game 195, Velvet - Viridithas: Velvet pushed a pawn to h6 and castled long. The engines exchanged pieces and pawns, Viridithas captured the h6 pawn but the game reached a RB vs RN position with white a pawn up. Viridithas captured a passer and Velvet captured another pawn and created another passer. Velvet gave both pieces to queen the passer, then queened again and won.

game 196, DeepSjeng - Uralochka: The engines blocked the center and played behind their pawn lines, on move 32 DeepSjeng opened the king side and threatened the black king. Uralochka gave a rook for a knight, the engines exchanged pieces until only RR vs RB remained. DeepSjeng eventually created a passer and pushed it to the 7th rank. Uralochka traded rooks to capture the passer, in the R vs B ending DeepSjeng created connected passers, queened and mated.

game 197, Berserk - Obsidian: Obsidian went a pawn up and created doubled passers in the center. The engines shuffled and exchanged minor pieces, on move 63 the engines exchanged all rooks and reduced to a QBB vs QBN position. Berserk created a passer in the center, regained the pawn and exchanged queens. Obsidian lost the knight to capture the passer, Berserk slowly captured the remaining black pawns and the game ended in a tablebase win.

Standings after RR3: Berserk +14, Obsidian +9, Viridithas Arasan Velvet +2, Stormphrax +1, Uralochka 0, Ginkgo DeepSjeng -2, ScorpioNN -5, BlackMarlin -10, Marvin -11. Berserk and Obsidian increased their lead again, they will finish in the top two places. There are 5 engines fighting for the remaining 3 qualifying spots. Decisive games within this group may have dramatic effects on the final standings.

game 202, DeepSjeng - Viridithas: DeepSjeng had an advantage in a RB vs BN position, but only shuffled and couldn't find a way to win. After 50 moves it gave up the bishop and the game was adjudicated.

game 203, Velvet - Stormphrax: There were a few exchanges after the start, on move 32 Velvet gave a pawn and started to open the position. After a series of exchanges almost all pieces were gone and only BN vs B were left with black a pawn up. It took Velvet more than 30 moves to capture all the black pawns, the game ended in a tablebase win.

game 206, BlackMarlin - Velvet: There were almost no exchanges after the start, on move 34 BlackMarlin went a pawn up, the first piece exchange was on move 39. The engines gradually cleared the pieces from the board, on move 60 the game reached a same color bishops ending. BlackMarlin captured two more pawns and exchanged bishops, then queened a pawn and mated.

game 214, Berserk - Stormphrax: The center was blocked with most pieces on the king side. Berserk captured a pawn and created a passer on the queen side, while threatening the black king on th eking side. Stormphrax blocked the passer, Berserk captured a second pawn and reduced to a RRN vs RRN position. Stormphrax had to cover more passers, Berserk exchanged a pair of rooks and captured the remaining black pawns. The game ended in a tablebase win. 

game 217, Velvet - Arasan: Arasan gave a pawn early, there were a few minor pieces trades. Then in a series of exchanges the engines reduced to a queen ending. Velvet created a passer, then got its king to a safe square. Arasan couldn't prevent a queening and was mated.

game 224, Obsidian - Viridithas: Viridithas captured a rook for a bishop, then gave back the exchange to get rid of a strong knight. The engines reduced to a BB vs BN position, Obsidian had a pawn majority on the king side and Viridithas gave a knight for two pawns to avoid a queening. Viridithas lost its bishop for the last white pawn, the game ended in a tablebase win.

game 234, Viridithas - Uralochka: Viridithas captured a pawn early, it had a pawn majority on the queen side. Uralochka opened the f file and placed its major pieces there. Viridithas created a passer on the queen side and pushed it to the 7th rank. There was some shuffling and Uralochka regained the pawn, then in a series of exchanges Uralochka got rid of the passer but lost a piece. The game reached a QRB vs QR position, Viridithas captured a pawn and the game ended in a tablebase win.

Standings with 5 rounds to go: Berserk +16, Obsidian +10, Velvet +3, Viridithas +2, Arasan +1, Uralochka Stormphrax 0, DeepSjeng -1, Ginkgo -2, ScorpioNN -6, BlackMarlin -10, Marvin -13. Velvet has a small lead in third place after beating Arasan and Stormphrax, though it lost to BlackMarlin. Viridithas in fourth also has good chances of advancing after beating Uralochka. A lot can still change in the last rounds.

game 241, Berserk - Arasan: The engines opened the queen side and Berserk captured a pawn. Arasan regained the pawn and the engines continued to exchange pieces until only RBB vs RBN remained. After some shuffling the engines traded bishops and cleared the queen side pawns. Berserk managed to capture all the black pawns and forced mate.

game 245, BlackMarlin - Uralochka: The engines castled in opposite directions, BlackMarlin opened the king side, Uralochka gave a rook for a knight and reduced to a RRN vs RBN position. Uralochka was a pawn up with connected passers on the king side, BlackMarlin captured a pawn and created a pawn majority on the queen side. BlackMarlin managed to capture the black passers for a knight and the game reached a R vs BN position with white two pawns up. BlackMarlin captured pawns and gave its rook for a bishop, Uralochka couldn't stop the white passers and was mated.

game 247, Arasan - Stormphrax: The engines traded Q for RB, Stormphrax thought it was fine for a long time. The black king had weak pawn support, the white rooks controlled the center. Stormphrax tried to attack with a rook sacrifice, after Arasan found safety for its king it gained more material and mated.

game 250, Obsidian - Velvet: The black queen moved forward early, both kings moved without castling. Velvet captured a pawn but its king and queen were exposed to attacks. Obsidian moved both rooks to the 7th rank, Velvet gave its queen and two pawns for the two rooks. The black king was still under threat, Velvet countered with its rooks against the white king. Eventually Velvet gave a rook for a bishop and reduced to a Q vs RN ending. Obsidian was two pawns up, it created connected passers and the game ended in a tablebase win.

Standings with 2 rounds to go: Berserk +17, Obsidian +12, Viridithas +3, Velvet +2, Arasan +1, Uralochka Stormphrax Ginkgo -1, DeepSjeng -2, ScorpioNN -6, BlackMarlin -11, Marvin -13. After their losses Uralochka and Stormphrax are close to being out of the race. Ginkgo is also only a point away from 5th place. However, with only two rounds left it is very likely that Arasan, Velvet and Viridithas will join the two leaders to qualify.

In round 43 all games were drawn except one, Berserk beat Ginkgo. As a result Viridithas and Velvet are safe, Ginkgo is out, Arasan still has a one point lead over Uralochka and Stormphrax.

In the last round Arasan drew and ensured 5th place. Uralochka won its last game but this only reduced the gap and was not enough to close it.




Saturday, March 30, 2024

Season 26 entrance league statistics

A summary statistics table of previous stages and seasons.  

Draw rate, wins

Final draw rate was 64.2%. 

Game termination

The three most common game termination causes were:
44.6% - TCEC draw rule
27.1% - SyzygyTB
16.7% - mate

There were no crashes in the stage.

Moves per game

Median= 64.8
Average= 73.9

There were 36 games longer than 100 moves, the longest was 277 moves (Stash - Stormphrax, game 118, draw). 

Time per game (hours)

Median= 1:01
Average= 0:59

Openings

There were variable length book openings in this stage. 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 but one repeated the ECO code and the opening variant twice. In all of the game pairs the first letter of the ECO code was repeated.

Reverse pairs, wins

Reverse pairs, same moves

Pairs of reverse games diverged quickly, 27.5% diverged immediately out of book, 70.8% of the pairs diverged at most after 1 move. The longest repeated sequence of moves was 17 plys (Obsidian - Velvet, games 8 and 128, Pirc classical system, two draws) 


Thursday, March 21, 2024

Season 26 entrance league

The engines that will play in the season 26 entrance league are:

relegated from season 25 league 2: Velvet Tucano Wasp
played in season 25 entrance league: Booot Weiss Equisetum Winter Expositor Stash
new to TCEC (played in Swiss tournament): Obsidian Willow Stormphrax akimbo Altair
returning to TCEC: Berserk (season 24 premier division) Texel (season 17 league 2)

Final standings




Berserk, Obsidian, Velvet and Stormphrax advance to league 2. Berserk was the clear leader from the start, this was expected considering that it was in the premier division in season 24 and started in the entrance league because it didn't play in season 25. It won 13/15 game pairs with no loss. Obsidian and Velvet kept a small advantage over the other engines, Obsidian lost one game pair to Berserk while Velvet did not lose any game pair. There was a race for the fourth qualifying spot, with Storphrax and Altair leading and Equisetum and Booot not far behind. Altair had a small lead with two rounds left, but then Stormphrax won a game as black (against the bias, the only such win in the league) and equalized. Stormphrax advanced on a tiebreak.

The 4 qualifiers will play in league 2 together with:
played in season 25 league 1: Viridithas, ScorpioNN, Ginkgo (replaces Fritz), DeepSjeng
played in season 25 league 2: Arasan, BlackMarlin, Uralochka, Marvin

Interesting games

game 14, Berserk  - Weiss: Berserk captured a pawn and attacked on the king side. Weiss reduced to a RB vs RN position, Berserk slowly captured black pawns until there were none left, then exchanged the minor pieces. Berserk queened a passer and won.

game 18, Stormphrax - Wasp: The position seemed drawn after many early exchanges, however Stormphrax played better with only RBN vs RBN left. It captured a pawn and created a passer on the 7th rank, then gave it back and reduced to a B vs N ending. Stormphrax created another passer and used it to win.

game 19, Weiss - Equisetum: Weiss had a passer on the queen side and a pawn majority on the king side, Equisetum had a passer in the center. Weiss created a second passer and exchanged queens, the game eventually reached a rook ending. Equisetum captured one passer but lost more pawns, the game ended in a tablebase win.

game 24, Velvet - Booot: Velvet skewered rook and queen after Booot chose a bad square for its rook. Velvet captured a rook for a bishop, then later gave back the material for a passer in the center. Velvet gave its queen for a rook to connect a second passer and then queened one. The rook advantage was enough for a win.

game 29, Berserk  - Tucano: Berserk opened the queen side and created a passer, Tucano gave two pawns and pushed a passer to the 2nd rank. Berserk blocked with a rook, Tucano gave a rook for a bishop to capture the white passer. Berserk opened the king side, reduced to a QRB vs QBN position and captured the black passer. The black king was exposed and the game ended in mate.

game 33, Stormphrax - akimbo: The engines castled in opposite directions, both created passers on the same side as their king. The game reached a RBN vs RNN position and Stormphrax went a pawn up. akimbo had a passer on the 3rd rank that was blocked, Stormphrax traded knights and captured a second pawn. The game ended in a tablebase win.

game 44, Berserk - Obsidian: Berserk was a pawn up in a QRN vs QRB position, it managed to get its major pieces to the back rank and threatened the black king. Berserk reduced to a queen ending, then slowly pushed its king forward. Obsidian couldn't avoid a queening and the game ended in mate.

game 45, Equisetum - Winter: The engines castled in opposite directions and Equisetum attacked the king side. It gave a pawn and moved its major pieces to threaten the black king. Winter gave the pawn back, creating a white passer on the 7th rank. Equisetum went two pawns up, gave up the passer and reduced to a winning rook ending.

game 60, Equisetum - Velvet: Queens were off early and both kings moved without castling, the engines reduced to a RB vs RN position. Equisetum moved its rook to the 7th rank, the black pieces defended pawns passively. The white king moved forward, after exchanging minor pieces Equisetum captured two pawns. The game ended in a tablebase win.

game 67, Winter - Stormphrax: There were only a few exchanges after the start and the position was closed for a long time. After exchanging queens Stormphrax gave a knight for 4 pawns and the position opened. The game reached a RBB vs RB position, Winter slowly captured pawns and by move 114 each engine had two remaining pawns. Winter queened a passer and mated.

game 68, Obsidian - Willow: Willow kept its king uncastled and struggled to develop its king side rook. The rook was exchanged a few moves after it was freed, and the game reached a RBN vs RBN position. Obsidian went a pawn up, Willow gave a bishop for a pawn to avoid connected passers. Stormphrax reduced to a tablebase win with one last pawn left.

game 83, Obsidian - Weiss: Obsidian had a pawn majority on the queen side and it pushed its pawns forward. The black pieces were mostly passive, the game reached a RRN vs RRB position with white a pawn up. Weiss lost more material and the game ended in a tablebase win.

game 84, Velvet - Stormphrax: Stormphrax gave a pawn and the engines opened the king side. All rooks and most pawns were exchanged, Stormphrax pushed a passer forward and Velvet gave a bishop to stop it. The white king was exposed to check but eventually found a safe square, the game ended in a tablebase win.

game 104, Berserk - Equisetum: Berserk went up a pawn, the engines slowly exchanged pieces and the game reached a QB vs QN position. Berserk created a passer, Equisetum captured it but Berserk created another and reduced to a queen ending. The engines traded pawns and the game ended in a tablebase win.

game 105, akimbo - Equisetum: akimbo went up a pawn, Equisetum traded both its bishops for white knights. The game reached a RBB vs RNN position, akimbo had a passer in the center blocked by a knight. akimbo increased the pressure and eventually captured a knight for a pawn, then captured the remaining black pawns and forced mate.

game 110, Altair - Booot: There were only a few exchanges after the start, the engines mostly shuffled. After move 47 Booot exposed the white king while Altair pushed a passer to the 7th rank. Booot lost a knight for the passer, Altair created more passers and Booot lost more material until it was mated.

game 113, Obsidian - akimbo: Evals started to increase after move 25, a series of exchanges opened the center 15 moves later. The game reached a rook ending, Obsidian captured the isolated black pawns and pushed connected passers. The game ended in a tablebase win.

Standings after RR1: Berserk +7, Obsidian +5, Velvet +3, Stormphrax Altair +2, Equisetum +1, Willow Tucano akimbo 0, Booot Wasp Weiss -1, Texel -3, Winter Stash -4, Expositor -6. Berserk leads after winning all games as white and drawing all games as black. Obsidian in 2nd place has only one loss to Berserk. Of the new engines Stormphrax and Altair also have a good chance of  advancing, Altair has no loss so far.

game 122, Equisetum - Willow: The engines shuffled for a long time, on move 113 they started to exchange pieces and pawns and the game reached a RB vs RB position. Equisetum was a pawn up with a passer, after another long shuffle Equisetum found a way to improve. It used a passer to capture a piece, the game ended in a tablebase win.

game 138, Wasp - Stormphrax: Both engines had a passer in the center, but the black passer was isolated. Wasp placed a strong bishop on f6, after some shuffling Stormprax decided to exchange the bishop for a rook. Both passers were captured, the game reached a RR vs RN position. Wasp captured all the remaining black pawns, the game ended in a tablebase win.

game 140, Berserk - Altair: Berserk created a passer in the center, then gave a rook and two pawns for a bishop to push the passer to the 6th rank. The game reached a RBB vs RRN position, Altair also pushed a passer forward but it had a pinned rook. Eventually both passers were captured and the engines reduced to a RB vs R ending with black two pawns up. The game ended in a tablebase win.

game 145, Booot - akimbo: The engines castled in opposite directions and Booot tried to attack on the king side. In a series of exchanges Booot traded BN for R and opened files, creating a passer. akimbo played inaccurately, after exchanging queens Booot pushed the passer forward, akimbo lost a knight for it. The game reached a RN vs BN position and ended in a tablebase win.

game 152, Stormphrax - Willow: In a series of exchanges the engines reduced to a QRR vs QRR position with white a pawn up. All rooks were then exchanged and Stormphrax created a pawn majority on the queen side. Stormphrax captured another pawn and exchanged queens, the game ended in a tablebase win.

game 167, Altair - Willow: The game reached a RN vs RN position with white a pawn up and all pawns on the king side. The engines shuffled and exchanged rooks, on move move 67 Willow played the wrong knight move. The white king managed to move behind the black pawns, Altair captured two pawns and won.

game 177, Texel - akimbo: Texel slowly moved its pieces to the king side in a closed position, then opened the king side in a series of exchanges that started on move 41. Texel gave 3 pawns and attacked the black king, akimbo lost material and the game ended in a tablebase win.

game 180, Velvet - Equisetum: Queens were off early and both kings moved without castling. Equisetum had a passer on the king side, it gave a rook for a knight and the engines reduced to a RR vs RB position. The black passer on the 3rd rank wasn't strong enough, Velvet managed to capture all the black pawns, queen a passer and mate.

game 184, Altair - Weiss: Weiss kept its king uncastled, blocking the king side rook. Altair opened the queen side and doubled queen and rook on the open c file. Weiss exchanged queens and the game reached a RRB vs RRB position. Altair created a passer, the black king side rook finally came out to block. Eventually Weiss lost both rooks for the passer, and Altair mated.

game 197, Velvet - Willow: Willow captured a pawn but Velvet trapped a black rook and captured it for a bishop. The engines reduced to a R vs B ending and the game ended in a tablebase win.

game 200, Tucano - Altair: There were almost no exchanges after the start, the engines mainly shuffled for a long time. Altair pushed pawns on the queen side and after a pawn exchange on move 43 the queen side opened. The first pieces were exchanged on move 50. Tucano blocked a black passer on the queen side and created a passer in the center. Altair gave a knight for two pawns and tried to attack the white king, Tucano exchanged queens and pushed the passer to the 7th rank. The black king was trapped, Tucano finished the game with a rook sacrifice and a mate with minor pieces.

Standings with 5 rounds to go: Berserk +10, Obsidian +7, Velvet +6, Altair Stormphrax +3, Equisetum +2, Booot +1, akimbo Weiss Tucano -1, Willow Texel -2, Wasp -4, Stash -6, Expositor -7, Winter -8. The top three places are practically determined, the fourth engine to advance is still open. Both Altair and Stormphrax lost a game to a weaker engine (Wasp and Tucano), both have a good chance of advancing. Equisetum and Booot have a smaller chance, Booot has two critical games left as white against Altair and Stormphrax.

Top standings with 2 rounds to go: Berserk +12, Obsidian +7, Velvet +6, Altair +4, Stormphrax +3, Equisetum +2, Booot +1. The only changes after 3 more rounds are that Berserk extended its lead and Altair won a game and is now alone in fourth place. Equisetum failed to win as white against Texel, Booot drew as white against Stormphrax, both are unlikely to advance. Stormphrax failed to beat Expositor as white and its chance of catching Altair up are small. 

game 225, Equisetum - akimbo: Equisetum captured a pawn early, the engines reduced to a RN vs RB position with white a pawn up. Equisetum had a passer, akimbo played inaccurately and after exchanging minor pieces Equisetum created a second passer. Equisetum then reduced to a tablebase win.

game 228, Texel - Stormphrax: Texel gave a pawn early, Stormphrax equalized easily and the engines mostly shuffled in a closed position. On move 113 Stormphrax opened the king side, it created two passers and pushed one to the 2nd rank. Stormphrax gave a rook for a bishop and captured more pawns. After exchanging queens Texel lost material to avoid a queening, and eventually was mated.

Top standings before the last round: Berserk +13, Obsidian +8, Velvet +7, Altair Stormphrax +4, Equisetum +3, Booot +1. Stormphrax won a game as black, the only black win of the league. Booot drew as white against Altair and is out of the race. Stormphrax has a tiebreak advantage over Altair and now has a better chance of advancing. Equisetum is still in the race, but its last game is in black and its chances are very small.

In the last round Altair beat Expositor, but then Stormphrax beat Stash and Stormphrax advances on tiebreak.


Saturday, November 11, 2023

Season 25 superfinal statistics

A summary statistics table of previous stages and seasons. 

Draw rate, wins

Final draw rate was 50%.

Game termination

The three most common game termination causes were:

45% - TCEC draw rule
27% - Mate
24% - SyzygyTB

There were no crashes in the stage.

Moves per game

Median= 77
Average= 83.2

There were 17 games longer than 100 moves, the longest was 379 moves (Stockfish - Leela, game 84, draw), a new TCEC record.

Time per game (hours) 

Median= 4:21
Average= 4:12

Openings

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

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

Reverse pairs, wins 

Reverse pairs, same moves 

Pairs of reverse games diverged slower than usual, 8% diverged immediately out of book, 46% of the pairs diverged at most after 1 move. The longest repeated sequence of moves was 53 plys (Leela - Stockfish games 49 and 50, Modern defense, two draws).


Wednesday, November 1, 2023

Season 25 superfinal games 91-100, season summary

Stockfish is the winner of the season 25 superfinal. The final score is 27-23 with 50 draws. Leela won another game pair and reduced Stockfish's lead to 4, the same gap as in the previous superfinal. The other 4 game pairs were drawn, 3 of them with two white wins. In the last 18 game pairs Leela beat Stockfish 4-0 in game pair wins, while after the first 32 game pairs Stockfish led 9-1. 

The superfinal started with 6 decisive games in 3 drawn game pairs. Stockfish won the first decisive game pair, and it slowly increased its lead. Of the first 14 game pairs Stockfish won 3, then Leela won its first game pair and Stockfish led by only 2 wins after 30 games. Stockfish then won several game pairs and increased its lead to 6 wins at the half way point. In some of the games Stockfish demonstrated superior endgame skills, for example in complex queen endgames. Stockfish extended its lead to a maximum of 8 wins after 32 game pairs, then Leela won its second pair of the match and reduced the lead to 7. From this point Stockfish did not win another game pair, it seemed that somehow Leela became stronger. Stockfish managed to get out of a game pair loss after a very late Leela inaccuracy in game 70. Leela slowly won more pairs, and the match ended with Stockfish ahead by 4 wins. Who knows what could have happened if more games were played.

Season 25 started with a Swiss event, however unlike in the previous season this event was not considered a replacement for the qualification. According to the current rules the top 6 engines of the Swiss event, not including those that are already included in one of the leagues, will play in the initial league stage. This season there were many engines from the last season that did not participate, either by the developer choice or since they are not in development any more. This included premier division participants Berserk and Koivisto. As a result almost all the engines that played in the Swiss event continued to the leagues. 

The first league event was the entrance league, including 16 engines of which 5 were new to TCEC. The four engines that advanced were all new: Viridithas, Clover, DeepSjeng and Caissa. Caissa managed to secure 4th place despite a bug that caused it to crash on time twice, Booot finished a close 5th. In league 2 the same 4 engines continued their journey and advanced again, in a different order. Caissa's bug was fixed and it finished 2nd, DeepSjeng and Arasan battled for 4th place and only a win in a direct encounter in the last rounds ensured that DeepSjeng would advance. League 1 was a different story for the 4 newcomers, none were strong enough to advance a third time. RubiChess dominated the league and finished in 1st place. rofChade was in 2nd place at the half way point, with Igel a close 3rd. In the last RR Igel managed to move ahead of rofChade and in the end it was Igel that advanced, despite losing two games to rofChade in the league.

The premier division was a month long 6-DRR event. The top3 engines, Stockfish, Leela and KomodoDragon were still dominant as in the previous several seasons, but this season there were greater score gaps between them. In the 90 top3-bottom5 game pairs the top3 did not lose a single game pair, and drew only 17. Stockfish finished first with no game pair loss at all, beating Leela 3 times and KomodoDragon 5 times. Leela beat KomodoDragon once, but it won 5 more game pairs than KomodoDragon against the bottom5 engines and finished 2nd. The top3 standings were obvious quite early in the division, the main race that was interesting was between Ethereal and RubiChess for 4th place that led to the division playoff stage. Ethereal and RubiChess were very close to one another from the start, each had one head to head game pair win in the first DRRs. After 5 DRRs Ethereal managed to lead RubiChess by 1.5 points. Then in the last DRR Ethereal unexpectedly lost a game pair to Igel, RubiChess also beat Ethereal in their final direct encounter game pair and this secured 4th place for RubiChess.

TBD - season summary: premier division playoff, personal

Games 91-92 started with a sideline in the QGA, Alekhine defense. The white queen was out on the queen side and a black rook was on a7 protecting the b7 pawn. In game 91 the engines opened files on the queen side and Stockfish castled short. There were many early piece exchanges, the game reached a QRN vs QRN position with white a pawn up on move 23. Stockfish moves its queen forward and Leela exchanged queens.

A pawn advantage with all pawns on the same side was small but significant, evals increased slowly. When it could Leela exchanged pawns while keeping its pieces on the board. On move 57 Leela created a passer in the center, on move 60 it connected a second passer while giving Stockfish a passer on the king side. 

Leela pushed its passers forward and Stockfish couldn't stop them. Leela gave a knight to queen one passer and mated. 

In game 92 the engines repeated game 91 for 16 plies with transposition, opening files on the queen side. Stockfish went a pawn up but all pieces stayed longer on the board. On move 27 the engines exchanged knight for bishop, the first pieces off the board. By move 32 all rooks were exchanged.

Leela avoided exchanging queens, Stockfish's eval started to increase as it pushed pawns in the center. In a complex position Leela chose to give a knight for 3 pawns and expose the white king. On move 47 Stockfish saw a win from far away, the engines reduced to a QBB vs QB position.

Leela gave many checks with its queen and captured the last white pawn. Stockfish found safety for its king in the center with the pieces blocking the black queen. It captured two black pawns and slowly improved its eval though it was hard to understand on the board. The white pieces slowly closed in on the black king, Stockfish had mate in its PV when Leela gave its queen and the game ended in a tablebase win. There were two white wins in this game pair, Stockfish leads 25-20.

Games 93-94 started with the Sicilian Lowenthal variation, played in high level human chess. In game 93 the engines castled in opposite directions. There was a long PV agreement and many early exchanges, the game reached a QRR vs QRR position on move 23. Evals started to increase, after exchanging queens Leela captured a pawn.

Stockfish had a passer in the center while Leela had a pawn majority on the queen side. Leela captured a pawn on the queen side, the black king moved forward to support the passer. Leela captured the second black pawn on the queen side, creating 3 connected passers. It blocked the black passer and pushed its own forward. Stockfish lost material trying to stop the white passers, Leela queened and mated.

In game 94 the engines repeated game 93 for 21 plies, Leela chose a different defense and Stockfish's eval started to increase. Again the game reached a double rook ending on move 29, this time material was equal but Stockfish had doubled rooks on the g file, blocking and threatening the black king on the open h file.

Leela's eval was stable for a long time, Stockfish wasn't in a hurry with repeating checks every few moves. The engines exchanged a pair of pawns and Leela created a passer. The passer was isolated and had to be protected. There was a threat of mate that Leela had to deal with as well. On move 58 Leela's eval jumped after a long think, Stockfish forced a small but significant change in the black rooks' placement. 

The white king managed to move forward to the center to block the passer. The queen side pawns stabilized, after many check repeats Stockfish exchanged a pair of rooks on move 82. Material was still equal, the engines traded pawns and both had only two pawns on the queen side. However, the black king was far on the king side and unable to help. Stockfish moved its king behind the black pawns and the game ended in a tablebase win. There were two white wins in this game pair, Stockfish leads 26-21.

Games 95-96 started with a 24-ply line in the French Winawer, retreat variation. The white queen captured two pawns on the king side and the black queen captured a pawn on the queen side. In game 95 the engines exchanged minor pieces after the start, Stockfish castled long and Leela moved its king forward without castling. Evals started to increase as Leela captured another pawn on the king side, Stockfish chased the white queen away and pushed the e pawn forward. As a result the e pawn became an advanced passer, while Leela had 3 connected passers on the king side. Stockfish captured a pawn and created a passer on the queen side, on move 31 the engines exchanged queens and the game reached a RRB vs RRN position.

Leela blocked the black passers with two pieces and slowly pushed its passers on the king side. The two black passers were stopped on the 2nd rank, Stockfish used its rooks to try to stop the white passers but Leela managed to queen one. Stockfish lost material and was mated.

In game 96 both engines castled long, Stockfish shifted its queen to the queen side. Stockfish pushed a passer on the king side but without support it stopped on the 5th rank. The engines mostly shuffled and evals came down, Stockfish gave a rook for a bishop and pushed the passer to the 7th rank. The engines traded RB for Q, Leela captured the passer, evals were low and the game was adjudicated. Leela wins the game pair, Stockfish leads 26-22.

Games 97-98 started with a sideline of the Indian defense, Wade-Tartakower variation. In game 97 Leela castled long, there were a few minor piece exchanges and Stockfish also castled long. The engines shuffled for a while and evals came down, then they exchanged a pair of rooks and reduced to a QRB vs QRN position. Leela captured a pawn and created a passer, Stockfish regained the pawn later. After exchanging queens evals were low and the game was adjudicated. In game 98 Stockfish castled long and Leela chose to castle short after the white queen captured the b7 pawn. Stockfish pushed pawns on the king side and Leela blocked them. Evals came down and the game reached a RRB vs RRN position. After exchanging a pair of rooks the game was adjudicated.

Games 99-100 started with a rare 22-ply sideline of the Caro-Kann, Panov attack. In game 99 there were no exchanges after the start, both engines placed their major pieces on the center files. After a knight exchange on move 22 Stockfish created a passer in the center. The engines shuffled for a while, then Leela created a passer in the center after a pawn exchange on move 35. On move 43 Leela captured the black passer and exchanged bishops.

Evals increased as the engines stabilized the pawns on the king side. Leela exchanged a pair of pawns on the queen side and then the engines started to shuffle. Evals drifted down as the 50-move counter got close to 0, Leela saw exchanges in its PV but Stockfish decided to initiate a queen exchange. Evals increased quickly, on move 106 the game reached a RB vs RB position.

Stockfish tried to stop the center passer and Leela captured the two black pawns on the king side. Stockfish couldn't avoid a queening followed by mate.

In game 100 both engines concentrated their pieces in the center, the exchanges started on move 18. Stockfish pushed the h pawn to h6 and exchanged it, on move 26 the game reached a QBB vs QBB position.

Stockfish's eval slowly increased but there were no exchanges except a pair of pawns on the queen side. The black king hid in the corner protected by the black queen and it seemed that Stockfish was shuffling. Slowly Leela's eval increased as well, Stockfish moved its king to the center and pushed the king side pawns. 

Leela had to defend its weak a5 and h7 pawns, and the possibility of a pawn attack on the king side. In the end Stockfish found a way to attack from the queen side, it exchanged a pair of bishops and saw the win in its PV. Stockfish reduced to a queen ending two pawns up. The white king moved forward, Leela lost its queen, Stockfish queened a passer and mated. There were two white wins in this game pair, Stockfish leads 27-23.