Top Chess Engine Championship
Top Chess Engine Championship formerly known as Thoresen Chess Engines Competition (TCEC or nTCEC) is a computer chess tournament organized, directed, and hosted by Martin Thoresen. It is often regarded as the Unofficial World Computer Chess Championship because of its strong participant line-up and long time control matches on high-end hardware, giving rise to very high-class chess.[1][2]
The first TCEC was in 2010. After a short break in 2012,[3] TCEC was restarted in early 2013 (as nTCEC)[4] and is currently active (renamed as TCEC in early 2014) with all-day live broadcasts of chess matches on its website. Supported by original engine authors and based on voluntarism and donation, it caused a furor in February 2011, when the free version of Houdini defeated reigning computer chess champion Rybka in a 40-game match.[5][6][7] The current season of TCEC is sponsored by Chessdom Arena.[8][9]
The current TCEC champion is Komodo, having defeated Stockfish in TCEC Season 8 superfinal in November 2015.
Contents
Overview
The TCEC competition is divided into Seasons, where each Season happens over a course of a few months, with matches played round-the-clock and broadcast live over the internet. Each season is divided into 4 qualifying stages and 1 Superfinal, where the top two chess engines battle it out over a series of 64 games to win the title of TCEC Grand Champion.
The time control in all events is 120+30 (120 minutes + 30 seconds added per move for the whole game) and pondering is set to off
. The Opening Book is taken from recent strong human Grandmaster tournaments, is truncated to the first 6 or 8 moves, and is changed in every Stage. Engines are allowed updates between stages, unless there is a critical play-limiting bug, in which case the engine are allowed to be updated once during the stage. TCEC generates its own elo rating list from the matches played during the tournament. An initial rating is given to any new participant based on its rating in other chess engine rating lists.
There is no definite criterium for entering into the competition, other than inviting the top participants from various rating lists. The list of participants is personally chosen by Thoresen before the start of any new season. His stated goal is to include "every major engine that is not a direct clone".[10] Usually chess engines that support multiprocessor mode are preferred (8-cores or higher). Both Winboard and UCI engines are supported. Large pages are disabled but access to various endgame tablebases is permitted.
Stage | General Information1 |
---|---|
Stage 1 | Stage 1 is divided into 2 groups which consist of 14 engines each. Each group format is a single round robin. The top 7 from each group will move on to Stage 2. |
Stage 2 | Stage 2 consists of the 14 engines that qualified from Stage 1. It is also a single round robin. It does not use an opening book. The top 8 move on to Stage 3. |
Stage 3 | Stage 3 consists of the 8 engines that qualified from Stage 2. The format for Stage 3 is a tetra round robin (x 4) so that each engine will play both sides of the same opening against each other, twice. The top 4 will move on to Stage 4. |
Stage 4 | Stage 4 consists of the 4 engines that qualified from Stage 3. It is a dodeca round robin (x 12) and the openings are chosen randomly per pair so that each engine will play both sides of the same opening against each other. The top 2 will qualify to play the Superfinal. |
Superfinal | After Stage 4 has finished, the top 2 engines will meet in a Superfinal of 64 games. This match is played with 32 different openings so that each engine plays both black and white of the same position. The match will be presented with opening 1 used in games 1 and 2, then opening 2 used in games 3 and 4 etc. If the match is theoretically won for one side before game 64, the match will still continue until all 64 games have been played. In the case of a drawn match there will be a rapid match of 16 games with a time control of 25' + 10" with random openings selected from earlier in the same Season. In case it is still tied there will be a Blitz match of 8 games with a time control of 3" + 2'. When the Superfinal is over, the current Season ends. |
- 1 Rules may differ from season to season
GUI adjudication rule
A game can be drawn by threefold repetition or fifty-move rule. However, a game can also be drawn at move 40 or later if the eval from both playing engines are within +0.05 to -0.05 pawns for the last five moves, or ten plies. If there is a pawn advance, or a capture by any kind, this special draw rule resets and starts over. On the website, this rule shows as "Distance in plies to TCEC draw rule". It adjudicates as won for one side if both playing engines have an eval of at least 6.50 pawns (or -6.50 in case of a black win) for four consecutive moves, or eight plies - this rule is in effect as soon as the game starts. On the website, this rule shows as "Distance in plies to TCEC win rule". The GUI also adjudicates tablebase endgame positions (with 5-men or less) automatically.
Technical specifications (Season 7)
The TCEC Computer: CPUs: 2 x 8 core Intel Xeon E5-2689 @ 3300 MHz CPU Coolers: 2 x Corsair H80i Motherboard: Asus Z9PE-D8 WS RAM: 64 GB Kingston KVR16R11D4K4/32 Reg/ECC PSU: Corsair AX 760 SSDs: 2 x Samsung 840 Pro 128 GB @ Raid 0 Case: Silverstone Raven RV03B-WA OS: Windows 7 Professional
Configuration: Graphical User Interface (GUI): cutechess-cli (custom) Protocol: Winboard, UCI Large Pages: OFF Number of Cores/Threads (per engine): 8 or 16 Split Depth: DEFAULT Main Hash Size: 16 GB (Maximum) Minor Hash Size: 1 GB Engine Opening Book: OFF Endgame Tablebases: 6-men Syzygy, 5-men Nalimov, 5-men Gaviota (cp2), 5-men Shredderbases and 5-men Robbobases (Totalbases + Triplebases) supported Tablebase Cache: 1024 MB (Maximum) Ponder/Permanent Brain: OFF Contempt/Draw Score: DEFAULT
N.B.: tablebases were disabled for all engines for the whole of Season 7[10]
Technical specifications (Season 8)
The TCEC Computer: CPUs: 2 x 10 core Intel Xeon E5-2650v3 @ 2600 MHz Motherboard: Supermicro X10DRL-i RAM: 128 GB Samsung DDR4 Reg/ECC SSD: Kingston 64 GB Chassis: Supermicro OS: Windows Server 2012 R2
Configuration: Protocol: Winboard, UCI Large Pages: OFF Number of Cores/Threads (per engine): max. 20 Split Depth: DEFAULT Main Hash Size: 32 GB (Maximum) Minor Hash Size: 4 GB Engine Opening Book: OFF Endgame Tablebases: 5-men Syzygy, 5-men Nalimov, 5-men Gaviota (cp2) supported Tablebase Cache: 32 MB (irrelevant since whole TB resides in RAM) Ponder/Permanent Brain: OFF Contempt/Draw Score: DEFAULT
Tournament results
Season | Date | Winner | Runner-Up |
---|---|---|---|
TCEC Season 1 | Dec 2010 – Feb 2011 | Houdini 1.5a [6] | Rybka 4.0 |
TCEC Season 2 | Feb 2011 – Apr 2011 | Houdini 1.5a | Rybka 4.1 |
TCEC Season 3 | Apr 2011 – May 2011 | N/A (season not completed) | |
TCEC Season 41 | Jan 2013 – May 2013 | Houdini 3 | Stockfish 250413 |
TCEC Season 52 | Aug 2013 – Dec 2013 | Komodo 1142 | Stockfish 191113 |
TCEC Season 6 | Feb 2014 – May 2014 | Stockfish 170514 | Komodo 7x |
TCEC Season 6 FRC3 | June 2014 – July 2014 | Stockfish 260614 | Houdini 4 |
TCEC Season 74 | Sep 2014 – Dec 2014 | Komodo 1333 | Stockfish 141214 |
TCEC Season 8 | Aug 2015 – Nov 2015 | Komodo 9.3x | Stockfish 021115 |
TCEC Season 9 | May 2016 – Dec 2016 |
- 1 Originally named "nTCEC Season 1"
- 2 Originally named "nTCEC Season 2"
- 3 Special Chess960 quad-round-robin tournament consisting of the top 8 engines from Season 6 that had support for Chess960
- 4 Season 7 did not use endgame table bases. Stage two did not use opening books.
Notable games
Pre-TCEC:
- Stockfish vs Houdini, Match 3, 23.1, "Game of the Month 1", 2010-07-27, 1–0[14]
- Shredder vs Naum, Tournament 1, 1.3, "Game of the Month 2", 2010-08-01, 0–1[15]
- Houdini vs Rybka, Tournament 5, 8.3, "Game of the Month 3" 2010-11-26, 1–0[16]
Season 1-3:
- Rybka vs Houdini, TCEC S1, Elite Match, 1.1 0–1 Houdini sacrifices three pawns for piece activity and defeats the reigning computer chess champion Rybka in this game, popularly dubbed as the "Houdini Immortal".[5][17][18]
- Houdini vs Rybka, TCEC S2, Elite Match, 19.2, 1–0 Houdini exploits minor inaccuracies by Rybka with a sacrifice.[19]
Season 4:
- Shredder vs Gull, TCEC S4, Stage 2b, 14.3, ½–½ Shredder pulls off a save, at the brink of defeat.[11][12][13]
Season 5:
- Gull vs Komodo, TCEC S5, Stage 3, 2.2, 0–1<[20]
- Houdini vs Stockfish, TCEC S5, Stage 3, 17.4, 0–1 Stockfish, thanks to its heavy depth-oriented search, out-calculates Houdini, and wins the game.[21]
Season 6:
Season 7:
Criticisms
Criticisms about TCEC have varied over the years. The most common currently are: not allowing engines to ponder (think on opponent's time), and relatedly using one computer rather than two (as does the SSDF);[23] many boring games and extended periods of uninteresting moves, partially due to the TCEC draw rules;[24] pre-planned opening books (not under engine control) that are designed to increase entertainment rather than preserve competitive balance.[25][26] Tablebases have caused some debate, with non-programmers wanting them turned off so that engines "think for themselves", and this was tried in Season 7.[27] There have been a number of controversies with engine and server crashes over the years, the most recent being Game 83 of the Season 8 Superfinal, where in one of the few decisive games of the 100 played, Komodo had a crushing edge (+5) before during Stockfish's next move it was declared that the server crashed, leading to a replay from scratch (won by Komodo anyway).[28][29]
References
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 5.0 5.1 Video annotation by Kingscrusher on YouTube
- ↑ 6.0 6.1 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 10.0 10.1 http://blog.chabris.com/2015/01/martin-thoresens-world-chess.html
- ↑ 11.0 11.1 The game on chessgames.com
- ↑ 12.0 12.1 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 13.0 13.1 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Annotated by FM Dennis Monokroussos at TCEC
- ↑ Annotated by FM Dennis Monokroussos at TCEC
- ↑ Annotated by FM Dennis Monokroussos at TCEC
- ↑ The game on chessgames.com
- ↑ Annotated by FM Dennis Monokroussos at TCEC
- ↑ Annotated by GM Ioannis Papadopoulos at TCEC
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Annotated by GM Ioannis Papadopoulos at TCEC
- ↑ Annotated by GM Davorin Kuljasevic at TCEC
- ↑ Should TCEC switch to Ponder ON (forum thread)
- ↑ Suggestion thread for TCEC (chat from Albert van Houten)
- ↑ Nelson Hernandez on TCEC books
- ↑ TCEC Season 6 Opening Book
- ↑ TCEC Season 7
- ↑ Game 83 Server Crash
- ↑ Chess Bomb (Game 83)
Sources
- Lua error in package.lua at line 80: module 'strict' not found.
- Lua error in package.lua at line 80: module 'strict' not found.
External links
- TCEC Live Games Page
- Top Chess Engine Championship on FacebookLua error in Module:WikidataCheck at line 28: attempt to index field 'wikibase' (a nil value).
- TCEC Season Archive
- Additional information for Season 4
- Additional information for Season 5