Thursday, November 14, 2024

Season 27 league 2 statistics

A summary statistics table of previous stages and seasons. 

Draw rate, wins

Final draw rate was 69.7%. 

Game termination

The three most common game termination causes were:
54.9% - TCEC draw rule
25.0% - SyzygyTB
9.5% - Mate

There were no crashes in the stage.

Moves per game

Median= 63.5
Average= 71.3

There were 35 games longer than 100 moves, the longest was 195 moves (akimbo - PlentyChess, game 153, draw). 

Time per game (hours)

Median= 1:02
Average= 1:01

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, 97.7% of the game pairs (all but 3) repeated the same ECO code and 93.2% 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, 23.5% diverged immediately out of book, 58.3% of the pairs diverged at most after 1 move. The longest repeated sequence of moves was 19 plys (Minic - Arasan, games 27 and 93, Scandinavian, Marshall variation, two draws) 


Tuesday, November 12, 2024

Season 27 league 2

Final standings

Ceres, PlentyChess, Devre and Uralochka advance to league 1. Ceres and PlentyChess led the league from the start. After RR2 PlentyChess was ahead, both engines had no loss. In the second half Ceres took the lead, PlentyChess won less games and even lost one and finished second. Many engines were in the race for the other two qualification spots. After RR2 Uralochka was in 3rd place, Devre in joint 4th place and without loss. After RR3 Devre was in 3rd place though it lost twice, close behind were Uralochka, Ginkgo, Stormphrax and Velvet. In RR4 Devre pulled away and secured qualification, only in the last round Uralochka ensured it was ahead of the chasing engines. Devre and Uralochka finished with tied scores, Devre was given 3rd place on a tiebreak.

The four qualifying engines will play in league 1 with:
played in season 26 premier division - RubiChess, Stoofvlees
played in season 26 league 1 - Caissa, Obsidian, rofChade, Viridithas, Igel, Revenge

Interesting games

game 1, Arasan - Stormphrax: The game started with a bias for black, Stormphrax grabbed an early pawn and Arasan gave a rook for a bishop. Arasan had a trapped knight and no real compensation, Stormphrax was a rook up for pawns after it captured the knight. Stormphrax gained more material and mated.

game 4, Uralochka - BlackMarlin: The engines exchanged pieces and pawns, Uralochka created a passer on the queen side. The game reached a RBN vs RBN position, Uralochka captured a pawn and created a second passer. Uralochka captured the remaining black pawns to win.

game 23, Arasan - Uralochka: Arasan went a pawn up and created a passer in the center. The engines exchanged pieces and pawns, it took Arasan a while to arrange its major pieces and then all rooks were exchanged and the game reached a QN vs QB position. Uralochka delayed but couldn't avoid a queen exchange, Arasan gave the passer but captured the remaining black pawns to win. 

game 28, PlentyChess - Ginkgo: After exchanging queens PlentyChess had a passer in the center. The engines reduced to a RN vs Rn position and PlentyChess captured a pawn. The white pieces were more active, PlentyChess captured a second pawn and the white king moved forward. PlentyChess used the passer to win.

game 36, Ceres - Uralochka: The black queen grabbed a pawn on the queen side and it was late coming back when Ceres attacked on the king side. Ceres gave a rook for a bishop, it threatened the black king with a queen and a bishop on the light squares. Uralochka gave the material back and Ceres captured a pawn, the game reached a same color bishop ending with white two pawns up which Ceres converted.

game 39, PlentyChess - Velvet: There were many early exchanges and the game reached a RN vs RB position. PlentyChess captured a pawn and created a passer on the queen side, Velvet tries to attack and gave up another pawn. Velvet regained the pawns but lost its bishop, the last white pawn secured the win.

game 50, PlentyChess - Uralochka: After a series of exchanges PlentyChess was up a pawn and the engines cleared the queen side pawns. The engines slowly exchanged pieces, PlentyChess gave two pawns but captured rook for a bishop. The RN vs BN ending was slow, eventually PlentyChess exchanged minors and forced mate.

game 61, PlentyChess - Stormphrax: There were no exchanges until move 43, the engines shuffled behind their pawn lines until move 78. When the king side opened the game reached a BNN vs BNN position, PlentyChess was a pawn up with a passer. The white king moved forward, Stormphrax gave a knight and captured pawns but its bishop was trapped. PlentyChess captured the bishop and was on time to stop the black pawns, it queened to win.

Standings after RR1: PlentyChess +5, Ceres +4, Devre +2, Stormphrax Ginkgo +1, Uralochka akimbo 0, Velvet -1, Arasan -2, BlackMarlin Minic -3, DeepSjeng -4. PlentyChess and Ceres are in the lead, both without loss. PlentyChess won all its games with bias while Ceres drew twice with bias (some of the games had black bias so not all wins are in white and not all draws are in black). Devre is also without loss but with only 2 wins. At least 4 more engines are in the race for the 3rd and 4th qualifying places.

game 76, Uralochka - akimbo: The game reached a QRB vs QRB position with the queen side pawns cleared and Uralochka a pawn up. The engines exchanged queens, akimbo regained the pawn but its bishop was pinned. Eventually Uralochka captured the bishop, its last pawn secured the win.

game 88, Minic - Ginkgo: Minic was a pawn up from the start, the engines exchanged pieces until the game reached a rook ending. The engines slowly traded pawns until only 3 were left, Minic managed to convert the 7-man win.

game 90, Ceres - Velvet: The engines castled in opposite directions, Ceres had more space and a pawn majority in the center. Ceres gave two pawns and reduced to a RRN vs RRN position with an advanced passer. Ceres regained the pawns, then captured another and added a second passer. The white king moved forward, Velvet lost material for the passers, game over.

Standings after RR2: PlentyChess +7, Ceres +6, Uralochka +3, Devre Stormphrax +2, Ginkgo +1, Velvet 0, akimbo -1, BlackMarlin Arasan -4, Minic -5, DeepSjeng -7. PlentyChess and Ceres are still leading without loss. Uralochka had 3 wins and no loss in RR2 and it jumps to 3rd place. Devre is still without loss in the league, it is part of the group trying to finish in the top 4 places.

game 142, akimbo - Uralochka: The engines opened the queen side, Uralochka had two isolated pawns there that akimbo eventually captured. The black queen moved forward but was not effective there, Uralochka captured a rook for a bishop but later lost material to stop a passer. The game reached a BNN vs RN position, Uralochka lost the knight for another passer and was mated.

game 157, Ceres - Stormphrax: The center was blocked, all pawns were on the board and Ceres had more space. After exchanging a pair of pawns Stormphrax had a passer in the center and Ceres had a pawn majority on the queen side. After some shuffling the a file opened, the engines exchanged pieces and reduced to a RRB vs RRB position. Ceres captured two pawns and created 3 passers. Ceres queened a passer and the game ended in a tablebase win.

game 161, Devre - akimbo: akimbo captured a pawn on the queen side while Devre weakened the black pawns on the king side and threatened the black king. In a QRB vs QRN position Devre regained the pawn, then went a pawn up and reduced to a rook ending. Devre created a passer on both sides, enough to win.

game 165, Ginkgo - Devre: Devre gave a rook for a bishop early, weakening the white pawns on the king side. Devre was strong in the center but Ginkgo slowly improved with an attack on the king side. The engines exchanged pieces, Ginkgo gave back the material and the game reached a rook ending. Ginkgo captured black pawns and was 3 pawns up to win.

game 168, Ceres - Uralochka: The engines exchanged pieces slowly and evals remained constant. When the game reached a B vs N ending evals started to increase. Uralochka gave a pawn to create a passer, Ceres controlled the promotion square with its bishop and pushed its own passer forward. Uralochka allowed a queening to keep its knight but was then mated.

game 171, PlentyChess - Velvet: The engines slowly exchanged pieces with most pawns on the board. Velvet gave a knight for two pawns and exposed the white king, but PlentyChess kept its king safe and blocked all black passers. In a RBN vs RB position PlentyChess captured black pawns, then reduced to a tablebase win. 

game 178, Velvet - Devre: The game reached a QBB vs QBB position, Devre had connected passers on the queen side but its king was exposed. Evals started to increase as Velvet captured one of the passers and exchanged queens. After exchanging a pair of bishops Velvet created a passer, then captured the second black passer. Velvet queened a passer and mated.

game 193, PlentyChess - Stormphrax: PlentyChess had a bishop pair advantage, Stormphrax offered a rook for a bishop but PlentyChess refused the exchange. PlentyChess opened the king side, after exchanging queens it placed a rook on the 7th rank and captured two pawns. The engines reduced to a RB vs RN position and the game ended in a tablebase win. 

Standings after RR3: Ceres +10, PlentyChess +9, Devre +3, Ginkgo Uralochka +2, Stormphrax Velvet +1, akimbo -3, Arasan BlackMarlin -4, Minic -7, DeepSjeng -10. Ceres and PlentyChess lead after RR3, both without loss. Ceres had a better RR and it overtakes PlentyChess. Devre lost twice in RR3, despite this it is now in 3rd place. Ginkgo and Uralochka are right behind, Stormphrax and Velvet are also in the qualification race.

game 205, Devre - Stormphrax: There was one pawn exchange after the start but evals increased steadily. After move 24 the engines started to exchange pieces and pawns, resulting in a NN vs R imbalance. Stormphrax gave a rook for a knight and tried to hold a QBN vs QB position, Devre exchanged queens and reduced to a tablebase win.

Standings with 5 rounds to go: Ceres +11. PlentyChess +10, Devre +5, Uralochka Ginkgo Velvet +2, Stoemphrax +1, akimbo -2, BlackMarlin -5, Arasan -7, Minic -9, DeepSjeng -10. Devre improved its position and it has a 3 win lead over the chasing group of 4 engines. 

game 242, BlackMarlin - Ginkgo: All pawns were on the board and one exchange of a pair of bishops. On move 35 BlackMarlin captured a rook for a knight, and then the engines shuffled for a long time. When the exchanges started BlackMarlin created a passer on the queen side. The game reached a RRN vs RNN position, BlackMarlin gave back the exchange but captured a pawn and created a second passer. Ginkgo couldn't stop the passers, BlackMarlin queened and mated. 

game 248, Uralochka - PlentyChess: There were almost no exchanges until move 37, Uralochka gave a pawn and created a passer in the center. Uralochka regained the pawn and captured a rook for a knight, PlentyChess equalized material and the game reached a RBN vs RBN position. Uralochka created two more passers, PlentyChess captured one but lost its bishop and knight for the other two passers. The game ended in a tablebase win.  

game 249, Ceres - Devre: The center was blocked and there were no exchanges after the start. After move 28 all bishops were exchanged and the king side opened, the exposed white king walked to the center. Both engines pushed a passer on the king side and shuffled for a while, after move 55 there was a series of exchanges that reduced to a RN vs RN position. Both king side passers were captured, Ceres captured a pawn and had a passer in the center. In a slow endgame Ceres gave up its passer but managed to capture all the black pawns. The game ended in a tablebase win.

Standings with 2 rounds to go: Ceres +13, PlentyChess +9, Devre +4, Uralochka Velvet +3, Stormphrax Ginkgo +2, akimbo -2, BlackMarlin -6, Arasan -7, DeepSjeng -10, Minic -11. Ginkgo lost to BlackMarlin and only drew against DeepSjeng, Uralochka beat PlentyChess and held against Stormphrax, Devre lost to Ceres and only drew against Velvet. It is hard to imagine Devre not qualifying despite its loss, but four engines still have a chance of getting the 4th qualification spot.

game 255, BlackMarlin - Velvet: The black king moved without castling, the engines opened the board with exchanges. BlackMarlin moved its queen forward and went a pawn up, the engines reduced to a BB vs BN position. BlackMarlin captured a second pawn, the game ended in a tablebase win.

Ginkgo drew against Stormphrax, Devre drew against Uralochka, Velvet lost to BlackMarlin. Uralochka is in 4th place with a small lead over the other 3 engines, one last round to go.

Devre held a draw against Minic and qualified. Uralochka beat DeepSjeng to secure 4th place. 


Friday, November 1, 2024

Season 27 entrance league statistics

A summary statistics table of previous stages and seasons.  

Draw rate, wins

Final draw rate was 54.2%. 

Game termination

The three most common game termination causes were:
39.2% - TCEC draw rule
32.9% - SyzygyTB
20.0% - mate

There was one crash in the stage, Booot crashed in a 7-man drawn position.

Moves per game

Median= 69.8
Average= 74.7

There were 38 games longer than 100 moves, the longest was 189 moves (Halogen - Ceres, game 157, draw). 

Time per game (hours)

Median= 1:03
Average= 1:02

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 repeated the ECO code twice, and in all but two game pairs the opening variant repeated twice.

Reverse pairs, wins

Reverse pairs, same moves

Pairs of reverse games diverged quickly, 27.5% diverged immediately out of book, 62.5% of the pairs diverged at most after 1 move. The longest repeated sequence of moves was 25 plys (Devre - BlackMarlin, games 78 and 198, QGD semi-Slav, anti-Meran, Lilienthal variation, two draws) 


Thursday, October 31, 2024

Season 27 entrance league

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

relegated from season 26 league 2: BlackMarlin, Marvin
played in season 26 entrance league: Altair Equisetum Booot Weiss Tucano akimbo Texel
new to TCEC (played in Swiss tournament): Ceres Devre PlentyChess Lizard Renegade Patricia
returning to TCEC: Halogen (season 25 league 2)

Final Standings

Ceres, Devre, BlackMarlin, PlentyChess and akimbo qualify to play in league 2. Ceres is supposed to be premier division material, it won 13/15 game pairs. Devre and BlackMarlin were ahead of the other engines from the start, Devre lost a single game pair to Ceres while BlackMarlin did not lose any. According to TCEC Elo BlackMarlin's result is somewhat surprising. PlentyChess was in 4th place with akimbo close behind, in the last rounds Halogen also joined the race. In the end PlentyChess kept its place, Halogen was 5th before the last round but lost its last game, akimbo won to take the 5th qualifying spot.

The 5 qualifiers will play in league 2 together with:
played in season 26 league 1 - Arasan, Velvet, Minic
played in season 26 league 2 - Uralochka, Stormphrax, Ginkgo, DeepSjeng 

Interesting games

game 17, Weiss - Texel: On move 43 evals were low, Texel had connected passers in the center and Weiss had two passers on the king side. Weiss' eval jumped, Texel gave a rook for a knight and one white passer. After exchanging queens the second white passer became strong and Texel lost a rook and the game for it.

game 18, Devre - Booot: The engines shuffled with all pawns on the board, evals dropped to 0, Devre gave a rook for a knight to reset the 50 move counter. Booot blundered and the game reached a RN vs RR position with the black king and rook trapped on the queen side. Booot had no good moves and Devre captured 4 pawns to win.

game 22, Ceres - Patricia: Ceres was up a rook for a bishop and the game reached a RR vs RB position. After trading pawns Ceres trapped and captured the black bishop, then reduced to a tablebase win.

game 37, Ceres - Halogen: Ceres trapped the black king and reduced to a QR vs QN position two pawns down. After exchanging queens the white king was very active, Ceres captured pawns and created passers to win.

game 38, BlackMarlin - Altair: BlackMarlin slowly pushed the b pawn forward, then with both rooks on the 7th rank captured the b7 pawn and created a passer. Both engines managed to promote a passer but Altair lost material, the game reached a bishop vs pawns ending, BlackMarlin queened again to win. 

game 48, Devre - akimbo: Devre had a strong bishop behind the black pawns, akimbo struggled to create space for its pieces. The black king was under threat after the g file opened, then Devre created a pawn majority on the queen side. akimbo lost a rook for a passer, Devre gained more material and mated.

game 50, Renegade - Devre: The engines shuffled for a long while, on move 114 Renegade gave a knight for a passer and Devre's eval jumped. The game reached a N vs BN position, Renegade had a passer on the 7th rank and it took Devre a while to capture it. After exchanging knights Devre pushed a passer to win.

game 53, BlackMarlin - Equisetum: BlackMarlin created a pawn majority on the queen side. The engines slowly exchanged pieces and the game reached a QR vs QR position. After exchanging queens all the pawns on the queen side were captured, BlackMarlin quickly captured two pawns on the king side to win.

game 67, Ceres - Devre: The game reached a double rook ending, Devre had a passer in the center and Ceres had a pawn majority on the king side. Ceres created a passer and the white king moved forward to support it. Devre lost a rook for the passer, game over.

game 71, PlentyChess - Halogen: The king side opened and PlentyChess attacked the black king. Halogen exchanged down to a RN vs RB position, PlentyChess placed a rook on the 7th rank and the white king moved forward. Halogen lost material and was mated.

game 79, akimbo - Ceres:  Evals were negative, they remained mostly stable while the engines shuffled and exchanged pieces and pawns. In a QR vs QB position with black 3 pawns up akimbo exchanged queens on move 97 and evals jumped. Ceres pushed connected passers to win. 

game 80, Renegade - Lizard: Renegade was up a pawn early, it captured a second pawn and created a passer on the queen side. The passer moved slowly forward, in a RN vs RN position Lizard captured the passer but lost its remaining pawns. Renegade pushed passers to win.

game 82, Ceres - Renegade: Evals slowly increased with only one pawn exchange until move 33. The position opened and the engines reduced to a RB vs RB position, white with a pawn up and a passer in the center. Ceres captured the bishop for the passer, then reduced to a tablebase win.

game 98, BlackMarlin - Lizard: The black king moved without castling, by the time it found safety on the queen side BlackMarlin had a passer on the king side. Lizard captured the passer and the game reached a double rook ending with white a pawn up. BlackMarlin had connected passers, it queened one to win.

game 99, Marvin - Renegade: Marvin captured a rook for a bishop though its king was exposed. The game reached a QR vs QB position, Renegade pushed a passer and was sure it could hold. However, Renegade had no tablebase access, Marvin captured the passer, exchanged queens and reduced to a tablebase win.

game 109, akimbo - PlentyChess: Evals increased steadily from the start, akimbo had more space, a bishop pair and control of the open b file. akimbo trapped a black rook but preferred to capture a pawn and create a passer. akimbo captured another pawn and reduced to a RB vs RN position, it used its passers to win.

game 116, PlentyChess - Renegade: PlentyChess was a pawn up with a passer on the queen side, the game reached a RRN vs RRB position and Renegade created a passer in the center. The engines exchanged a pair of rooks and PlentyChess pushed the passer to the 7th rank. PlentyChess gave a pawn and created a second passer, Renegade lost the rook for a passer, game over.

Standings after RR1: Ceres +9, Devre BlackMarlin +6, PlentyChess +3, akimbo +2, Renegade Lizard Halogen +1, Altair Equisetum 0, Patricia -2, Weiss -3, Booot -4, Tucano -5, Marvin -7, Texel -8. Ceres leads with no loss, two black wins against bias and only one draw in white against BlackMarlin. BlackMarlin and Devre are in joint second, BlackMarlin without loss while Devre lost one game against Ceres and won one game in black. The 4th qualifying place is still competitive with five engines within one point of each other.

game 126, PlentyChess - Lizard: PlentyChess gave a pawn and created an advanced passer on the queen side. Lizard created an advanced passer on the king side and the game reached a QRB vs QRB position with both passers blocked. The white passer was better protected, PlentyChess captured the black passer and exchanged queens. Lizard gave the bishop for the white passer, PlentyChess used its last pawn to force mate.

game 131, Ceres - PlentyChess: The engines opened the b file and Ceres controlled it with a rook. Evals increased slowly, Ceres gave a pawn and created a passer on the king side. Ceres regained the pawn and traded two minors for a rook. After exchanging queens the white passer slowly advanced and PlentyChess lost a knight for it. In a BBN vs R position Ceres captured pawns and trapped the black king to win.

game 133, Renegade - Altair: Renegade had a bishop pair and an early pawn advantage but its king was exposed. Altair regained the pawn and traded two rooks for the white queen, Renegade captured a knight and the game reached a RRB vs Q position. The engines traded pawns until there was only one white pawn left, the game ended in a tablebase win.

game 135, Devre - Equisetum: The game reached a RBB vs RR position with black two pawns up. After exchanging a pair of rooks Devre pushed a passer to the 7th rank and Equisetum traded a rook for a bishop to capture it. Devre's last pawn secured the win.

game 140, Halogen - Renegade: The game reached a BN vs BN position with white a pawn up. Halogen pushed a passer and Renegade gave the knight for it, the game ended in a tablebase win.

game 149, Lizard - Halogen: The engines exchanged pieces and pawns and opened the king side. The game reached a QRB vs QRN position, Lizard avoided a queen exchange for a long while. When it was ready Lizard exchanged queens and captured the knight, it used a passer to gain more material and won.

game 155, Booot - Renegade: The game reached a BN vs BN position with white a pawn up. Booot created a passer and exchanged bishops, then it captured another pawn and reduced to a tablebase win.

game 183, Lizard - Devre: The game started with a bias for black, the engines quickly reduced to a QRN vs QRN position with black a pawn up. The engines exchanged rooks and Devre captured another pawn. Devre slowly pushed passers forward, then forced a queen exchange to win.

game 186, akimbo - Lizard: The game reached a QRR vs QRN position with black a pawn up. It took akimbo a while to capture two pawns and then exchange queens. The engines continued to trade pawns and the game ended in a tablebase win. 

game 195, PlentyChess - Equisetum: The engines castled in opposite directions, each engine pushed pawns facing its opponent's king. The long DS diagonal was open and a threat to the black king, Equisetum gave a rook for the white DS bishop and a pawn, also exposing the white king. In a RRB vs RBN position Equisetum lost the knight for a passer. PlentyChess had no pawns but its extra rook was enough to win.

game 199, Ceres - akimbo: There was a black bias from the start, the engines opened the position and exchanged pieces and pawns. The game reached a rook ending with equal pawns but akimbo had a passer on the 2nd rank. akimbo gave up the passer but captured two pawns and created another passer. The black king moved forward to support the passer, the game reached a 7-man position and akimbo managed to convert the win.

Standings with 5 rounds to go: Ceres +14, Devre +9, BlackMarlin +8, PlentyChess +5, akimbo +4, Halogen +2, Renegade +1, Lizard Equisetum 0, Altair -1, Booot -4, Patricia Tucano -5, Weiss -7, Texel -9, Marvin -12. Ceres increased its lead, Devre and BlackMarlin will almost certainly qualify though they may change places. PlentyChess is in fourth place but akimbo is close behind, this race is not over yet.

game 208, Halogen - Altair: Halogen was a pawn up and the engines shuffled in a closed position. Altair started to open the position but this turned out to be a bad idea. The engines traded Q for RB then reduced to a king and pawns endgame. Halogen was a pawn up and that was enough to win. 

game 215, BlackMarlin - Renegade: BlackMarlin gave a bishop for pawns and exposed the black king. Renegade gave a piece back and the game reached a RB vs RB position with white a pawn up. BlackMarlin had a passer it kept safe until the engines exchanged rooks. The game ended in a tablebase win. 

game 218, Lizard - BlackMarlin: The black king moved without castling, Lizard gave a knight to expose the black king. The white rooks controlled the center files and Lizard captured a rook for a bishop. The game reached a QR vs QBN position, Lizard pushed a passer foreward, then gave the rook and queened to win.

Standings with 2 rounds to go: Ceres +15, Devre +10, BlackMarlin +8, PlentyChess +6, akimbo +5, Halogen +4, Equisetum Renegade +1, Lizard 0, Altair -2, Booot -4, Weiss -6, Patricia Tucano -7,  Texel -10, Marvin -14. BlackMarlin lost its first game of the league, it is a point behind Devre and probably will not be able to close the gap in the last two rounds. PlentyChess and akimbo are still fighting for 4th place, PlentyChess held as black against Devre. They still have to face each other with PlentyChess as white. Halogen is also close after two wins, it needs a miracle to reach 4th place.

game 229, PlentyChess - akimbo: After many early exchanges the game reached a RBN vs RBN position, the white rook was more active and PlentyChess created a passer in the center. Eventually akimbo lost material for the passer, PlentyChess won a knight vs pawns ending.

Devre and BlackMarkin drew their games, Halogen beat Booot and PlentyChess beat akimbo. One round to go Devre has a 1 point lead over BlackMarlin and PlentyChess has a 1 point lead over Halogen.

game 239, Weiss - Halogen: Weiss was a pawn up with a passer on the queen side. Weiss gave a bishop for pawns and exposed the black king. Halogen gave material and pushed a passer to the 2nd rank, but was not strong enough. Weiss trapped the black king and pushed its passer to win.

In the last round Devre and BlackMarlin won (BlackMarlin as black against Texel with a white bias), PlentyChess drew its game, akimbo won and Halogen lost. As a result akimbo is 5th ahead of Halogen in the final standings.


Wednesday, June 12, 2024

Season 26 superfinal statistics

A summary statistics table of previous stages and seasons. 

Draw rate, wins

Final draw rate was 52%.

Game termination

The three most common game termination causes were:

48% - TCEC draw rule
28% - SyzygyTB
21% - Mate

There were no crashes in the stage.

Moves per game

Median= 79
Average= 83.7

There were 24 games longer than 100 moves, the longest was 167 moves (Stockfish - Leela, game 100, draw).

Time per game (hours) 

Median= 4:21
Average= 4:16

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, 12% diverged immediately out of book, 54% of the pairs diverged at most after 1 move. The longest repeated sequence of moves was 25 plys (Leela - Stockfish games 85 and 86, English opening, two white wins).


Wednesday, June 5, 2024

Season 26 superfinal games 91-100, season summary

Stockfish is the winner of the season 26 superfinal. The final score is 31-17 with 52 draws. In the last five game pairs Stockfish won two and extended its lead to a maximum of +15. Then in the last pair Leela finally managed to win and reduced the gap to +14 in the end. Leela had a chance of a game pair win earlier, but Stockfish managed to win the reverse game 94 in a blitz ending, with what both engines thought was a drawn position on move 90.

Stockfish won the first game pair of the match and it held the lead all the way to the end. It won again before Leela won its first pair, reducing the lead back to +1. Stockfish won 3 more game pairs, then Leela won two, after 14 game pairs Stockifsh led by +2. It seemed at that point that the match would be competitive, but in the next 14 pairs Stockfish won 6 times without loss. The lead was up to +8 before Leela managed to win a game pair. The hope for a Leela comeback, like in season 25, slowly diminished as Stockfish continued to increase the lead in the following games. Stockfish won 8 times without loss in the next 20 game pairs and the lead increased to +15. Leela finally won the last game pair, much too late to change anything. After two superfinals where Leela seemed to close the gap, this season Stockfish again dominated the superfinal.

The first league event of season 26 was the entrance league with 16 engines. There were 5 engines that were new to TCEC and 2 returning engines, including Berserk that was 4th in the premier division of season 24 and took one season off. Berserk dominated the league and won, the newcomer Obsidian and Velvet also qualified comfortably. There was a race for the fourth spot between newcomers Stormphrax and Altair, Altair led two rounds to go but Stormphrax closed the gap and advanced on a tiebreak. In league 2 Berserk and Obsidian again won easily. There were 3 more qualification spots - one more than usual because of SlowChess not starting the season. Several engines were involved in the race, after RR3 Viridithas, Velvet and Arasan opened a small gap ahead of the rest and kept it till the end. In league 1 there were 5 engines that led as a group: Seer, Caissa, Berserk, Obsidian and rofChade. After 3RRs rofChade was dropped but the other 4 engines were almost tied. In the last RR Berserk left the other engines behind to win the league. The other 3 engines ended up in a three way tie, the tiebreak decided that Seer was the second engine to advance. 

TBD: premier division, personal

Games 91-92 started with an unusual line in the English opening. In game 91 Leela kept its king in the center and pushed pawns on both sides of the board. The h file opened which was a potential danger for the black king, Leela's eval slowly increased. Leela didn't expect Stockfish's move 19, its eval dropped even though it trapped a black rook. On move 24 the engines started to exchange pieces, starting with a knight for rook trade. Stockfish regained the material and the game reached a RB vs RB position with white a pawn up. Leela wouldn't lower its eval, it gave the rook for a bishop and two pawns, the game continued for 35 more moves. In game 92 Stockfish castled its king, both engines played mostly on the king side. The pawns on the king side moved forward and both kings were exposed. Evals came down despite the fact that Stockfish captured a rook for a knight, the game reached a RRB vs RBN position. After a long shuffle the engines traded minor pieces and the game was adjudicated.

Games 93-94 started with a 22-ply line in the closed Ruy Lopez, Borisenko variation. All pieces and pawns were still on the board. In game 93 there were no exchanges after the start and the engines blocked the center and most of the queen side. On move 22 the engines exchanged minor pieces on the king side and Leela's eval started to increase. On move 27 the first pawns were exchanged on the queen side, opening the a file, Leela then pushed a pawn to h6. Stockfish's eval also started to increase, Leela captured a pawn on the king side and the queens were exchanged. 

Leela exchanged pawns in the center and created a passer, then offered a rook for a bishop. Stockfish thought about it but took the rook after a few moves, together with another pawn capture this gave Leela 3 connected passers in the center. Leela was not in a hurry to push the passers forward but Stockfish could not stop them. Leela queened eventually, followed by mate.

In game 94 the engines again blocked the center and there were no exchanges after the start. The first pawn exchange was on move 26 on the queen side, leaving a small opening there. The engines exchanged a pair of bishops, then Leela captured a pawn and opened the b file. Evals were low, the engines blocked the king side and exchanged the remaining bishops. Then there was a long shuffle, on move 88 a pair of rooks was exchanged and the shuffling continued. Stockfish's eval started to increase after move 100, then the engines reduced to a double knight ending. 

Leela was a pawn up but its knights could not advance while the white knights had several protected entry points. Leela gave back the pawn and exchanged a pair of knights, giving Stockfish a passer on the king side. Leela gave another pawn in the center, Stockfish gave it back and created another passer. Stockfish reduced to a king and pawns ending and saw the win. Both engines queened but Stockfish gave check first, then queened again and mated. There were two white wins in this game pair, Stockfish leads 29-16.

Games 95-96 started with a rare sideline of the KID Saemisch variation, the center was blocked and all pawns and pieces were on the board. In game 95 the engines exchanged pawns and knights on the queen side. Evals dropped after the black queen moved forward, queens were exchanged and the white king moved without castling. The engines opened the king side, then a series of exchanged reduced to a RB vs RB position. Leela captured a pawn, its eval increased just before adjudication. This only delayed the game's end by a few moves.

In game 96 Stockfish castled its king, the engines exchanged pawns and knights on the queen side and opened the v file. The engines seemed to shuffle but Stockfish's eval slowly increased after move 27, Leela's eval stayed around 1. On move 35 Stockfish pushed a pawn on the king side and exchanged a pair of pawns, then moved major pieces to the g file.

Leela's eval jumped over 2, it tried to defend the g6 pawn with all pieces it could get. The engines exchanged a pair of bishops, Stockfish took its time to get a second rook on the g file and move the queen behind the rooks. Then it moved the pawn to f6 and brought the knight to e7, forcing a knight for rook trade. The g file opened and the game reached a QRB vs QBN position. 

Stockfish captured a pawn after exchanging bishops, then it gave the rook for a knight and captured a second pawn. The two pawns advantage was enough for a win in the queen ending, the game ended in mate. Stockfish wins the game pair, it leads 30-16.

Games 97-98 started with a 22-ply sideline in the Sicilian, Scheveningen variation, with all pieces on the board and one pair of pawns exchanged. In game 97 Leela pushed pawns on the king side, a pawn exchange on the queen side opened the a file. Leela captured a pawn and exchanged a pair of rooks, its eval slowly increased. Leela thought Stockfish will exchange pawns on the king side, when that didn't happen Leela's eval dropped. On move 25 the engines started to exchange pawns and pieces, Stockfish gave a bishop and the game reached a QBB vs QB position. Stockfish had connected passers on the king side, Leela gave back a bishop to capture one passer. The white king was exposed and the black queen gave checks until the game ended in a 3-fold repetition.

In game 98 Stockfish thought Leela's first move after book was a mistake. Leela didn't expect Stockfish's response and its eval jumped immediately over 2.5. Stockfish attacked the king side, it sacrificed a knight and then Leela gave its queen for a rook. Stockfish let Leela capture another rook, it had a strong attack on the black king and Leela still had a rook and a bishop undeveloped on the queen side. 

Stockfish moved a bishop to h6, Leela offered a rook for the bishop but Stockfish preferred to keep its bishop pair. After trading bishop for knight Stockfish used a mate threat to capture a rook. The game reached a Q vs RB ending, Stockfish pushed a passer on the king side. Leela stopped the passer on the 7th rank, then lost the bishop and the game ended in a tablebase win. Stockfish wins the game pair, it leads 31-16.

Games 99-100 started with the main line of the Czech Benoni defense, the center was blocked and all pieces and pawns were on the board. In game 99 Leela pushed pawns on the king side and the white king went there without castling. Leela's eval slowly increased, after move 19 the engines exchanged pawns and opened the king side. The f file opened and the engines exchanged a pair of rooks on move 29, first piece exchange. Both engines had a passer in the center, more minor pieces were exchanged and both kings were left without any pawns protecting them.

Material was equal but the black e pawn was hard to defend. Leela first got its king to the center for safety, then exchanged queens and only then captured the e pawn. In a RBN vs RBN position Leela exchanged pawns on the queen side and then slowly captured the remaining black pawns. There were two connected white passers left, Stockfish could only delay with checks but eventually Leela queened. Stockfish lost material and the game ended in a tablebase win.

In game 100 the engines exchanged a pair of bishops, Stockfish pushed the h pawn and castled long. More minor pieces were exchanged, Stockfish pushed the pawn to h6 and the engines started to shuffle. Stockfish had a pair of advanced knights, but with all pawns on the board the major pieces could do nothing. On move 62 Stockfish gave a pawn, on move 98 the engines exchanged queens. Shuffling continued with evals at 0, the game was adjudicated on move 167 after enough pieces were exchanged. Leela wins the game pair, Stockfish leads 31-17.


Saturday, June 1, 2024

Season 26 superfinal games 81-90

After 90 games Stockfish leads 28-15 with 47 draws. Stockfish won 3 game pairs without loss, increasing its lead to +13 with 5 game pairs left to play. Leela hasn't been able to win a game pair for 16 straight pairs, it is not making a comeback this season. There was on game pair with two white wins. 

Games 81-82 started with a line in the QGA, central variation, played in high level human games. All pieces were on the board, black was a pawn up and had a passer in the center. In game 81 there was a long PV agreement at the start, the engines exchanged minor pieces, Leela regained the pawn and attacked the black king. Stockfish moved its exposed king without castling, Leela captured two more pawns and cleared the black king side. There were 4 connected white passers but the white king was behind them. Stockfish captured one passer and Leela's eval dropped. In a series of exchanges the engines reduced to a RB vs RB position. Leela was two pawns up with a passer on the 7th rank, Stockfish also pushed a passer to the 2nd rank. Both evals were close to 0 and the game was adjudicated.

In game 82 Leela kept the pawn and kept its king safe, Stockfish's eval jumped when Leela castled its king and allowed a king and rook fork, losing a rook for a knight. Two moves later Leela's eval jumped even higher. Stockfish opened the c file and moved a rook forward, Leela pushed a pawn on the king side that reached h3 and the white king hid behind it. Stockfish used all its pieces to threaten the black king, Leela exchanged pieces and pawns, on move 44 the game reached a RR vs RB position.

Stockfish created a passer on the queen side, then managed to confine the black king on the h file. A zugzwang on move 62 forced Leela to move its blocking rook, Stockfish used mate threats to push its passer and gain more material. Stockfish queened and the game ended in a tablebase win. Stockfish wins the game pair, it leads 25-14.

Games 83-84 started with a rare sideline in the Robasch defense. In game 83 the engines castled in opposite directions. For one move Leela's eval spiked close to 2 after a 12 minute think, Stockfish surprised with a pawn push on the queen side and both evals dropped. The engines opened files and exchanged pieces rapidly. Stockfish was a pawn up in a QB vs QB position, Leela regained the pawn and exchanged queens, the game was adjudicated very early on move 34.

In game 84 the engines repeated the reverse game for 11 plys and castled in opposite directions. The black queen moved forward on the queen side, the engines exchanged pawns and minor pieces there. Stockfish captured a pawn, most of the black pawns on the queen side were gone and the black pieces there were a threat to the white king. Stockfish exchanged a pair of rooks and protected its pawn on e5 that kept the long diagonal closed. Leela's eval dropped on move 28, Stockfish's eval dropped 2 moves later. The engines exchanged pawns on the king side and opened files but it seemed Leela found a way to hold a draw. On move 38 Stockfish's eval jumped back up, Leela was surprised by the next white move.

The white bishop was hanging but Leela didn't take because of the threat of Qh4, allowing Stockfish to capture back and also threaten the black king. Stockfish had to be careful because Leela had mate threats as well, but Stockfish kept its king safe. Eventually Stockfish gave a bishop for a pawn and then captured the black knight so it was two pawns up. It chased the black king to the queen side and protected against a back rank mate.

Stockfish exchanged queens and captured the remaining black pawns. It was 3 pawns up in a RN vs RB position and the win was just a matter of time. Leela avoided exchanges, Stockfish pushed its passers forward and mated in the end. Stockfish wins the game pair it leads 26-14.

Games 85-86 started with the Old Indian, Tartakover variation, with the white queen out on the queen side. In game 85 Leela pushed a pawn on the king side, Stockfish captured it and opened the g file. The engines exchanged most minor pieces and both castled long. Leela regained the pawn and captured another one, evals slowly increased. Stockfish placed its pieces around the king and waited for the attack, on move 41 the engines exchanged a pair of rooks and the game reached a QRB vs QRN position. 

Leela attacked the center and opened the e file. After another pawn trade Leela created a passer on the king side. The engines exchanged queens and Leela pushed its passer. Stockfish lost more material as it created its own passer on the queen side. However Leela queened and the game ended in a tablebase win.

In game 86 the engines repeated the reverse game for 25 plys, exchanging most minor pieces and opening the g file, Leela was up a pawn. Stockfish moved its king to the king side without castling, stabilized its pawns and then reduced to a QRR vs QRR position. Leela castled long and Stockfish captured two pawns on the king side. On move 35 the engines exchanged a pair of rooks, evals were already high.

Stockfish captured a pawn on the queen side while Leela tried to attack from the king side. The black queen moved forward and the engines exchanged rooks. Stockfish saw the win in the queen ending though it was a long endgame. Leela captured a pawn, the white king move forward and captured two pawns in the center. Stockfish pushed passers forward and Leela lost its queen, the game ended in mate. There were two white wins in this game pair, Stockfish leads 27-15.

Games 87-88 started with a 20-ply sideline in the Nimzo-Indian, Saemich variation. The center was blocked with one pair of pawns exchanged and all pieces were on the board. In game 87 the engines played mostly behind their pawn lines, Leela's eval increased for a while and then came back down again. Stockfish exchanged a pair of pawns on the queen side, then blocked it with pawns and pieces. Leela was left without knights after an exchange, Stockfish also exchanged its last knight. Leela doubled rooks on the g file and used mate threats to capture a pawn. Stockfish doubled rooks on the a file and kept its king safe. After some shuffling the engines exchanged a pair of rooks, the game was adjudicated after queens were exchanged. 

In game 88 Leela pushed the g pawn early and Stockfish thought that was a mistake. Leela's eval stayed low while Stockfish exchanged a pair of pawns on the king side and doubled pawns on the f file. On move 19 Leela's eval spiked over 3, but Stockfish did not play what Leela expected and its eval dropped back. Then there was a series of exchanges, Leela's eval increased back to around 2 and the game reached a QRB vs QRN position.

Leela was a pawn up and its king seemed reasonably safe, but still evals were high and increasing. Stockfish shuffled and repeated for a long time, the focus was on the f6 pawn. After a while Stockfish managed to get the black king away from the pawn. Leela did not have enough defenders and it lost the pawn, the black king ran to the queen side. 

Stockfish gave a pawn in the center and created a passer, then exchanged queens. The passer moved forward, Stockfish gave a rook for a knight and queened the passer. The game ended in mate. Stockfish wins the game pair, it leads 28-15.

Games 89-90 started with a sideline of the French Winawer, advance variation. In game 89 the white queen moved forward on the king side, after a minor piece exchange the black king moved without castling. Leela gave a pawn and opened the b file, Stockfish exchanged a pair of rooks and reduced to a QRN vs QRN position. The engines started to shuffle, with a few pawn moves and pawn exchanges. Stockfish's eval was 0, Leela lowered it eval after a series of exchanges on move 111 that included the rooks, the game was adjudicated a few moves later. In game 90 the engines repeated the reverse for 26 plys with transpositions, the black king moved without castling, Stockfish gave a pawn and the b file was open. Again the engines reduced to a QRN vs QRN position, then started shuffling with a few pawn moves. Evals came slowly down, on move 114 Stockfish gave pawns, the game was adjudicated after a knight for rook trade.