TCEC Season 18

The 18th season of the Top Chess Engine Championship began on 4 May 2020 and ended on 3 July 2020. The defending champion was Leela Chess Zero, which defeated Stockfish in the previous season's superfinal. The two season 17 superfinalists qualified again for the superfinal. This time Stockfish won, winning by 7 games (+23−16=61).

Overview
For this season, there are five leagues: the Qualification League (QL), League Three, League Two, League One, and Premier Division. Two engines promote in every league, with the top two engines of the Premier Division contesting a 100-game superfinal. Updates are allowed only between League Three and League Two, between League One and Premier Division, and between Premier Division and the superfinal. In a small change to previous seasons' rules, draw adjudication now occurs if the evaluations of both engines are within +/− 0.15 for five consecutive moves, after move 35. This increases the threshold of evaluation compared to +/− 0.08 for the previous season.

In contrast to previous seasons, only active engines that are stronger than the best humans are invited to participate. The addition of the "active" criterion means that several veteran competitors, such as former champions Jonny and Houdini, are not participating. Further, a more stringent uniqueness criterion meant that PeSTO (which shares a search algorithm with rofChade) and Komodo MCTS (which shares an evaluation algorithm with Komodo) are not participating.

Tiebreak rules
The tiebreak rules for TCEC Season 18 are:


 * 1) For any event except the superfinal: the number of crashes.
 * 2) Head-to-head score.
 * 3) Number of wins.
 * 4) Sonneborn–Berger score.
 * 5) A decision by the tournament organizers.

Hardware changes
For this season, TCEC upgraded its GPU servers to four V100s, while the CPU servers largely stayed the same.

Qualification League
Ten engines participated in the Qualification League. Seven engines returned from the previous year, Monolith returned after a two-season hiatus, and two new engines (Combusken and Weiss) made their first appearances. The league turned out to be very closely contested: every engine lost at least two games, and in the final standings, only 2 points separated winner Counter from 7th-placed Combusken. This meant that seven engines were in with a chance up until the final games. Eventual 2nd-place finisher Asymptote staged a mini-comeback after a poor first round to finish second, ahead of 3rd-placed Monolith on the back of a head-to-head win. chess22k, the only engine that had promoted out of QL previously, started well but stalled in the second half and ended in 4th place. Tail-enders Bagatur and Weiss were heavily handicapped by only being able to make use of one thread while their competitors usually ran on 176, and finished with only 5/18 and 1.5/18 respectively.

League Three
Ten engines participated in League 3. Every engine here played in Qualification League last year, and while the top and bottom engines were unchanged, the order of the middle engines saw some shifting. Demolito took advantage of S17 QL winner Defenchess leaving for greener pastures to win League 3 with 12/18. Second place was closely contested, with Igel taking a 1-point lead after 60 games, only to see Gogobello storm from behind with a string of victories, including an impressive win as black over Demolito, and place second by 0.5 points. Meanwhile Pirarucu, which finished ahead of both Igel and Gogobello last year, placed a disappointing 6th, though it did hand Gogobello its only loss. On the other end, QL promoters Counter and Asymptote found League 3 far more unwelcoming and relegated back to QL with 7/18 and 6/18 respectively. Counter initially looked like it could hold on, starting out with 10 straight draws, but finished with 4 losses and 4 draws in its remaining games, becoming the only engine not to win a game.

League Two
Booot, Chiron, and ChessBrainVB, which did not play in the previous season because they did not run on Wine, all returned to play this season in League Two. Among the competitors three engines quickly distanced themselves from their rivals: Booot, Pedone and Winter. Booot was comfortably in the lead for most of the division and was the first to promote, while Winter trailed after losing a game against Pedone. In one of the final games of the league, Winter scored a win against Booot, which put it half a point ahead of Pedone; however, it was all for naught as Pedone drew its game in hand against Chiron, which tied the scores between the two and let Pedone qualify on tiebreak.

At the bottom of the table, in a repeat of League Three, the two promoted engines Demolito and Gogobello found the competition much stiffer and were both relegated back to League Three.

League One
Fire, which had performed respectably in last season's Premier Division in spite of not having been updated for over a year, won League One. Along with last season's promotion rival rofChade, it did not lose a game the entire league, with both finishing comfortably above third-placed Booot. In contrast, the middle of the table was fiercely contested. Booot was the only engine to score two wins against its mid-table rivals, defeating Fritz and ScorpioNN, but it lost a game to last-place Pedone. Defenchess lost a game to Xiphos, but it along with Fritz was able to 2–0 Pedone, thereby taking 4th and 5th respectively. Last season's Premier Division engine ScorpioNN, as well as League One contender Xiphos, both performed solidly and lost only one game; however, they also only scored one win which was insufficient to fight for the top spots. At the other end of the table, promoted engine Pedone was quickly outclassed, losing eight games. For the other relegation spot, both Arasan and RubiChess failed to score any wins, but Arasan lost only one game, leaving RubiChess to relegate.

Premier Division
In the Premier Division, Stoofvlees (which had not been updated since Season 17) took a surprising lead after the first round robin. It recorded the only double-kill (winning with both sides of the same opening) against rofChade, and by the end of the first round robin, was on +4 while pre-tournament favorites Stockfish, Leela and AllieStein were only +2. The lead did not last, however. Stockfish played a sterling second round robin, including a win against both Stoofvlees and AllieStein, to take first place. Leela also closed the gap by not losing any games while defeating Ethereal, rofChade and Fire. By the third round robin, Stockfish was effectively qualified for the superfinal, while the second slot was still up for grabs. Leela effectively eliminated Stoofvlees after the latter blundered a simple tactic (see diagram). AllieStein was only a win behind, however, and had superior tiebreakers to boot. Leela defeated Ethereal, only for AllieStein to keep pace by beating Komodo. It looked as though Stoofvlees' blunder might've been decisive to Leela qualifying for the superfinal. The question was finally settled in game 164 when AllieStein lost the reverse game to Komodo, which qualified Leela for the superfinal. Both Leela and first-placed finisher Stockfish did not lose a game in the division.

Superfinal
The superfinal was contested between reigning champion Leela Chess Zero and last season's runner-up Stockfish. The 100-game match began with both engines winning in a King's Indian Defense, before Stockfish took the lead by winning three consecutive openings, including a stunning performance with the white pieces in Game 8, tactically outclassing Leela in the middle-game. After a balanced interlude, Stockfish won game 24 to open up a commanding 4-point lead, the largest deficit Leela had ever faced in a superfinal. Leela finally got back to winning ways with a strong performance in game 29, and narrowed the gap further by winning game 33. However, with wins in games 52, 56 and 58, Stockfish established its dominance once again. Leela fought back with a win in game 63, and then followed this up by winning game 65 (see game analysis below) with what was perhaps the single best performance from either engine in the entire superfinal; Leela played an astonishing queen sacrifice on move 21 that Stockfish not only didn't spot, but then took a further three moves to work out it was completely winning – GM Matthew Sadler would later call this game Leela's queen sac Immortal. However, Stockfish countered with wins in games 68, 77, 88 and 92 to secure what would prove to be a decisive lead. With eight games left, Leela needed to win seven of them in order to win. It managed to win game 93, but subsequently lost the reverse in game 94, which gave Stockfish an unassailable lead. Leela scored a consolation win in game 97 to make the final score +23−16=61 in favour of Stockfish.

One game pair in the superfinal stood out as unique: games 17-18 featured an opening which, to GM Sadler's knowledge, was playable. However, both finalists evaluated the book exit position (diagram) as providing a decisive advantage for White. GM Sadler opined that these two games might eventually be the final refutation of the entire variation.

Notable games
In an article published shortly after the superfinal, GM Matthew Sadler wrote that Stockfish was a deserving winner: its developers had been producing patches at a frantic pace, it showed an exceptional tactical eye, and it even looked like it had learned how to play the King's Indian Defense. The superfinal produced numerous interesting games, but GM Sadler highlights two in particular for their creativity and beauty. Most of the notes below are by GM Sadler.

Game 8
This opening featured a dubious line of the Triangle setup against the Queen's Gambit. After successfully defending the Black position in Game 7, Stockfish unleashed this demolition job with the white pieces.

White: Stockfish (chess) Black: Leela Chess Zero  Opening: Queen's Gambit Declined (ECO D31)

'''1. d4 d5 2. c4 c6 3. Nf3 e6 4. Nc3 dxc4 5. Bg5 f6 6. Bd2 b5''' (see diagram)
 * Black's fifth move is known to be dubious, with Triangle system experts Ruslan Shcherbakov and Mikhail Krasenkow both critical of it. Nonetheless, these first six moves were included in the TCEC opening book, forcing both engines to defend Black's position.

7. a4
 * In game 7 when Leela had the white pieces, she had played 7.e4. After 7...a5 8.a4 Bb4 9.axb5 Bxc3 10.Bxc3 cxb5 11.Nh4 g6 12.b3 f5 (amazingly, Stockfish is defending with only pawn moves) 13.d5 Qxh4 14.Bxh8 Qxe4+ 15.Be2 Qxd5 16.bxc4 Qxd1+ 17.Bxd1 b4 we have an unusual position where after 17 moves, all remaining pieces are on the first and eighth ranks. Black has given up a rook and bishop for two knights and connected passed pawns on the a- and b-files. The bishop pair in an open position gave Leela some initiative, but Stockfish was able to hold without much drama.

'''7... b4 8. Ne4 f5'''
 * In keeping with its style, Leela seeks active counterplay instead of trying to defend its position (which is full of weaknesses) passively.

'''9. Ng3 Nf6 10. e3'''
 * Attacking the c4-pawn.

'''10... Ba6 11. Be2''' (see diagram)
 * Stockfish could play 11.Rc1 attacking the c4-pawn immediately, but chooses to delay instead. GM Sadler called this move 'clever', since it challenges Leela to find a way to develop her pieces while still fending off the attack on the c4-pawn when it does come.

11... c5
 * Leela could react with simple development such as 11...Qd5 or 11...Bd6, but takes the aggressive approach instead. This is a risky move, opening the position before castling.

12. dxc5 Nbd7
 * An ambitious move, Leela eschews 12...Bxc5 in favor of recapturing with the knight. The point is that if Black gets in 13...Nxc5, suddenly its pawn on c4 is supporting potential outposts on b3 and d3. The downside is capturing the pawn after 13.c6 is inconvenient, since it can be defended with Nd4.

'''13. c6 Nc5 14. Nd4 f4''' (see diagram)
 * In a very unclear position, Leela could have played 14...g6 (preparing 15...e5 to kick the d4-knight), 14...Qd5, or 14...h5. Instead, she chooses another aggressive move.

15. Nh5 Nfe4
 * Black could have considered 15...f3, jettisoning the pawn and leading to massive complications. After 16.Nxf6 Qxf6, White is forced to capture, after which Black gets to develop counterplay: Black has ...Nd3+ after Bxf3, ...Nb3, ...Qxb2 or ...Rd8 after Nxf3, while gxf3 weakens White's pawn structure.

16. 0-0
 * Stockfish's evaluation jumped after this move, indicating it did not approve of 15...Nfe4.

16... e5
 * Black threatens ...exd4, ...g6 to trap the knight on h5, and ...Nxd2.

'''17. Bxb4 exd4 18. Nxf4 Rb8''' (see diagram)
 * By now Stockfish was declaring a near-decisive +2.00 eval, while Leela still showed only +0.28. Black is up a piece for two pawns, but the king is still in the center. Black has many options, but according to GM Sadler, as long as Stockfish handled the white pieces, White always seemed to be winning:


 * 18...d3 creates a protected passed pawn on the 3rd rank, but White counterattacks quickly with 19.Bh5+ g6 20.Nxg6 hxg6 21.Bxg6+ Ke7 22.Qf3 (see analysis diagram 1). With the knight on c5 pinned, White threatens Qxe4. Black's king is in the center and has no pawn shield as well. Stockfish crushed Stoofvlees in one of GM Sadler's analysis games after 22...Kd6 23.Qxe4 Qh4 24.f4 Rd8 25.Bxc5+ Kxc5 26.b4+ Kb6 27.Qe5 Bxb4 28.Rab1 Qxh2+ 29.Kf2 Qh4+ 30.Kf3.
 * 18...Qf6 is GM Sadler's initial reaction, but it does not seem to suffice. 19.Nd5 Qxc6 20.Bh5+ g6 21.Qxd4 Rg8 22.Bxc5 Nxc5 23.Bf3 0-0-0 24.Rfd1 (see analysis diagram 2) 24...Bd6 25.Nb4 Bxh2+ (25...Qc7 26.Qg4+ Rd7 [26...Kb8 loses to Nc6+, while 26...Qd7 loses to 27.Rxd6] 27.Nxa6 Nxa6 28.Rxd6 Qxd6 29.Qxc4+ forks the c8-king the g8-rook; 25...Qb6 still allows 26.Qg4+ Kb8 27.Nc6 picking up material amidst an ongoing attack) 26.Kxh2 Qc7+ 27.Qf4 Qxf4+ 28.exf4 leaves White up a pawn in the endgame.
 * 18...Nb3 is also very complicated, but White still seems to have a decisive attack after 19.Bh5+ g6 20.Qg4. The c6-pawn Black did not capture earlier proves to matter in some variations now, since Black can no longer play Kd7. 21...Bxb4 21.Bxg6+ hxg6 22.Qxg6+ Ke7 23.Qxe4+ (see analysis diagram 3) gives White an ongoing attack against Black's naked king.



'''19. exd4 Rxb4 20. Re1'''
 * Down two pieces, Stockfish does not bother recapturing on c5 and instead plays a quiet move. White now threatens some deadly tactics on the e-file after Bh5+.

'''20... Be7 21. Bh5+ g6 22. dxc5 Qxd1 23. Raxd1 Nf6''' (see diagram)
 * Leela's last move pulls the e4-knight to safety while preventing White from playing Nd5. Leela thought the position was roughly equal, but Stockfish declared a winning +8.18 advantage after this move.

'''24. Bxg6+ hxg6 25. Nxg6 Rh7 26. Rd6''' (see diagram)
 * This superhuman move leads to an astonishing position. White has a multitude of threats, such as Rxf6–f8 and c7–Rxa6 or Rd8+. In spite of being two pieces up in a queenless middlegame, plus possessing some active pieces of its own, Black is completely helpless. GM Sadler called Stockfish's play "witchcraft".

'''26... Ne4 27. Rxe4 Rxb2'''
 * Leela only realized she was in trouble at this point.

'''28. h3 c3 29. Rf6''' (see diagram)
 * A seemingly quiet move given Black's advancing c-pawn, this move threatens Rf8#. The upcoming forced sequence wins White a rook and the game.

'''29... Kd8 30. Nxe7 Rxe7 31. Rf8+ Kc7 32. Rxe7+ Kxc6 33. Rf6+ Kd5 34. Re3 Rb1+ 35. Kh2 c2 36. Rc3 Bd3 37. Rd6+ Ke4 38. Rdxd3 c1=Q 39. Rxc1 Rxc1 40. Rd7 a5 41. Rf7 Rxc5 42. g4 Kd5 '''

Game 65
This game was what GM Sadler called the other gem of the superfinal. It featured a sharp and topical line of the Bogo-Indian in which Leela played a positional queen sacrifice that led to a long-term bind and an eventual victory. Most of the notes to this game are also by GM Sadler.

'''1. d4 Nf6 2. c4 e6 3. Nf3 Bb4+ 4. Nbd2 0-0 5. a3 Be7 6. e4 d5 7. e5 Nfd7 8. Bd3 c5 9. h4''' (see diagram)
 * The TCEC book. White's last move is transparent in its intentions, and Black must stop the incoming Greek Gift. There are two ways about this: 9...h6 and 9...g6. Leela had played 9...h6 in the reverse, while in this game, Stockfish chose 9...g6.

'''9... g6 10. 0-0'''
 * This surprising move jettisons the h4-pawn for long-term compensation. If Black takes on h4, White can play g3, Kg2, and Rh1 mounting an attack down the h-file. Black also needs time to take the pawn, which hinders his queenside development.

10... Nc6
 * Taking the pawn at once is dangerous: 10...Bxh4 11.cxd5 exd5 gives White a mobile pawn on e5. 12.Nxh4 Qxh4 13.Nf3 leaves Black with weak dark squares on the kingside, and 13...Qg4 14.Be2 cxd4?! 15.Nxd4 Qh4 16.e6 gives White an initiative.

11. Nb3 Bxh4
 * Stockfish takes up the challenge by taking on h4.

'''12. Bh6 Re8 13. Re1'''
 * With the past two moves, Leela exploits the weakened dark squares around Black's king for rapid development, followed by cementing the pawn on e5, the backbone of her space advantage.

'''13... cxd4 14. Qc2''' (see diagram)
 * 14.Nbxd4? would be a tactical blunder, since after 14...Nxd4 15.Nxd4 Bxf2+ 16.Kxf2 Qh4+ Black forks the d4-knight and h7-bishop. 17.Kg1 (17.Ke3? Qxh6+) Qxd4+ 18.Be3 Qxe5 gives Black a big advantage.

14... dxc4
 * Black cannot play 14...Be7 safeguarding the bishop because 15.cxd5 exd5 16.e6 gives White a strong attack. 16...fxe6 17.Bxg6 hxg6 is even checkmate after 18.Qxg6+ Kh8 19.Qg7#.

'''15. Bxc4 Nb6 16. Rad1'''
 * With this move, Leela agrees to trade her light-square bishop for a knight. This turns out to be the right decision, because the dark squares are the key to Black's king position and the b6-knight could have helped defend the f6-square.

'''16... Bd7 17. Nc5'''
 * Eschewing material, Leela instead goes for activity. This move intends Ne4 followed by Nd6 or Nf6.

'''17... Rc8 18. b4 Nxc4 19. Qxc4 (see diagram) Be7 20. Ne4 Nxb4'''
 * By now Leela was predicting ~50% chance to win, while Stockfish was only at +0.50, although most humans would find Black's position unpleasant. Black had several alternatives instead of taking on b4, but GM Sadler could not find an appealing alternative:
 * 20...Nxe5? is the easiest to refute, since 21.Qxd4 threatens Qg7# while pinning the bishop on d7, winning a piece.
 * 20...Qb6. Black could play this to prepare 21...Nxe5; however, 21.Qd3 a6 (preventing 22.b5) 22.Nfg5 Nxe5 23.Qh3 f5 24.Nc5 is awkward for Black as White's pieces swarm the position (see analysis diagram 1).
 * Black could try 20...Nb8 repositioning the knight and opening a line for the d7-bishop. 21.Qb3 Bc6 22.Rxd4 Bd5 23.Qb2 Rc4 24.Rxc4 Bxc4 25.Nd6 Bxd6 26.exd6 f6 (Black has to stop Qg7#) 27.b5 (see analysis diagram 2) is nonetheless unpleasant for Black, with no obvious way to get rid of the d6-pawn.
 * Leela expected 20...a5, and intended to continue 21.b5 Nb4 22.Qxd4 Nc2 23.Qxd7 Nxe1 24.Nxe1 Rc7 25.Qd4 Qxd4 26.Rxd4 Rd8 27.Ra4 b6 28.Be3 Rd5 29.Bxb6 Rc1 30.Bxa5 Rxb5 31.Bd2 (see analysis diagram 3). Black has avoided the positional squeeze of the game, but White still has a pleasant advantage in the endgame.

21. Qxb4
 * This queen sacrifice cements Leela's positional dominance. 21.Qxd4? would have lost an exchange after 21...Nc2.

'''21... Bxb4 22. axb4 (see diagram) f5'''
 * Stockfish only realized it was in trouble at this point. 22...Rc4 was the other defensive attempt, but it does not work either: White implements the mating plan with 23.Nf6+ Kh8 24.Ng5 Qe7 25.Rd3 Ba4 26.Rh3 (see analysis diagram) after which Black must give serious material to avoid mate.

23. Nf6+ Kh8
 * The alternative was 23...Kf7 24.Rxd4 with a crushing pin on the d-file. Black cannot simply defend the bishop with 24...Rc7 25.Red1 Re7?? because of 26.Ng5#, while 24...g5 25.Nxg5+ also gives White a crushing attack. Black's best alternative in this line might be 24...Bc6, giving the queen and going into an endgame down material but with no forced mate in sight. GM Sadler opined that this kind of desperate defense might have been more in line with Stockfish's style, although it did not play this line.

'''24. Rxd4 Rc7 25. Red1 Re7 26. b5'''
 * Stockfish provided the more direct line 26.Ng5 a6 27.Rh4 Qc8 28.Ngxh7 Rxh7 29.Bg7+, winning, in analysis. As it is, Black is completely paralyzed and can only await the execution. Leela shuffles for a bit before playing the winning idea.

'''26... b6 27. Kh2 Rb7 28. Ng5 Qc8 29. R1d2 Rc7'''
 * If Black tries 29...Be8, White wins with 30.Rd8 Qc7 31.Nf7+ Rxf7 32.Rxe8#.

'''30. Rd6 Rb7 31. R2d4 Rc7 32. Rd1 Rb7 33. R6d4 Rc7 34. f4 (see diagram) Rb7 35. Nxe6 Rxe6 36. Nxd7 Kg8 37. Nf6+ Kf7'''
 * 37...Rxf6 does not help: 38.Rd8+ Rf8 39.Bxf8 and White wins.

38. Rd8 Qc5
 * The queen has to defend the f8-square, or 39.Rf8+ Ke7 40.Ng8# is checkmate.

39. Nxh7
 * Leela threatens 40.Ng5+ Ke7 41.Bf8#.

'''39... Re8 40. e6+ Rxe6 41. Ng5+ Kf6 42. Rf8+ Qxf8 43. Bxf8 (see diagram) Rc7 44. Rd4 Rb7 45. Kg3 Rc7 46. Rd3 Rb7 47. Kh4 Rc7 48. Kg3 Rc4 49. Rd7 Re3+ 50. Kf2 Rxf4+ 51. Kxe3 Ra4 52. Be7+ Ke5 53. Kf3 '''