TCEC Season 21

From Wikipedia, the free encyclopedia
Winner Runner-up
Stockfish Leela Chess Zero
56 (19) 44 (7)
TCEC Season 20

The 21st season of the Top Chess Engine Championship began on 9 May 2021. The defending champion is Stockfish, which defeated Leela Chess Zero in the previous season's superfinal. The season 20 superfinal was a rematch between the same two engines. Stockfish once again came out ahead, winning by 12 games (won 19, drew 74, lost 7).

Overview[]

There were no new changes to the rules for this season.[1] However, every season will now comprise four events: the leagues, the Cup, a Fischer Random Chess tournament, and a Swiss tournament.[2]

Results[]

Qualification League[]

Several new engines played in the Qualification League, as well as a few old engines returning with new versions.[3] 8 of the 14 engines advanced to League 4. In its second season, Koivisto addressed the stability issues which plagued it in Season 20 and won the division, but still had one crash. Newcomer Classic Ara, a neural net, came second. Veteran Booot, which also suffered a crash, finished third, and returning engine Cheng finished a solid fourth. The lower promotion places were keenly contested, with two engines missing out despite scoring 50%.

Pos Engine Pld W D L Pts Qualification
1 Koivisto 26 15 10 1 20 Advance to League 4
2 ClassicAra 26 13 12 1 19
3 Booot 26 13 10 3 18
4 Cheng 26 12 11 3 17.5
5 Stash 26 8 16 2 16
6 Nirvana 26 11 9 6 15.5
7 Amoeba 26 11 7 8 14.5
8 Drofa 26 7 13 6 13.5
9 Berserk 26 5 16 5 13
10 Invictus 26 8 10 8 13
11 Bagatur 26 3 9 14 7.5
12 tomitankChess 26 2 7 17 5.5
13 Cheese 26 2 6 18 5
14 Francesca 26 1 6 19 4
Source: [1]

League 4[]

League 4 began on 19 May 2021. The third-place finisher in QL, Booot, won the league with +13 =9 -0. It profited from a Koivisto crash in a head-to-head game, but also defeated five engines with both the white and black pieces. Rating favorite Halogen finished second, also without losing any games, while QL winner Koivisto took third in spite of the crash. Newcomer ClassicAra was the last engine to promote. The top four engines finished comfortably above their rivals, with two points separating 4th-placed ClassicAra from 5th-placed Monolith.[4][5]

At the other end of the table, ChessFighter suffered from a bug in its time-management code, such that it lost three games on time. The bug apparently only triggers at long time controls, hence it was not caught in testing.[citation needed]

Pos Engine Pld W D L Pts Qualification
1 Booot 22 13 9 0 17.5 Advance to League 3
2 Halogen 22 11 11 0 16.5
3 Koivisto 22 10 9 3 14.5
4 ClassicAra 22 8 12 2 14
5 Monolith 22 6 12 4 12
6 Amoeba 22 5 10 7 10
7 Stash 22 3 13 6 9.5
8 Cheng 22 2 13 7 8.5
9 Nirvana 22 3 11 8 8.5 Relegate to QL
10 Mr_Bob 22 1 13 8 7.5
11 Drofa 22 2 10 10 7
12 ChessFighter 22 0 13 9 6.5
Source: [2]

League 3[]

Three of the engines that promoted from League 4 also managed to promote from League 3, with Koivisto the only one missing out. They were joined by Minic, which had also promoted from League 3 in the previous season. Minic and Booot cruised through the competition without losing a single game, but Halogen and ClassicAra had to fight hard for promotion. Wasp almost tied ClassicAra in the points after a win over relegation-threatened Marvin in the penultimate round, but promptly lost its next game to Booot, and was left behind. ClassicAra's win over Marvin also had a major impact on the bottom of the table: Pirarucu, Topple and Weiss had already been relegated, but Marvin had a fighting chance for survival until its loss to ClassicAra, which ultimately left it half a point behind its relegation rivals.

Pos Engine Pld W D L Pts Qualification
1 Minic 22 7 15 0 14.5 Advance to League 2
2 Booot 22 6 16 0 14
3 Halogen 22 4 17 1 12.5
4 ClassicAra 22 4 16 2 12
5 Wasp 22 3 17 2 11.5
6 Tucano 22 3 16 3 11
7 Koivisto 22 2 18 2 11
8 Combusken 22 2 18 2 11
9 Marvin 22 1 19 2 10.5 Relegate to League 4
10 Pirarucu 22 2 13 7 8.5
11 Topple 22 1 14 7 8
12 Weiss 22 2 11 9 7.5
Source: [3]

League 2[]

League 2 was played with a Black-favored book, involving many gambit lines. Pedone won League 2 with a +8 score, comfortably above 2nd-placed Nemorino. Nemorino's position as the second promoted engine was under threat until the end of the league, as a cluster of four engines finished no more than a point behind. Former champion Fritz, playing without an update, outperformed expectations and was briefly in the promotion spots before finally being overtaken by Nemorino. Minic had started in the lead after it managed to win two games with White, but faded later. It finished as the only engine to win more games with White than with Black regardless.

At the other end of the table, Seer turned in an uncharacteristically poor performance that its developer attributed to a lack of similar positions in its training set. Its performance apparently worsens substantially when given obscure opening positions such as the ones used in the league.[6] Arasan performed even worse, and was relegated without winning a game.

Pos Engine Pld W D L Pts Qualification
1 Pedone 22 10 10 2 15 Advance to League 1
2 Nemorino 22 7 13 2 13.5
3 Fritz 22 9 8 5 13
4 Defenchess 22 7 11 4 12.5
5 Booot 22 5 15 2 12.5
6 Minic 22 5 15 2 12.5
7 Halogen 22 4 14 4 11
8 Vajolet 22 4 13 5 10.5
9 Winter 22 3 13 6 9.5 Relegate to League 3
10 ClassicAra 22 2 14 6 9
11 Seer 22 1 12 9 7
12 Arasan 22 0 12 10 6
Source: [4]

League 1[]

League 1 saw Igel surging to an early lead. It had a 1.5-point lead after the first double round robin, conceding no losses. Only Ethereal and RubiChess remained close enough to fight Igel for the league championship. In the second round robin, Ethereal closed the gap with a head-to-head win, while Igel also lost to relegation-threatened rofChade. However, Igel also scored a head-to-head win against RubiChess, and the lead proved too great to overcome. Igel won the division, half a point ahead of Ethereal. RubiChess finished clear third in spite of the loss to Igel, 1.5 points ahead of SlowChess. SlowChess had played a disappointing first round to be -1, but won several openings in the second round to eventually finish on even. League 2 champion Pedone was briefly in contention for first place, but faded and eventually finished fifth. rofChade and Xiphos, both playing without updates, took up two of the bottom three slots. Both engines finished level on points, but Xiphos edged out rofChade on tiebreak courtesy of a head-to-head win. rofChade had been demoted from Premier Division last season, and was demoted again this season.

Pos Engine Pld W D L Pts Qualification
1 Igel 28 10 15 3 17.5 Advance to Premier Division
2 Ethereal 28 10 14 4 17
3 RubiChess 28 7 17 4 15.5
4 SlowChess 28 5 18 5 14
5 Pedone 28 5 15 8 12.5
6 Xiphos 28 3 18 7 12
7 rofChade 28 4 16 8 12 Relegate to League 2
8 Nemorino 28 3 17 8 11.5
Source: [5]

Premier Division[]

The Premier Division featured a high-bias opening book, leading to a lot of decisive games. Stockfish played a sterling first round, winning every game with White while successfully drawing with Black, and had a full point lead after 7 games. The streak did not last as Komodo Dragon won the reverse game against Stockfish in the second round, inflicting Stockfish's first loss in the Premier Division. This was followed by last season's runner-up Leela winning an opening against Stockfish in the second double round robin, a victory that put it in clear second, half a point behind Stockfish but a point ahead of Komodo Dragon. Perennial dark horse Stoofvlees acquitted itself well in the first round and was briefly tied with Komodo Dragon and Leela for second spot, but fell behind in the third round and spent the rest of the Division comfortably in fourth place. Newly-promoted Igel played without an update, but still successfully drew every game it played in the first round. Its draw streak was ended in the second round, losing games to Stockfish, Leela and ScorpioNN. After three rounds, it occupied the last two spots in the table along with fellow promoted engine Ethereal, but it played a strong fourth round to win three games and overtake ScorpioNN in the table. Leela also played a strong fourth round, and managed to briefly overtake Stockfish at the start of the fifth round before Stockfish once again regained the lead. At the other end of the table, Ethereal had a miserable sixth round, losing every opening it played except the one against Komodo Dragon, and then suffered a disaster in its seventh round match (playing white) against Igel as it failed to convert a position that, by just move 24, both engines had assessed as completely winning for white. It finished the Premier Division a full four points behind Igel. Both engines were relegated, whilst at the other end of the table, Stockfish finished with a 1 point lead over Leela, meaning the two would advance to the Superfinal. Leela performed very well against Stockfish in the 8 games they played, being the only engine to score more than 50% against it, but an early unexpected loss to Stoofvlees proved decisive in splitting the two engines. Komodo finished a further 3 points back of Leela in third, with Stoofvlees rounding out the top four, holding a comfortable lead over AllieStein in fifth. AllieStein overall had a somewhat below-par showing in the Premier Division, finishing just half a point ahead of ScorpioNN and only recording 6 wins in 56 games.

Pos Engine Pld W D L Pts Qualification
1 Stockfish 56 21 33 2 37.5 Advance to Superfinal
2 Leela Chess Zero 56 20 33 3 36.5
3 KomodoDragon 56 17 33 6 33.5 Advance to Infrafinal
4 Stoofvlees 56 13 30 13 28
5 AllieStein 56 6 37 13 24.5
6 ScorpioNN 56 8 32 16 24
7 Igel 56 6 32 18 22 Relegate to L1
8 Ethereal 56 3 30 23 18
Source: [6]

Infrafinal[]

TCEC organized a special 50-game infrafinal for the 3rd and 4th placed engine, as a precursor to the superfinal. The infrafinal turned out to be incredibly one-sided, with Komodo Dragon comprehensively defeating Stoofvlees 30.5-19.5. Komodo Dragon won all but two of the first ten opening sets, and never relinquished its lead. It finished the infrafinal without conceding any openings. The 11-point margin of victory over 50 games was greater than the TCEC record for most decisive win in the superfinal (+20 over 100 games, by Stockfish over Komodo in ).

Superfinal[]

Superfinal game 24
abcdefgh
8
Chessboard480.svg
a8 black rook
d7 black bishop
e7 black king
g7 black queen
b6 black pawn
d6 black pawn
f6 black pawn
a5 black pawn
c5 black knight
d5 white pawn
c4 white pawn
e4 white pawn
g4 black knight
h4 white bishop
c3 white knight
h3 white bishop
a2 white pawn
b2 white pawn
c2 white queen
b1 white king
h1 white rook
8
77
66
55
44
33
22
11
abcdefgh
In this complex position, Leela played the aggressive 28...Ne3? allowing the knight to be trapped after 29. Qe2. The sequence 29...Rh8 30. Qf2 gives White an improved version of the position than if White had played 29. Qf2 immediately, since the Black rook on h8 is tactically vulnerable. 30...Nxc4? 31. Bf1 Ne5 32. Qxf6+ Qxf6 33. Bxf6+ followed by 34. Rxh8 wins material.

In the lead-up to the superfinal, Stockfish's developers trained an NNUE that made use of Leela's evaluations,[7] in apparent violation of TCEC's official guidelines that engines should not use another engine's search and eval code.[8] TCEC's admins decided to allow Stockfish to use this NNUE regardless because it still utilized a lot of original code.[9]

The superfinal was eventually won comprehensively by Stockfish, which put in a dominant display especially in the second half of the 100-game match. Stockfish drew first blood in the very first opening, successfully winning with White in a Richter-Rauzer Variation of the Sicilian defence in Game 2. However, Leela immediately struck back in Game 3, winning with White in the Benoni defence and then drawing the same position as Black, creating a strong pawn formation that Stockfish was unable to break down. Games 5 and 6 in the Queen's Gambit Declined were both drawn; Stockfish mounted a promising attack in Game 6 with the white pieces, but Leela played a very accurate defence to force a theoretically drawn Rook and pawn versus rook endgame. Stockfish then scored an excellent win in Game 8 by successfully breaking down Leela's stubborn defence to take the lead in the match, and then scored another win in Game 10 after finding a refutation to Leela's 37...a4? (something that very few engines managed to spot) and forced a endgame tablebase win. The next 12 games were all somewhat uneventful draws with neither engine able to create many attacking chances, but Leela then played a brilliant Game 23, outplaying Stockfish in the English opening to close the gap to 1 point. In the following game, however, despite being down a pawn, Leela's defence as Black in the same opening was holding well until it played the highly aggressive 28...Ne3 (diagram), whereas Stockfish had expected the more pragmatic 28...Ne5; it was only after Stockfish's reply of 29. Qe2 followed by 30. Qf2 that Leela realised 28...Ne3 was actually a mistake, as it allowed Stockfish to eventually reach an easily winning with two extra pawns. In Games 25 and 26, however, played in the French Defence, Leela once again proved its proficiency in the opening, outclassing Stockfish with the white pieces to cut the deficit to 1 point, and then had no problems holding the same position as Black to a draw.

Unfortunately, the superfinal had to be put on hold midway through Game 29 as Typhoon In-Fa (Fabian) struck the coast of Shanghai where the CPU machine resides which in turn caused a software malfunction. At the point which the system stopped working, both Leela (white) and Stockfish (black) were adjudging the position they had reached in Game 29 as drawn, and the TCEC organisers and moderators therefore decided to manually adjudicate this game as such rather than restarting the game from the same position. When the match resumed in Game 30, Leela played the position far more aggressively as Black than Stockfish had in Game 29, but although it was able to force Stockfish to give up the exchange to prevent Leela queening its b-pawn, Stockfish's subsequent counter-play on the kingside was enough to hold the position to a draw. The roles were completely reversed in Game 34[10] in the Robatsch defence, when Stockfish outplayed Leela in the middle-game to the point that Leela had to give up its queen and 3 pawns in exchange for a rook, bishop and knight, but remarkably, Leela managed to hold the position to a draw after 190 moves despite Stockfish assessing its winning chances at move 33 as 99.9%. Leela could not pull off the same escape twice, however, as in Game 40, played in the Old Indian Defence, Stockfish proved far more adept at handling White's more advantageous starting position than Leela had in Game 39, and managed to convert the advantage into a win, reestablishing a 2-point lead.

Things got even worse for Leela in Game 42 when it chose to castle into an already weakened kingside which Stockfish proceeded to gradually chip away at and eventually force a winning endgame, leaving Leela a full three points down, but it recovered instantly in Game 43 by successfully installing a 'thorn-pawn' on h6, positionally hampering Stockfish's kingside for much of the game and resulting in a comfortable win. However, Stockfish scored another win in a slow-burning Game 46, and after four further draws, held a 3-point lead over Leela at the half-way stage of the superfinal. Whilst a commanding lead, Leela was nonetheless still very much in with a chance of closing the gap.

Superfinal game 63
abcdefgh
8
Chessboard480.svg
d8 black rook
e8 black king
f8 black rook
f7 black pawn
h7 black pawn
e6 black pawn
g6 black pawn
h6 white pawn
c5 black knight
g5 white pawn
b4 white rook
e4 white pawn
f4 white pawn
a3 white pawn
b3 white pawn
c2 white pawn
b1 white king
h1 white rook
8
77
66
55
44
33
22
11
abcdefgh
Position after 29...Rxd8. Black looks completely lost – in spite of being up a piece, White has three mobile, connected passed pawns on the queenside. Even if Black successfully stops the passers, it seems improbable that Black will be able to simultaneously stop White from playing Rh8xh7 or Kf6-g7-xh7 followed by winning with the h6-pawn. Kibitzing GM Matthew Sadler opined that an old textbook could end its analysis here with "... and White wins with the three passed pawns".[11] Nonetheless, Stockfish found a defense, resulting in a draw.

The second half of the superfinal, however, could scarcely have gone any worse for Leela. It suffered losses in both Games 52 and 60, and failed to convert a more advantageous position in Game 55, leaving it a full 5 points down, a deficit that has proven to be insurmountable for any engine at any stage of any past TCEC Superfinal. However, Leela did pull a game back with an excellent win in Game 61, but in the following 9 games, Stockfish played brilliantly, winning Games 64, 66, 68 and 70, while producing a miracle save in Game 63 (diagram). Of particular note was Stockfish's win in the 217-move-long Game 68 when, working with less than a minute left on its clock in a position which Leela considered a dead draw, Stockfish found a remarkable bishop sacrifice that led to a seemingly improbable victory. Leela subsequently pulled a point back in Game 71, taking full advantage of a rare Stockfish miscalculation, but with Stockfish still holding a huge 7-point lead with fewer than 30 games remaining, the result of the superfinal was virtually beyond doubt.

Neither Leela nor Stockfish managed to make any inroads in the subsequent 13 games, all of which were relatively uneventful draws. However, in Game 85, Stockfish used the big advantage Black had out of the predetermined opening to score the first and what would be only win with the black pieces by either engine in the entire superfinal, restoring its 8-point lead, and then managed to hold the same position with White to a draw. Leela then blundered a chance to win Game 87 with the white pieces; with both engines assessing the position at just move 27 as almost completely winning for White, Stockfish was expecting Leela to play 28. Re6, keeping Black's kingside cramped, but Leela played the questionable 28. Qxf4??, a decision that allowed Stockfish to recover a crucial tempo which made the position a dead draw. Although Leela did manage to score a win in Game 91 in the King's Indian, Stockfish completely outplayed Leela for the remainder of the superfinal, winning another four games (92, 94, 96, and 98) whilst Leela was unable to muster any other serious attacking chances. What had started as a closely fought match turned into a complete rout, as Stockfish ended the superfinal as the comprehensive winner by a scoreline of 56-44 (+19 -7 =74).

References[]

  1. ^ "TCEC Leagues Season Rules".
  2. ^ "TCEC Leagues Season 21".
  3. ^ "TCEC S21 starts today". 9 May 2021.
  4. ^ "Booot kicks into high gear, wins TCEC S21 L4". Chessdom. 25 May 2021.
  5. ^ Archived games are at https://tcec-chess.com/#div=l4&game=1&season=21
  6. ^ https://imgur.com/r2Xf9es connor_m_seer is Seer's developer.
  7. ^ "Official release version of Stockfish 14". 2 July 2021.
  8. ^ "Rules". TCEC wiki. Retrieved 21 July 2021.
  9. ^ https://imgur.com/e9qOGmT
  10. ^ "Game 34 from TCEC Superfinal of season 21". tcec-chess.com. Retrieved 27 July 2021.
  11. ^ "Silicon Road: TCEC Live! TCEC SuperFinal 31st July 2021: Leela-Stockfish Game 63 (Najdorf 6.Be3)". YouTube. 1 August 2021.
Retrieved from ""