- Frequently Asked Questions:
- What is nTCEC?
- Is this the official World Computer Chess Championship?
- Who is the reigning nTCEC Grand Champion?
- What are those blue diamonds below the engine logo?
- Did the engine just move instantly?
- Is there a special plugin required to view the games?
- Is the crosstable wrong?
- The Website:
- The Live and Stage Tabs
- General Rules:
- Time Control
- GUI Adjudication
- Opening Book
- Engine Ratings
- Engine Updates
- The nTCEC Season System:
- General Information
- Stage 1
- Stage 2a / Stage 2b
- Stage 3
- Stage 4
- The nTCEC Grand Campion
- Engine Configuration:
- Large Pages
- Number of Cores / Threads
- Split Depth
- Main Hash Size
- Minor Hash Sizes
- Own Opening Book
- Endgame Tablebases
- Tablebase Cache
- Contempt / Draw score
- Other Settings
- Computer Hardware:
- The nTCEC Computer
- Thank You
Questions and Answers:
What is nTCEC?
The goal of nTCEC is to provide the viewers with a live broadcast of quality chess, played strictly between computer chess engines created by different programmers.
Is this the official World Computer Chess Championship?
No, it is not, although some people regard it as such.
Who is the reigning nTCEC Grand Champion?
The first Season is currently ongoing so a Grand Champion has not yet been crowned.
What are those blue diamonds below the engine logo?
Those indicates how many cores an engine is using.
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 the server is updated every 2 minutes. 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?
Is the crosstable wrong?
In all Stages except Stage 1, the crosstable will be correct after all engines have played their first game. So it's nothing to worry about if it doesn't look aligned during the very first games.
The Live and Stage Tabs
On all pages of the nTCEC website you can see the game tabs. The colored bars at the bottom of each tab gives you the status of the current events. For example, in the above picture, it indicates that Stage 2a is currently being played. If you click the Live tab, you can watch the current game in this Stage, and if you click the Stage 2a tab, you can browse the games that are finished for that Stage. A red bar indicates that the Stage is completely finished and you can find all the games for that Stage there. An orange bar means that the Stage has not started yet. All evaluation displayed on the these pages are from white's point of view, which is important to keep in mind. When the current Season ends, all games will be moved to the Season Archive main tab in the top menu and all the bars will reset to orange.
The time control is 150 minutes + 60 seconds added per move for the whole game, in all events. If an engine loses on time, the result will not be changed or the game replayed. If the computer locks up at any time during a game (BSOD, freeze etc), that game will be restarted from the position after the opening book.
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 41 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. On the Live page this rule shows as "Plies to draw". 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 3 consecutive moves, or 6 plies - this rule is in effect as soon as the game starts. On the Live page this rule shows as "Plies to win". The GUI will not adjudicate tablebase endgame positions, so these will be played out normally. This is because not all engines can use tablebases and this could theoretically make them go astray in the endgame.
nTCEC uses "community openings": for each Stage, the community will post openings they want to see in the corresponding thread in the forum. The tournament director then chooses the openings that will be used for that Stage. In all games, the GUI selects a random opening and plays it out until the engines take over at move 9. So all openings are 8 moves long.
All new engines will receive an initial ELO rating based on 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. After each game, the ELO rating will be calculated automatically so that the spectators can follow the rating progress of their favorite engines throughout the Season. The rating page will be updated after each Stage. If an engine is updated to a new version, this new version will inherit the rating of the old version.
If an engine has been released in a new version, it will be updated before the start of a Stage. If the engine is already playing in a Stage, it will not be allowed to update until after the Stage has finished. So if the engine qualifies for the next Stage, it will play in this Stage with the new version.
If necessary, tiebreaks can be used to determine advancement. For Stage 1 the Cumulative Opponent Score is used as the first criterion, while in Stage 2 and later, the Sonneborn-Berger is the first. 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 nTCEC Season System:
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 break of a few days between the Stages, even 2a and 2b, to let the engine programmers provide updated versions of their engines and to make sure everything is ok with the computer.
Each season starts off with Stage 1, which is a 7 round Swiss event that consists of 32 engines. The seeding is done by ELO ratings: the highest rated engine meets engine 17, engine 2 meets engine 18 and so on. The top 16 move on to Stage 2, while the rest is out of nTCEC for the current Season. The openings in Stage 1 are chosen randomly per game. The games will be shown from board 16 first, up to board 1 for each round. 112 games are played in Stage 1.
Stage 2 consists of the 16 engines that qualified from Stage 1. They are divided into two groups of 8 engines each: those finishing as number 1, 4, 5, 8, 9, 12, 13 and 16 will form Stage 2a, while those finishing as number 2, 3, 6, 7, 10, 11, 14 and 15 will form Stage 2b. Stage 2a will be started first. Both is a double round robin where the openings are chosen randomly per pair so that each engine will play both sides of the same opening against each other. The top 4 from both groups move on to Stage 3 while the rest is out of nTCEC for the current Season. 56 games are played in Stage 2a and 56 games are played in Stage 2b.
Stage 3 consists of the 4 engines that qualified from Stage 2a and the 4 engines that qualified from Stage 2b. The format for Stage 3 is identical with Stage 2, so the top 4 will move on to Stage 4 while the rest is out of nTCEC for the current Season. The seeding for Stage 3 is done by looking at the engines with the highest scores in 2a / 2b, then the S-B if necessary. 56 games are played in Stage 3.
Stage 4 consists of the 4 engines that qualified from Stage 3. It is a hexa round robin and will use the same book rules as in Stage 2/3, meaning that 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, while the other 2 engines are out of nTCEC for the current Season. 36 games are played in Stage 4.
After Stage 4 has finished, the top 2 engines will meet in a Superfinal of 48 games. This match is played with 24 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 48, the match will still continue until all 48 games have been played. In the case of a drawn match 4 more games will be played until a winner emerges. When this happens, the current Season ends.
The nTCEC Grand Champion
The winner of the Superfinal will be crowned the nTCEC 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.
Both Winboard and UCI engines are supported. The protocol is the way the engine communicates with the GUI and has no impact on performance. On the Live page you can see the protocol in use for the engines currently playing.
Many engines come with different .exe files. 64-bit .exes are always preferred over 32-bit. Also, compiles that support POP_CNT 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 16 cores of the processors, if this is supported. For single core engines, they are obviously limited to use 1 core. Some engines have a prefix like "deep", but this has been omitted from the engine name to make it shorter. On the Live page you can see the number of cores that are in use for the engines currently playing by looking at the number of blue diamonds below the engine logos.
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 cores / threads.
Main Hash Size
Each engine is allowed to use up to 8192 MB of hash. Not all engines supports this much hash, so the maximum for that engine will be used in this case, typically 1024 MB or 2048 MB. On the Live page you can see the size of the main hash for the engines currently playing.
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 1 GB.
Own Opening Book
All opening books shipped with the engines are disabled. For more information, see the "Opening book" paragraph above, under "Rules".
Nalimov, Gaviota (cp2), Shredderbases, Robbobases (Totalbases + Triplebases) and Scorpio Bitbases are available depending on which each specific engine can use. Some engines allow configuration of more than one type, but only one is allowed. All of the different types have all 3-4-5 men pieces. (Robbobases also have Z pieces) and they are hosted on a very fast dual Samsung SSD Raid 0 setup. Nalimov is now the first choice since selected 6-men tablebases are available: krpkrp, krppkr, kppkpp, kbpknp, kbpkpp, krpkpp, kqppkp, kpppkp, kbpkbp, krbkrp, knpkpp, krppkp, krpkbp, kbppkp, kqpkqp, kqpkpp, krnkrp, knpknp, krbpkr, knppkp, krpknp, kbppkb, kqpkrp, krnpkr and knppkb. On the Live page you can see the type of tablebases that are in use for the engines currently playing.
Each engine is allowed to use up to 1 GB of tablebase cache. Not all engines supports this amount, so the maximum for that engine will be used in that case, typically 256 MB.
Ponder / Permanent Brain
Basically this means that the engines can think during their opponents turn. For Season 1 it is not allowed so it has been disabled. This might change in a future Season of nTCEC.
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.
Any configurable option not described above, are not adjusted in any way, except "keep hash tables" or similar is allowed.
The nTCEC Computer
CPUs: 2 x 8 core Intel Xeon E5-2689 @ 3300 MHz
CPU Coolers: 2 x Corsair H80i
Motherboard: Asus Z9PE-D8 WS
RAM: 32 GB Samsung MV-3V4G3D/US @ 8-8-8-24
PSU: Corsair AX 760
SSDs: 2 x Samsung 840 Pro 128 GB @ Raid 0
Case: Silverstone Raven RV03B-WA
Marit Thoresen, GM Ioannis Papadopoulos, FM Dennis Monokroussos, Peter Petrov, Paolo Casaschi, Matthias Gemuh, Mark Uniacke, Miguel Ballicora, Roberto Munter, Robert Houdart, Lukas Cimiotti, Don Dailey, Stefan Meyer-Kahlen, Ubaldo Andrea Farina, Raimund Heid, Tord Romstad, Johannes Zwanzger, Robert Hyatt, Onno Garms, Engin Uestuen, Jim Ablett, Izak Pretorius, Andrei Olsen, Eivind Skifjeld, Paul Frigge, Jon Erik Braenden, Kevin Plant, Frederic Labertit, Alcides Schulz, James I. Hymas, Julien Marcel, Dan Schmidt, Edwin Meiners, Bill Rust, Bram Mourik, Brian Richardson, Kim Burcham and especially John Rood. If you enjoy TCEC and want to help out paying the expenses, you can donate via Paypal (or credit card): there is a donate button at the top and bottom of every page. Currently this project is free for anyone to watch and by donating you can help keep it that way.