Friday, May 5, 2023

Season 24 superfinal statistics

A summary statistics table of previous stages and seasons. 

Draw rate, wins

Final draw rate was 64%.

Game termination

The three most common game termination causes were:

55% - TCEC draw rule
19% - SyzygyTB
18% - Mate

There were no crashes in the stage.

Moves per game

Median= 72
Average= 77.5

There were 12 games longer than 100 moves, the longest was 275 moves (Stockfish - Leela, game 68, draw).

Time per game (hours) 

Median= 4:17
Average= 4:07

Openings

There were variable length book openings in this stage chosen by Jeroen Noomen and GM Matthew Sadler. 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, 18% diverged immediately out of book, 58% of the pairs diverged at most after 1 move. The longest repeated sequence of moves was 25 plys, in two game pairs (Leela - Stockfish games 67 and 68, Sicilian Velimirovic attack, two draws ; games 83 and 84, Dutch 2.Bg5 variation, two white wins).


Monday, May 1, 2023

Season 24 superfinal games 91-100, season summary

Stockfish is the winner of the season 24 superfinal. The final score is 20-16 with 64 draws. In the final 10 games Leela won 3 times and each time Stockfish won the reverse. The other 2 game pairs ended in two draws, as a result the gap between Stockfish and Leela did not change. 

This season the superfinal was exciting and close, with 4 lead changes. The final gap of 4 wins was lower than all superfinals since season 14. Leela won the first game pair, but in the next 8 game pairs Stockfish won 3 times and led by 2 wins. In game pairs 10-21 Leela managed to win 3 times, again it was leading by a win. Stockfish won twice in game pairs 22-23 and at the half way point Stockfish led by a win. The second half started with many drawn pairs, but Stockfish managed to win a few and extend its lead to 5 wins on game pair 43. Leela won game pair 44, after 24 straight pairs without a win, reducing the lead to 4 wins. After that all game pairs were drawn, Leela won 3 games but each time Stockfish won the reverse. 

The most memorable game for me was game 46. The engines played a queen ending for 60 moves, Stockfish was a pawn up and its eval increased from 1.7 to ~200 (predicted tablebase win) and Leela's eval was still under 1. I haven't seen such an eval discrepancy in a superfinal in a very long time.

In the bookmaker competition of which lines led to a decisive game pair the final score was a draw 7-7. Interestingly, In the drawn game pairs category GM Matthew Sadler had more double draws (score 16-9) and Jeroen Noomen had more double wins (score 2-9).

In season 24 the qualification leagues was replaced by the Swiss event (compulsory format change?). There were 42 engines in the Swiss event, 22 were already assigned to leagues based on their placement in season 23. The other 20 engines were qualification candidates, 5 of which were new to TCEC. The 4 candidates with the best performance in the Swiss event qualified to the regular league 2. As expected there was a lot of luck involved, two of the four qualifiers were tied with 6 more engines. Also, based on the game results I'm not sure the strongest candidates were chosen. As usual, TCEC tried to entertain and not to determine engine strength, so I'm not complaining. Viewers were much more interested in Leela's performance in the Swiss event. An unexpected result of its contempt configuration was that it lost two games in the first rounds against much weaker engines. Its opponents in the next rounds were stronger and Leela came back to its senses, in the end finishing in 3rd place.

Before league 2 started it was announced that the Igel developer has decided to withdraw and give its spot to Booot, which was ready to play after missing two TCEC seasons (both engines are developed by Ukrainians). In the first few rounds Booot crashed twice, then TCEC announced that Booot's results would be ignored and the Igel will replace it after all. When the league was over Igel played against all the engines, using the book openings of Booot's games. In total Booot crashed 4 times in 44 games, so I'm not sure it was necessary to replace it. Igel qualified easily, finishing first with a huge margin. The newcomer Uralochka almost succeeded to promote a second time, it was close but didn't make it in the end. 

In league 1 Koivisto won convincingly with a margin of 3 points. The race for second place was close with 5 candidates within one point in the final rounds, in the end Berserk qualified. Igel finished in joint 3rd place, the other qualifiers from league 2 were relegated back.

In the premier division the top3 engines (Stockfish, Leela and KomodoDragon) repeated their dominance of the last few seasons. Both Stockfish and Leela beat KomodoDragon, their head to head score was a draw with one game pair win each. Stockfish won the league due to better results against KomodoDragon and the remaining engines. Surprisingly Berserk performed much better than Koivisto, despite the fact that in league 1 it appeared Koivisto was much stronger. Berserk finished 4th tied with Ethereal, while Koivisto was relegated back to league 1. This season there was a playoff played with the 4 engines in places 1-4 in the premier division. There was no change in the standings after the playoff, Stockfish and Leela qualified for the superfinal. Unlike the premier division, in the playoff Stockfish beat Leela 3 times without loss.

This season the superfinal coincided with the human world chess championship between Ian Nepomniachtchi and Ding Liren (I don't really think this was a coincidence). The match was full of decisive games and blunders under pressure. Nepomniachtchi led 3 times and each time Ding managed to equalize. In the end Ding won in the last game of the rapid tiebreak games. Compared to TCEC in human games the excitement is all about human properties: opening preparation, surprise, missing a crucial winning move, playing under time pressure. Engines can lose games but they rarely blunder the way humans do.

As for things outside of computer chess: Covid is almost out of the news. In my season 23 summary I was concerned about the winter - nothing happened, and also about China. Covid did hit China, though there were very few official reports. With travel restrictions gone there probably was a sizeable portion of the population infected, and I assume many many fatalities in vulnerable parts of the population (elderly, unvaccinated, immune deficient). However, here we are a few months later, China is still going strong and no one is talking about Covid. Me and my family were also infected for the first time, it took a few weeks for everything to get back to normal. I hope we don't have to go back to this subject in the next seasons. 

Messi and Argentina won the soccer (football) world cup in Qatar. Seems so long ago now. The war in Ukraine is still being fought with no end in sight after over a year. It is estimated that there were tens of thousands dead soldiers on both sides just in the last few months. Why? What for? This needs to stop. In more local news (for me) there has been a lot of civil unrest in Israel. The political deadlock is finally over with a stable elected government, but this government concentrated its efforts in the first few months on a "judicial reform". The opponents of this reform claim it is an attempt to change the balance between government and the justice system, so that it would be much harder for the supreme court to say a law is illegal, and that the government would have more power in choosing judges. After weeks of protests the government agreed to put this reform on hold for the moment, but they may change their minds any time. Add to that the fact that Israel was hit twice by rocket strikes in the last few weeks, once from Lebanon and once from Gaza, and you understand my mood is not great.

But, as Monty Python sang, always look on the bright side of life. So I'm hoping for a better world next TCEC season.

Go TCEC!!

================================

Games 91-92 started with a 26-ply sideline of the KID Orthodox variation. All pieces and pawns were still on the board and there was a diagonal pawn wall in the center. In game 91 there was one pawn exchange on the queen side that opened the c file, and one pawn exchange on the king side. The engines played behind their pawn lines, Stockfish created a passer on the king side, Leela's eval remained just under 1. Stockfish pushed pawns on the queen side and opened the b file, the first piece was exchanged on move 32. All rooks moved to the queen side, evals came down after a pair of rooks was exchanged. Leela reduced to a QRN vs QRN position and went a pawn up. Evals were close to 0, the game reached a queens ending and the game was adjudicated. In game 92 evals dropped down early. There were a few pawn exchanges on the queen side, files stayed closed but Stockfish created connected passers and Leela also had a passer there. Leela captured one of the white passers, the first piece was exchanged on move 32 (again). In a series of exchanges the engines reduced to a QBN vs QRB position, evals were 0 despite the advanced passers, after exchanging minors the game was adjudicated.

Games 93-94 started with a rare sideline of the Gruenfeld, exchange variation, played in high level human chess. In game 93 Leela didn't castle its king, it had strong centl pawns while Stockfish had a backwards pawn on e7 that restricted the black pieces. In a long PV agreement the engines exchanged a few minor pieces in the center, evals stayed stable around 1. Leela pushed the h pawn and moved pieces to the king side, evals started to increase. On move 30 the queens were exchanged, the black pieces were passive, mainly protecting weak pawns.


Leela slowly increased the pressure, the white king moved forward on the king side. Leela exchanged bishop for the black knight, the most active black piece. Stockfish moved its bishop and allowed the white king to grab two pawns. In a RRB vs RRB position Stockfish managed to activate pieces, but too late to save the game.

Leela pushed pawns on both sides of the board, it traded a rook for a bishop and created an advanced passer supported by its bishop. Stockfish couldn't stop the white pawns on the king side, Leela queened twice and mated.

In game 94 there were no exchanges after the start, both engines castled short and the engines played behind their pawn lines. Evals increased very slowly, Stockfish had more space to move its pieces but the engines seemed to be shuffling. On move 33 the first pawns were exchanged on the queen side. 


The engines continued to shuffle, in fact Stockfish was preparing for an attack and waited for the right moment. On move 52 it started with exchanges of minor pieces in the center, removing both the black knights. The engines opened the queen side and all rooks moved to the open files there. Leela blocked Stockfish's attempts to attack from the queen side, it gave a pawn on the king side to give its queen some more room to move. On move 69 the engines exchanged a pair of rooks. 

Stockfish gave a pawn and its e pawn became a passer. After exchanging queens Stockfish pushed the passer to the 7th rank, Leela blocked it but started to lose material. Stockfish underpromoted to a rook, expecting Leela to trade it for a bishop. Leela refused to take but the material was enough for a quick tablebase win. There were two white wins in this game pair, Stockfish leads 18-14.

Games 95-96 started with a rare sideline of the Giuoco Piano, played in human chess but not recently. In game 95 there was one minor piece exchange after the start, Leela pushed the black pieces back and most of the time the most advanced black piece was the queen. On move 17 there was a pawn exchange on the king side, then in a long PV agreement the engines exchanged pieces, Leela went a pawn up and the game reached a RBN vs RBN position on move 29. 


Stockfish had two isolated pawns on the king side. After stabilizing the queen side Leela move its rook to the h file. Stockfish exchanged its f pawn, creating a pawn majority for Leela on the king side. The white king moved forward and attacked the black h pawn. Stockfish managed to capture the g pawn but lost its bishop. 

After a pawn trade the white d pawn became a passer, Leela pushed it forward and the white king moved forward to assist. Stockfish couldn't stop the passer, it exchanged pieces and in a N vs pawns position Leela queened, game over. 

In game 96 the engines repeated the reverse for 10 plies, but later they transposed back and the games really diverged after 21 plies. There were a few pawn exchanges on the queen side and Stockfish created a pawn majority there. Stockfish's eval started to increase slowly, it pushed pawns on both sides while Leela waited. On move 31 Stockfish's eval was over 2, Leela's eval remained mostly stable above 1 though its PV agreed with Stockfish's and saw what was coming.


Evals increased quickly as the engines played out the PV agreement, exchanges opened files in the center and Stockfish moved a rook to the 7th rank. The game reached a QRB vs QRB position with white a pawn up, both engines had a passer in the center. Stockfish pushed its passer to the 7th rank and reduced to a rook ending. 

Stockfish saw a tablebase win in its PV, the engines captured the central passers and traded pawns on the queen side, leaving a white passer. Stockfish pushed its passer, the black king was too far to help and Leela lost its rook, game over. There were two white wins in this game pair, Stockfish leads 19-15.

Games 97-98 started with the QGD Botvinnik variation, played at the highest level of human chess, black was a pawn up at the start. In game 97 the engines followed human games for more than 20 plies. Leela gave a knight for two pawns and opened the king side, then captured a pinned knight. Leela pushed a passer on the king side, Stockfish created connected passers on the queen side. Evals came down as all passers were blocked, Stockfish captured a pawn to equalize material. The kings moved forward, Stockfish chased the white king for a while. A series of exchanges reduced to an opposite color bishops ending and the game was adjudicated. In game 98 the engines chose a different line from human chess. Exchanges opened the king side and Stockfish regained the pawn. Both kings walked to the king side, evals came down rapidly and the engines shuffled for a while. After move 29 the engines exchanged pieces, the game was adjudicated in a rook ending. 

Games 99-100 started with an 18-ply sideline of the Bogo-Indian defense, Wade-Smyslov variation not found in human chess. In game 99 Leela pushed pawns on the king side and castled long. Stockfish pushed pawns on the queen side and went a pawn up, yet evals increased steadily. Stockfish captured two more pawns, this gave the white major pieces more open files to use. Leela captured a rook for a knight using a fork, then captured two pawns on the queen side. On move 31 the engines exchanged queens and the game reached a RRB vs RBN position. 

Leela had a pawn majority in the queen side, it moved its pieces there. Stockfish avoided exchanging rooks, Leela moved a rook to the 7th rank and captured the h pawn. Then it captured the a pawn, creating connected passers. Leela slowly pushed the passers forward and Stockfish started to lose material. Leela queened twice and mated.

In game 100 Leela gave a pawn on the queen side and Stockfish created a protected passer on c6 before castling long. Stockfish gave a rook for a bishop and pushed pawns on the king side. Leela couldn't get rid of the white passer, king safety became another issue after Stockfish opened the g file. 


Stockfish maneuvered its knights so it could attack the black knight on c5, Leela's eval jumped over 2 after a few moves. Leela captured a pawn and the a pawn became a passer, Stockfish hid its king behind the passer. On move 34 the engines exchanged knights and Leela had to block the white passer with a rook. Stockfish added a threat on the black king, forcing a queen exchange. Stockfish captured a pawn and connected a second passer facing the black rooks.

The rooks couldn't stop the white passers with the black king so far away. Leela tried to delay exchanges to avoid a tablebase position, eventually it lost both its rooks for the white passers, game over. There were two white wins in this game pair, Stockfish leads 20-16.