TCEC Season 17
The 17th season of the Top Chess Engine Championship began on 2 January 2020 and ended on 22 April 2020. TCEC Season 16 3rd-place finisher Leela Chess Zero won the championship, defeating the defending champion Stockfish 52.5-47.5 in the superfinal.[1] Season 17 featured for the first time two separate leagues, one for GPU-based engines and one for CPU-based engines. TCEC also raised the computing power available to both CPU and GPU engines. The hardware for CPU engines was doubled to 88 cores, while the hardware for GPU engines was raised to 4 RTX 2080 Ti's.[2] OverviewIn keeping with its identity as a competition run at long time controls on high-end hardware,[3][4] TCEC secured a hardware upgrade for the competing CPU engines.[5] Among other changes, the number of cores available is doubled from 44 to 88, the operating system used is now Linux, and Syzygy endgame tablebases are now cached directly in the RAM for faster access. Because this upgrade advantages CPU engines compared to GPU engines, TCEC split the qualification paths to Premier Division by introducing separate leagues for CPU and GPU engines. While an upgrade to the GPU servers is being secured, the CPU leagues are played first. StructureFor CPU engines, there will first be a Qualification League consisting of 16 engines, followed by League 2 (16 engines) and League 1 (16 engines). In the Qualification League the top 6 engines promote. In League 2 the top 4 engines promote. The engines in each league are seeded based on their performances in previous seasons. For GPU engines, there will be one league only, with up to 16 competitors. The top 2 GPU engines will then contest a playoff against the top 4 CPU engines in League 1, with the four highest-placing engines promoting to Premier Division. Premier Division is also expanded from 8 engines to 10. Six engines – Stockfish, Komodo, Houdini, Leela Chess Zero, AllieStein, and Stoofvlees – are seeded directly to Premier Division, based on their top 6 finishes in the previous season. Finally, the top two engines in Premier Division qualify for the 100-game superfinal match. ResultsCPU Qualification LeagueAfter not competing for five seasons, Season 11 Div 3 engine Defenchess trailblazed the qualification league. It scored 18 wins while conceding no losses, finishing 3.5 points clear at the top. It was the only undefeated engine. Demolito and Winter also locked up two of the promotion spots smoothly, but the remaining three slots were closely contested. Among the competitors, Igel was the only engine to not lose to Defenchess and Demolito, but it lost to bottom-half engines FabChess and Topple. Comparatively, iCE was whitewashed by Defenchess and Igel, but it turned in a strong performance against its other rivals, losing only one other game to Winter. Pirarucu went through a tense moment when it lost to Winter in the penultimate round; however, it pulled out a win with Black against Topple to promote. 7th-placed Minic was in a promotion spot all the way up to the final round, when it lost to Gogobello while iCE beat Counter. This left the two tied at 17.5 points. Minic had the better Sonneborn–Berger score, but it also had one crash, and the number of crashes was the first tiebreak. Nonetheless, in a stroke of good fortune for Minic (and 8th-placed PeSTO), the League Two engines chess22k and Fritz crashed three times during testing for the division. By TCEC rules, if this happened, the author(s) would have to update the engine or it is disqualified. chess22k's and Fritz's authors were not able to update the engines in time, resulting in Minic and PeSTO promoting as lucky losers.[6][7]
Source: [1]
CPU League TwoFormer Premier Division engine Fire won League Two. It had been relegated in the previous season because its developer had submitted a drastically different neural network-based version that turned out to be significantly weaker. This season, the original, traditional engine played, and it dominated with an undefeated 22/28 (16 wins and 12 draws). It defeated seven engines, including fourth-place Vajolet, 2–0. Second-placed Defenchess also turned in a strong performance, finishing with an undefeated 20.5/28 (13 wins and 15 draws). For the other promoted engines, Winter and PeSTO performed surprisingly well, comfortably finishing above their peers in 7th and 8th respectively. The remaining five promoted engines occupied the bottom five spots and were all relegated along with Wasp (which crashed three times). After the division concluded, in a repeat of testing for League Two, four League One engines either pulled out or did not run on the new Linux operating system, resulting in the 5th-8th placed engines in League Two promoting.[7]
CPU League OneDuring testing for League One, three engines (Booot, Chiron, and ChessBrainVB) did not play because they did not run on Wine, the compatibility layer that TCEC is using to run Windows programs on Linux. One further engine (former champion Jonny) crashed and was not updated in time. As a result, the 5th to 8th-placed engines from League Two, Pedone, Nemorino, Winter and PeSTO, promoted as lucky losers. In League One itself, Xiphos, which had just missed out on promotion in Season 16, vaulted to an early lead after scoring five wins with no losses. However, after this bright start, it failed to score more wins. This allowed former Division Premier engine Ethereal to seize first place, in spite of a loss to Komodo MCTS. Fellow competitors Fire and Komodo MCTS also amassed more wins than Xiphos, and by the midway point had overtaken it in the standings. By the final double round-robin, Ethereal, Fire, and Komodo MCTS had more or less secured a playoff spot. Xiphos, who had yet to lose, was barely holding on to fourth place, with rofChade and Defenchess both breathing down its neck. When it lost a crucial game to Fire, it allowed rofChade to pull even, with Defenchess half a point further back. Xiphos knocked Defenchess out of contention with a head-to-head win, but with rofChade having the superior tiebreaks (by number of wins), it needed to either hope for Fire to beat rofChade or to beat Vajolet in its last game. When both games ended drawn, Xiphos finished fifth, again just missing out on promotion. For the other engines, Laser, which had pipped Xiphos to a playoff spot last season, was able to remain unbeaten until the final double round-robin. However, it collapsed in that round, losing three games (plus forfeited a fourth due to a crash). Winter scored likely the biggest upset of the league by defeating rofChade once, but the rest of the division was not kind to it and fellow lucky losers Nemorino and PeSTO, with all three engines placing in the bottom four. Former Division Premier engine Fizbo, which had been forced to run at a much slower speed because it was not able to utilize all the hardware available to it, finished solidly last, five points off the pace.[7]
Source: [4]
GPU leagueThe GPU league was cancelled because only two participants met all the uniqueness criteria: ChessFighter and ScorpioNN.[citation needed] Both engines automatically qualified to play against the top four engines from the CPU league one. PlayoffFire convincingly won the playoff for Premier Division in spite of no longer being under development. It finished with a +7 score, defeating all its rivals except ScorpioNN at least once. Komodo MCTS and ScorpioNN both lost two games, but finished comfortably in the top four, with wins against rofChade and ChessFighter. League One winner Ethereal stumbled badly in the playoffs, losing first to rofChade and then to Fire. As a result, the final promotion spot was closely contested. In the penultimate round rofChade temporarily pulled even with Ethereal by defeating ChessFighter, but Ethereal drew against Komodo MCTS to remain half a point ahead. It came down to the direct head-to-head encounter in the final round. rofChade needed to defeat Ethereal with the black pieces, which would've let it qualify because of its superior head-to-head score. However, it did not make any headway, and Ethereal squeaked into the Premier Division, half a point ahead of rofChade.[7]
Source: [5]
Premier DivisionIn an unprecedented move, TCEC played all the CPU-CPU matches first, to minimize rental costs for the GPUs.[8][9] In the CPU-CPU matches, defending champion Stockfish steamrolled its rivals. It defeated Houdini and Ethereal twice, scoring six wins in the process, one more than the rest of the division combined. Houdini, which had not been updated for over two years, was further handicapped by only being able to make use of 64 of the 176 available threads, and was last after the double round robin. Komodo MCTS was the only engine not to lose to Stockfish, but it also failed to score any wins. Fellow promoted engine Fire performed surprisingly well, scoring two wins while losing only to Stockfish. Combined with its run through the lower divisions as well as in Season 16, it set a new TCEC record of 124 games without losing. In the CPU-GPU and GPU-GPU matches, S16 runner-up AllieStein took an early lead over S16 third-place finisher Lc0, scoring 4 wins to Lc0's 2 in the first round robin. It looked as though the season 16 result, in which AllieStein pipped Lc0 to second place in spite of the latter not losing any games, would be repeated. However, a dramatic second round robin saw Ethereal playing kingmaker. First it defeated AllieStein, then it was defeated by Lc0 after it blundered a 7-man endgame tablebase draw. After this stroke of good fortune Lc0 went on a winning streak to take the lead, defeating Stoofvlees, Komodo, and Komodo MCTS successively. However Ethereal continued to play kingmaker, this time losing to AllieStein in the reverse game and then defeating Lc0 after the latter blundered in a complicated position (diagram). Lc0 finally effectively eliminated Alliestein with a head-to-head win, which also put her ahead of Stockfish in first place, but the drama was not over as she lost another game to Komodo. This allowed Stockfish the chance to at least tie Lc0 at the top of the standings with a win over Stoofvlees, but it failed to do so. In the end, Lc0 won the premier division for the first time in spite of losing its first premier division games since Season 14, while Stockfish failed to finish first for the first time since Season 10. In the fight to avoid relegation, Houdini, ScorpioNN and Komodo MCTS were quickly left behind, but the final slot was closely contested. Fire failed to score any more wins after its initial two, but it also only lost two more games, to AllieStein and Lc0. Ethereal, with its giant-slaying performance against Lc0 and AllieStein, had taken a surprising fourth place, ahead of traditional powerhouse Komodo. Stoofvlees had played extremely optimistically and suffered losses to the top three competitors as a result, but scored a head-to-head win against both Komodo and Ethereal while not conceding any other losses. By the final games, Ethereal had successfully reached safety, but Komodo was in real danger of relegating after finding itself in a tight position against Lc0. If it lost and Stockfish beat Stoofvlees in the final game, then it would find itself in a three-way tie with Stoofvlees and Fire, and relegated because it had the worst head-to-head score amongst the three. However, when Lc0 pushed too hard and blundered in a time scramble, the game turned into a win for Komodo that put it ahead of Ethereal and left Fire to relegate.[7] Ethereal–Leela Chess Zero
In this complicated position, White is in the midst of an attack against Black's king, but has no forced win. Leela's 24...Nb3? opened the d-file for 25. Rxd6 with deadly threats, such as Rxf6, e5, and Nf7+xd6 with a fork if Black plays 25...Bxd6. Ethereal proceeded to win in the biggest upset of the division.
Source: [6]
SuperfinalThe superfinal was contested between Leela Chess Zero and Stockfish, with Leela Chess Zero winning by 5 points (+17 -12 = 71).[10] After a closely contested opening 33 games, Stockfish held a 1-point advantage, but Leela Chess Zero reeled off three wins in the following five games to take control of the superfinal. After both scoring wins as white in the Scandinavian opening in games 43 and 44 respectively, there then followed an extremely tense run of 21 successive draws, with the occasional game being characterised with Leela Chess Zero outplaying Stockfish with the white pieces in the middlegame but being unable to break through Stockfish's extremely accurate defensive play. Leela Chess Zero then scored a crucial victory in game 66 to extend her lead to 3 points, but Stockfish fought back to narrow the gap to 2 points going into the final 12 games. However, Leela Chess Zero finished with a remarkable six wins in the final ten games of the superfinal, and could have won a seventh game were it not for Stockfish finding a brilliant defensive resource in game 100 that Leela did not spot, and was thus able to force a drawn endgame. Leela Chess Zero confirmed herself as champion with wins in games 95 and 96, marking the superfinal's only occurrence of one engine winning the same predetermined opening line as both black and white.[7] Grandmaster Mykhaylo Oleksiyenko described game 96 as a 'magnificent masterpiece'.[11][12]
Source: [7]
Notable gamesIn an article published shortly after the superfinal, British GM Matthew Sadler called the Season 17 superfinal the most interesting of superfinals he has seen, with multiple interesting games to go along with high drama. The difference in playstyle – Leela favors active defense and had a better grasp of fortresses, while Stockfish preferred attritional defense – further contributed to the entertainment value. Although the two finalists are very close in strength, ultimately Leela won because there are more positions in which it can hurt Stockfish than vice versa: Leela is superior in the French Defense, the Benoni Defense, and the King's Indian, while Stockfish is superior in the Open Sicilian.[13] These games are selected from the many games featured by GM Sadler.[13] Game 1After an unexciting opening, Black is a pawn up but is under pressure on the kingside. Leela plays the "stunning" 13...h5, returning the pawn to neutralize any chances of a long-term initiative for White. GM Sadler wrote that he probably would not have dared to consider this move in a real game, and it surprised other commentators Jan Gustafsson, Laurent Fressinet, Peter Heine Nielsen and Anish Giri as well.[14][13] Stockfish–Leela Chess Zero
With 13...h5, Black returns the pawn to neutralize White's initiative. After 14.Rxh5 Rxh5 15.Bxh5 Qe7, the rook trade has made the kingside safe for Black's king if necessary (although Leela chose to castle queenside eventually), as well misplaced White's h5-bishop. Game 1: Stockfish–Leela Chess Zero, Queen's pawn game Game 3This was the first of seven openings where both engines won with the White pieces. The clashes showed another distinctive difference between the two finalists: while Stockfish goes for checkmate quickly, Leela was happy to grind, taking on average more than twice as many moves to win. In another curious feature, it is Stockfish who has the advanced pawn on h6 against its neural-network opponent (traditionally it has been neural-network engines who usually possessed this trump). In this game, the h6-pawn generated decisive mate threats after Stockfish opened the f-file with 26. f5. Stockfish–Leela Chess Zero
Position after 20...Rbc8. Stockfish signaled an almost-winning +1.89 advantage in this position. This surprised commentators because the Scheveningen was played many times in the Karpov–Kasparov world championship matches, and it is hard to believe that this kind of position is simply terrible for Black. Game 3: Stockfish–Leela Chess Zero, Sicilian Defense Game 6This game pair (each engine plays both sides of the same opening) featured the Mar del Plata variation of the King's Indian Defense, one of the most complicated openings in the whole of chess. Leela played one of the most critical variations, to which Stockfish responded with an exceptional defense (see diagrams). Leela Chess Zero–Stockfish
The theoretical novelty happened only on move 21, indicating the complexity of the variation. With the logical 21...g4, Black expands his own kingside play while attacking the pawn on e4. Against this plan, Leela takes on g4 (thereby stopping any future kingside pawn storm) while shoring up its own weakened pawn on d5 after 22. fxg4 Nxe4 23. Rc4. Leela Chess Zero–Stockfish
Position after 27. Qxf3. With open lines, safe king, and a target on f4, superficially it looks as though White has a large advantage. However, with several precise moves, Stockfish demonstrates how to hold the Black position. Leela Chess Zero–Stockfish
Position after 29...Rc8. If White could play 30. Rc7 now it would have a much superior position, but 30. Rc7 Bxd6! 31. Rxc8 (forced) Qxc8 32. Nxd6 Qc5+ followed by 33...Qxd6 wins Black a pawn. Leela played 30. Rc6, but after 30...Rxc6 31. Qxc6 Nd7!, the Black knight cements Black's weaknesses on the queenside, freeing Black's Queen for kingside operations while simultaneously threatening ...Nc5 at an opportune moment to stop White's knight from redeploying to the e4-square. Leela Chess Zero–Stockfish
Position after 34...Qg4. After Leela strengthened the d6-pawn with 32. b4 axb4 33. Bxb4, Black mounts a well-timed kingside counteroffensive. White still cannot redeploy the knight with Nc3-e4, because 35. Nc3 is answered by 36...f3 with strong counter-threats. After 35. Qc4 Qg6 (once again preventing the knight maneuver by threatening the d6 pawn) 36. Qd5, Stockfish played 36...Kh8, answering 37. Nc3 with 37...Rg7, preventing White from regrouping. Leela Chess Zero–Stockfish
Having countered White's attempted maneuver with kingside threats, Stockfish finally gets in 42...Nf6, activating its e-pawn. The resulting exchanges led to an equal endgame which Stockfish had no trouble holding. Game 6: Leela Chess Zero–Stockfish, King's Indian Defense Game 14After Stockfish demonstrated it doesn't understand what to do with its dark-squared Bishop in King's Indian / Benoni structures, Leela demonstrated a winning technique by sacrificing a pawn to increase the scope of its unopposed dark-squared Bishop, eventually pinning Stockfish down with a long-term superiority on the dark squares. However, after reaching a beautiful position (diagram), with human commentators expecting White to launch a kingside attack, Leela played the surprising 28. Bxf6. From a human perspective, trading pieces to weaken squares is difficult to do because Black gets to trade off his passive pieces, but Leela executes masterfully. Leela Chess Zero–Stockfish
Position after 27...Qf8. White's bishop on b2 is very strong, but Leela plays 28. Bxf6 anyway, a move no human would consider. Leela Chess Zero–Stockfish
With 32. Nxd7, White exchanges an active Knight for Black's passive Bishop, but exposes Black's weak pawns on b7 and d6 to attack. Game 14: Leela Chess Zero–Stockfish, Benoni Defense Game 21This game illustrated Leela's active style, even when on the defense. Playing the Black side of a King's Indian Defence, Sämisch Variation, Leela sacrifices two pawns for piece activity, then maintains the initiative to equalize the position. Stockfish–Leela Chess Zero
Position after 17. h4. White threatens to take over the board. In response, Leela sacrifices a pawn for activity. Stockfish–Leela Chess Zero
Position after 20...Nd4. Black is down two pawns, but has dynamic compensation in superior development and piece activity. Nonetheless, two pawns is two pawns, and White's extra space makes it difficult to find lines for Black to attack with. The long-term advantages are completely in White's hands, so Black must attack and not lose the initiative. Stockfish–Leela Chess Zero
Position after 36...Rb8. In the culmination of a plan begun with 21...a5, Black has finally opened a file for his rook. Although White is not worse, he is the one who has to be careful. Game 21: Stockfish–Leela Chess Zero, King's Indian Defense Game 33Stockfish won this game with some excellent middlegame play culminating in a devastating kingside attack. Stockfish–Leela Chess Zero
Position after 23. Bd4. With this move, White exchanges Black's King's Indian Bishop, which also neutralizes much of Black's play. Black needs to develop queenside counterplay with ...b5-b4 and making a passed c-pawn, but must hope to survive White's kingside attack in the meantime. Stockfish–Leela Chess Zero
Position after 28...Bb7. Black's last move was a blunder according to Stockfish, although the reasons are not obvious. White now launches the kingside attack in earnest. Stockfish–Leela Chess Zero
By now Stockfish was declaring a decisive +6.83 evaluation, while Leela still did not see the danger. With 35. Rg7, White blocks the g-file and stops any potential counterplay, but it's not clear how to break through Black's e5-Queen, which is stopping the obvious f7-Qf6+ plan. Stockfish played h6 and f7, forcing Black to give up the Bishop for the pawn, and reached a winning endgame. Game 33: Stockfish–Leela Chess Zero: King's Indian Defense Game 40This game pair featured a French Defense, which usually does not bode well for Stockfish when it has the Black pieces. However, in this game, Stockfish was able to find a concrete plan to make space for its pieces. Leela countered with a kingside attack that Stockfish fended off in its typical attritional style, reaching an endgame it accurately assessed as a draw. Leela Chess Zero–Stockfish
Position after 15. Qxd3. Black has gained the bishop pair and has room to maneuver, but the time taken to execute this plan has left it seriously behind in development. After 15...Qc7 16. Rb1 Be7 Leela proceeded to launch a kingside attack with 17. f5. Leela Chess Zero–Stockfish
Position after 21...g6. White has lodged a pawn on f6, permanently threatening Black's king safety. On the other hand, Black has accrued several long-term positional advantages: he has the two bishops, eliminated White's e5-pawn, and is even up material. Leela Chess Zero–Stockfish
Position after 29.Ne5. White's position looks very pretty, but Stockfish demonstrates a fantastic defense after 29...Rxb1 30. Rxb1 Rb8!?, seemingly losing a piece. Stockfish's point is that if White takes the piece with 31. Rxb8+ Qxb8 32.Nxd7, Black has a draw after Qb1+ 33.Qg1 Qxa2 because White cannot fend off both the a-pawn and a threatened perpetual at the same time. Leela Chess Zero–Stockfish
In the last twist of the game, Stockfish simplifies into this position. Superficially it looks excellent for White, with Black's king effectively unable to move. However, further analysis reveals that it's a trivial draw: Black plays ...Bb5 and defends along the diagonal, while White's knight cannot venture too far from e5, lest the passed e6-pawn advances with counterplay. Game 40: Leela Chess Zero–Stockfish: French Defense Game 61This sharp gambit in the Trompowsky Attack showed another difference between the two finalists' styles. While Leela immediately struck back in the center and tried to seek play before White can finish deploying its pieces, Stockfish tried to bunker down and defend. Stockfish–Leela Chess Zero
Position after 7. f4. With open lines and a development advantage, White has serious compensation for the pawn. Here Leela plays 7...e6, attempting to counterattack immediately, while Stockfish chose the cautious 7...Qd8 when it was its turn to defend with Black. Stockfish–Leela Chess Zero
After some complicated middlegame tactics, Leela chose to enter this endgame, assessing that White has no way to break through. Leela's evaluation turned out to be correct, and drew easily. Game 61: Stockfish–Leela Chess Zero: Trompovsky attack (Ruth, Opovcensky opening) Game 66Similar to game 14, Stockfish demonstrated it didn't know what to do with its dark square bishop in these pawn structures. GM Sadler wrote that he lost interest in the game after 11...Bxc3, and indeed, Leela won the game. Leela Chess Zero–Stockfish
Stockfish defies human chess wisdom with 11...Bxc3?, exchanging the critical King's Indian bishop in an open position. Game 66: Leela Chess Zero–Stockfish: King's Indian Defense Game 95This game featured a French Defense. Stockfish had the White pieces, which made it critical for Stockfish because Leela was better at the opening. However, Leela played what was perhaps its best game in the match to win with Black. It was the only Black win in the entire superfinal and, when Leela further won the reverse game, the only opening in which the same engine won with both colors. Stockfish–Leela Chess Zero
Position after 18...Ne7. Black has sacrificed a pawn, but in return its pieces have increased scope, and White's pieces are not well-positioned for queenside operations. Stockfish–Leela Chess Zero
Position after 22.Bh5. With this move, White puts off attacking Black's king and instead tries to stop Black's kingside counterplay from developing. GM Sadler writes that although it is not a bad idea, it is rather passive, and Black is the one that gets all the fun. Stockfish–Leela Chess Zero
Position after 30...a5. Black's pawn advance threatens to seal off the queenside with 31...a4. Stockfish decides to take on a5 instead, a committal decision: Black gains tremendous compensation in the form of connected passed pawns. Stockfish–Leela Chess Zero
White has no play, and with 38...g4 Black exacerbates the problem. White cannot play 39. Bxg4 because 39...h5 wins a piece, but after 39. hxg4, the Bishop is also cut off from the defense. Stockfish–Leela Chess Zero
Facing the incoming pawn roller, Stockfish defends creatively with 46.f5, sacrificing a pawn and hoping to distract Black with its own passed pawn. However, it was to no avail as the sacrifice also gave Black more weaknesses to attack. Game 95: Stockfish–Leela Chess Zero: French Defense Game 96In an embarrassing loss for Stockfish, Black never manages to develop its king's Bishop and Rook until it was too late. Former World Correspondence Chess Champion Leonardo Ljubičić called Stockfish's handling of its kingside pieces "clueless".[15] Leela Chess Zero–Stockfish
Position after 21. Ne2. Black's Bishop and Rook on the kingside have barely any scope. Leela forced an entry via the c-file, and won the game with threats that Black's passive kingside pieces could not help with. Game 96: Leela Chess Zero–Stockfish: French Defense External linksReferences
|
Portal di Ensiklopedia Dunia