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: Hardware changes. For this season, TCEC upgraded its GPU servers to four V100s, while the CPU servers largely stayed the same. Results. 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. <onlyinclude> 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. <onlyinclude> 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. <onlyinclude> 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. <onlyinclude> 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. However, 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) 7. a4 7... b4 8. Ne4 f5 9. Ng3 Nf6 10. e3 10... Ba6 11. Be2 (see diagram) 11... c5 12. dxc5 Nbd7 13. c6 Nc5 14. Nd4  f4 (see diagram) 15. Nh5 Nfe4 16. 0-0 16... e5 17. Bxb4 exd4 18. Nxf4 Rb8 (see diagram) 19. exd4 Rxb4 20. Re1 20... Be7 21. Bh5+ g6 22. dxc5 Qxd1 23. Raxd1 Nf6 (see diagram) 24. Bxg6+ hxg6 25. Nxg6 Rh7 26. Rd6 (see diagram) 26... Ne4 27. Rxe4 Rxb2 28. h3 c3 29. Rf6 (see diagram) 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) 9... g6 10. 0 -0 10... Nc6 11. Nb3 Bxh4 12. Bh6 Re8 13. Re1 13... cxd4 14. Qc2 (see diagram) 14... dxc4 15. Bxc4 Nb6 16. Rad1 16... Bd7 17. Nc5 17... Rc8 18. b4 Nxc4 19. Qxc4 (see diagram) Be7 20. Ne4 Nxb4 21. Qxb4 21... Bxb4 22. axb4 (see diagram) f5 23. Nf6+ Kh8 24. Rxd4 Rc7 25. Red1 Re7 26. b5 26... b6 27. Kh2 Rb7 28. Ng5 Qc8 29. R1d2 Rc7 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  38. Rd8 Qc5 39. Nxh7 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