TCEC is based on voluntary work. Please consider a donation!
Please wait, the graph is loading
Please wait, the graph is loading
Please wait, the graph is loading
Please wait, the graph is loading
Please wait, the graph is loading
Crosstable: no live event
Schedule: no live event
What is TCEC?
TCEC (Top Chess Engine Championship) is a computer chess tournament organized and maintained by Chessdom in cooperation with Chessdom Arena. The goal is to provide the viewers with a live broadcast of long time control, quality chess - played strictly between computer chess engines created by different programmers. One Season is divided into several Stages and lasts about 3-4 months. The winner of the Season will be the TCEC Grand Champion.
The TCEC Grand Champions
Season 7: Komodo | Season 6: Stockfish | Season 5: Komodo | Season 4: Houdini | Season 3: N/A | Season 2: Houdini | Season 1: Houdini
Season 8 opening book notes from Nelson Hernandez (nick: Cato the Younger)
TCEC’s opening doctrine and tournament structure continues to evolve this season in part to keep things fresh and in part due to popular demand. New faces, new formats will be a regular feature.
In Stage 1, a single-round robin consisting of two seeded sub-divisions of 12 engines each, what is required is the most consistently balanced possible opening positions you can find in order to remove any possible bias. To accomplish this Stage 1 will be bookless: every engine will compete from the starting position. We’re not worried about repetitive openings; with a good mix of engines we don’t expect that to be much of a problem. Expect mayhem on the board. It will be interesting to see who suffers the quickest defeat.
In Stage 2 we will have the top six surviving engines from each of the two divisions in Stage 1, a total of 12 engines. Here we will have a double round-robin format, but this time we will use a two-move book designed by Adam Hair and checked by me for statistical and evaluative play-balance. Note, not all two-move positions are created equal. But for sure feeding an engine two moves gives the engine nearly as much freedom as a bookless arrangement; instances where the game will be already decided after two moves will be non-existent.
In Stage 3, the qualifying round for the Superfinal, will revert to the format we’ve used in recent seasons: an eight-move book that I have put together. For those of you who don’t know, my main qualification for this task is my database of tens of millions of human and engine games that I have been collecting for the past 11 years, combined with deep positional evaluations from the leading engines. For this season I plan to deviate from what I have done in the past. Instead of providing balanced positions that always favor white I will come up with a set of positions that may, in some cases, provoke outcries of alarm. Keep in mind the engines get to play both sides and optimal chess theory isn’t the goal here—we’re trying to produce an outcome that puts the most deserving two engines into the final. Expect the unusual and more blood on the board than we’ve seen this late in the tournament in recent seasons!
In this season’s Superfinal we are extending the competition from 64 to 100 games. We will use 50 positions selected by our guest IM Erik Kislik, one of the foremost opening experts in the world. Last season his choices helped to provide a tense and fascinating conclusion to the competition.
TCEC openings have traditionally been the source of the most complaints. This is perfectly understandable. On one side, purists say “no opening books” and “let the engines play”. On the other side, theorists want to see critical positions seen in recent GM games, which often come up after 15 or 20 moves have been played. It has been difficult to reconcile the desires of these two camps and our solution to this point has been to split the difference—force the game to a balanced position eight moves into the game that assures a high degree of opening variety and entertainment value but gives the engines enough freedom to play their own game.
This season, as you can see, we’ve decided to cover more numbers on the roulette table. Bookless, short-book, medium-book advocates should all be satisfied that their cause is at least being represented and that the responsibility for selecting these positions is distributed among multiple individuals, thus mitigating possible biases. We think the variety of formats provides the maximum opportunity for engines to display their strengths and weaknesses and for deserving champions to emerge. We hope you enjoy the fireworks.
Q: Can you provide us with a list of what openings will be played in each Stage?
A: I could, but Martin prefers the element of surprise and so do I.
Q: Will you know what openings any two engines will play before a game starts?
A: No. For each Stage I have provided Martin with a pgn file containing all the opening positions that will be played. His tournament GUI selects the openings at random, never repeating one that has already been played, apart from cases where engines are playing both sides of the same opening.
Q: Would you be so kind as to send me your database?
A: No. :)
Thanks again to all who had a hand in developing the TCEC openings: Erik Kislik, Adam Hair, Anson Williams and of course Martin, who makes everything possible.
An event, as used to describe the rules here, means a Stage, a Superfinal or earlier Divisions or Elite Matches.
Starting from Season 8, the time control is increased the deeper the Season goes. For Stage 1, the time control is 90 minutes + 30 seconds added per move for the whole game. For Stage 2, the time control is 120 minutes + 30 seconds added per move for the whole game. For Stage 3, the time control is 150 minutes + 30 seconds added per move for the whole game. For the Superfinal, the time control is 180 minutes + 30 seconds added per move for the whole game. If an engine loses on time, the result will not be changed or the game replayed. If the TCEC game server locks up at any time during a game (BSOD, freeze etc), that game will be restarted unless the last position was a 6-man or less tablebase position, then it will be manually adjudicated. Prior to Season 8, the fixed time control for all events was 120 minutes + 30 seconds added per move for the whole game.
A game can be drawn by the normal 3-fold repetition rule or the 50-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 5 moves, or 10 plies. If there is a pawn advance, or a capture by any kind, this special draw rule will reset and start over. In the website this rule is shown as "TCEC draw rule" with a number indicating how many plies there are left until it kicks in. It will adjudicate 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 4 consecutive moves, or 8 plies - this rule is in effect as soon as the game starts. In the website this rule is shown as "TCEC win rule" with a number indicating how many plies there are left until it kicks in. Cutechess will also adjudicate 5-men or less tablebase endgame positions automatically.
TCEC uses openings put together by Nelson Hernandez and Adam Hair, with assistance from Erik Kislik. Stage 1 will run without opening books. Stage 2 will use a depth-limited opening book of 2 moves. Stage 3 and the Superfinal will use an opening book of 8 moves. If you click the "Opening Book" button at the top you can read in detail how they prepared for this challenge.
When you enter "Archive mode" in the File menu, you can see the official TCEC ratings in the bottom right corner - it is updated after each Stage or Superfinal and is calculated by using Ordo. The calculation is global and will always include all new and previous games since Season 4. Any games with losses on time are discarded, as is engines with only losses. If there is a new engine entering TCEC for the first time, it will get a "temporary" rating taken from the CCRL 40/40 single CPU list. If an engine isn't found here, or if it has played very few games, the CEGT 40/20 single CPU list is used instead but the rating difference between Houdini 3 64-bit in the two rating lists will be added to the rating. If an engine isn't found in either list, an approximate ELO rating will be given to that engine based on tests from the programmer. Then after this new engine has played an event, the official rating will be calculated using Ordo as explained earlier. If an engine is updated to a new version, this new version will inherit the rating of the old version.
The engine programmers can provide updates only before an event starts, not during. However, there will be no extra testing meaning that this is a gamble if the engine could be unstable. The deadline for engine submission is the last game of the current Stage - the goal is to be able to start the next Stage as soon as possible without any significant delay.
Critical Engine Bugs
In the case of a serious, play-limiting bug (like crashing or interface communication problems) not discovered during the pre-Season testing, the engine can be updated once per Stage to fix this/these bug/bugs only. If this update still doesn't fix the problem(s) or if there is no update available, the engine might have the number of cores reduced, have the hash size reduced or have the tablebase access disabled - these changes will remain for the rest of the Stage.
If necessary, tiebreaks can be used to determine advancement. For all Stages (not the Superfinal), the first tiebreak criteria is the "crash" tiebreak, meaning that if an engine has crashed once or more during the Stage, it will fail qualification versus another engine that has not crashed if both of them has the same amount of points. The Sonneborn-Berger criteria is the second. If still a tie, the greatest number of black games decides. The next criterion is the greatest number of wins, then the greatest number of wins with black. In case of still being tied, then the direct encounter between the tied engines decides. If they are still tied, then the tournament director decides which engine gets the promotion.
The TCEC Season System - Season 8
As soon as a Stage starts, it will run 24/7 until all games have been played. One game is played at a time - the next one starts automatically. There will be a short break between the Stages, to make sure everything is ok with the TCEC game server and to prepare for the next Stage.
Stage 1 is divided into 2 groups which consist of 12 engines each. Each group format is a single round robin. There is no opening book in use here, so the engines are on their own from move 1. The top 6 from each group will move on to Stage 2, while the rest are out of TCEC for the current Season.
Stage 2 consists of the 12 engines that qualified from Stage 1. It is a double round robin. The top 6 move on to Stage 3 while the rest are out of TCEC for the current Season.
Stage 3 consists of the 6 engines that qualified from Stage 2. The format for Stage 3 is a hexa round robin (x 6) so that each engine will play both sides of the same opening against each other, three times. After Stage 3 has finished, the top 2 engines will meet in a Superfinal of 100 games.
This match is played with 50 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 100, the match will still continue until all 100 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.
The TCEC Grand Champion
The winner of the Superfinal will be crowned the TCEC Grand Champion and will keep this title until there is a winner in the next Superfinal. There is no automatic qualification for the reigning Grand Champion, it will have to go all the way through the next Season for it to be able to defend the title.
Engine Specific Configuration
UCI and Xboard (Winboard) engines are supported. To identify the protocol an engine is using you can click the gears next to the engine logo during a game. This info will be saved for the archive, but does not work for Season 5 or older games.
Many engines come with different .exe files. 64-bit .exes are always preferred over 32-bit. Also, compiles that support SSE 4.2, AVX/AVX2 or similar instruction sets are preferred.
Some engines can utilize a function in Windows called large pages, that gives a speed boost. However, after a while the memory in the computer will be fragmented, so that one engine might receive large pages and the opponent won't, which would be unfair. Therefore, this has been disabled. Large pages are often useful when you are running infinite analysis on a position.
Number of Cores / Threads
Each engine can use up to all 20 cores of the processors, if this is supported. Some engines have a prefix like "deep", but this has been omitted from the engine name to make it shorter. When watching a game you can see the number of cores that are in use for the engines currently playing by clicking the gears next to the engine logo.
The split depth parameter can be adjusted, with advice from each of the engine programmers. Basically it defines the minimum depth for work to be split between threads. If no instructions are given from the programmer, the default value will be used.
Main Hash Size
Each engine is allowed to use up to 32768 MB of hash. Not all engines supports this much hash, so the maximum for that engine will be used in this case, typically 2048 MB or 4096 MB. When watching a game you can see the size of the hash that is in use for the engines currently playing by clicking the gears next to the engine logo.
Minor Hash Sizes
Some engines have an option to configure the size of other hash tables, often called pawn hash or evaluation hash. The combined, total limit for hash types like these is 4096 MB.
Own Opening Book
All opening books shipped with the engines are removed and/or disabled.
For Season 8, tablebases that are available for the engines are: 5-men Syzygy, 5-men Nalimov and 5-men Gaviota (cp2), depending on which each specific engine can use. For some engines specifying more than one type is possible, but here only one is allowed. Nalimov is preferred. They are all hosted in RAM through a RAM-drive. When watching a game you can see the type of the tablebases (if any) that is in use for the engines currently playing by clicking the gears next to the engine logo.
For Season 8, each engine is configured with a tablebase cache of 32 MB. This is really irrelevant anyway since they are all hosted in RAM.
Ponder / Permanent Brain
Basically this means that the engines can think during their opponents turn. It is not allowed so it has been disabled because of performance limitations with ony 1 computer. This might change in a future Season of TCEC.
Contempt / Draw Score
Some engines have a setting that can adjust their own view of the positions throughout a game to avoid draws. This setting is not changed from the default unless it is a request from the programmer.
Any configurable option not described above, are not adjusted in any way, except that "keep hash tables" or similar is usually enabled.
Season 8 TCEC Server
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
OS: Windows Server 2012 R2
Pre-Season 8 TCEC Server
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
SSD: Samsung 840 Pro 128 GB
Chassis: Silverstone Raven RV03B-WA
OS: Windows 7 Professional
Is this the official World Computer Chess Championship?
No, it is not, although some people regard it as such.
Who is the reigning TCEC Grand Champion?
Komodo defeated Stockfish in the Superfinal of Season 7, so Komodo is the reigning TCEC Grand Champion.
Did the engine move instantly?
Yes, some engines can move from hash, or move instantly. However, sometimes it can seem that it moves instantly but in reality it doesn't, since there is a transmission delay from the server by 1 minute. Refer to the "move time" for each engine to see how long it thought on its move.
Is there a special plugin required to view the games?
What GUI are you using to play the games?
To play the games a special version of cutechess-cli is used. This is a command line tool without an actual GUI. This was made possible thanks to Jeremy Bernstein. Previously TCEC used ChessGUI by Matthias Gemuh.
What is the name of the web framework that displays the games?
It is called pgn4web and is totally free. Paolo Casaschi is the mastermind behind it and has helped a lot on certain difficult programming challenges.
Why are we supposed to blame Cato?
If you experience problems with the site, or suffer any general world problem of any kind, you should simply blame Cato. Please note that TCEC officially blames Cato for encouraging people to blame him... Enjoy TCEC!