TCEC Cup 8 rules
TCEC Cup 8 - Rules & Information
- a. For all TCEC Events, engines will be invited by the organizers.
- b. The TCEC Cup 8 is a knockout format played in TCEC, including all invited qualifying participants.
- c. The 32 qualifying engines consist of the top 32 ending participants of TCEC Season 20, dropping those that are out of apparent development.
- d. These engines will be seeded according to their respective final results in TCEC Season 20's final standings.
- e. The winner of TCEC Cup 7 will be seeded number 1.
2. TCEC Cup knockout matches format
- a. The TCEC Cup 8 will take place after the TCEC Season 20 Superfinal.
- b. It will be a knockout championship with the 32 participants divided into brackets.
- c. Each participant will be equal-distance seeded according to its final standing in the TCEC league event with the #1 seed meeting the #17 seed, #2 meeting #18, etc.
- d. The TCEC Cup 8 will consist of a total of 32 matches divided into 5 rounds: sixteenth-finals, eighth-finals, quarter-finals, semi-finals and final.
- e. For an engine to win the TCEC Cup gold medal it must win a total of five matches. The two losing semifinalists will play a match for 3rd and 4th place (`small final’).
3. Matches and tiebreaks
- a. Each of the matches will initially consist of 2 pairs of games (4 games, every second with reversed colors and the same opening). Cutechess-cli will adjudicate the match if a decisive result has been reached within 4 games.
- b. The lower seeded engine will start playing with the white pieces.
- c. In case of an equal score after 4 games, the tiebreak will be played out immediately. The tiebreak consist of additional game-pairs; a decisive pair of tiebreaker games decides a match.
- d. Whether a game is immediately restarted or played rather at the end of the round will be decided by the responsible TCEC staff.
4. Openings books
- a. All matches are played with a book exit from one of the five books in use: A through E.
- b. No bookless games will be played in the TCEC Cup.
- c. All games take place in pairs in which both engines each play each side of every book exit. Engines will play both sides of each position selected. Openings chosen will roughly approximate human games in terms of their frequency. A new opening should thus occur every other game, then the reverse game is played, so two games in a row from the same starting book position. Because each engine will thus play both sides of every opening, fairness is guaranteed.
- d. BOOK A created by Nelson Hernandez, consisting of two-move (four-ply) exits, used in the first round (round of 32).
- e. BOOK B created by Nelson Hernandez, consisting of four-move (eight-ply) exits, used in the second round(round of 16).
- f. BOOK C created by Nelson Hernandez, consisting of six-move (twelve-ply) exits, used in the quarter finals.
- g. BOOK D created by Nelson Hernandez, consisting of eight-move (sixteen-ply) exits. This book is used in the semi-final rounds.
- h. BOOK E is a compilation of positions compiled by Nelson Hernandez from Season 9-19 Superfinals by Jeroen Noomen. This book will be used in the Cup final and third-place matches.
- i. All five books will be used randomized.
5. Time control
- a. Time control will be 30 mins + 5 secs increment per move for all games in a match, including the tiebreakers.
- b. If an engine loses on time, that results in a loss and will be registered as such. The game will not be replayed.
- c. Whether a game is immediately restarted or played rather at the end of the round will be decided by the responsible TCEC staff.
6. Game adjudication
- a. A game can be drawn by the normal 3-fold repetition rule or the 50-move rule.
- b. A game can also be drawn at move 35 or later if the eval from both playing engines are within +0.15 to -0.15 pawns for the last 5 moves, or 10 plies. If there is a pawn advance, or a capture of any kind, this 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.
- c. Cutechess-cli will adjudicate 6-men or less endgame positions automatically with Syzygy tablebases.
- a. Engine crashes are counted as losses.
- b. If an engine loses on time, the result will not be changed nor the game replayed.
- c. In case of a server disconnect, or time loss due to lag, or other interruptions not caused by the engines there are five possible scenarios:
- i. If the web server crashes, the game continues unaffected, and broadcasting will be resumed as soon as possible;
- ii. If the evaluation of both engines is equal to or more than ABS(10) at the moment of game server interruption, the game is scored as a win;
- iii. If the evaluation of both engines is equal to or less than ABS(0.15) at the moment of game server interruption, and both engines have completed 35 moves, the game is scored as a draw;
- iv. If a game interrupts with 7 pieces on the board, position on the board at the instant of game server interruption will be adjudicated according to 7-man EGTB;
- v. In all other cases the game is restarted from the position that the two engines reached before the disconnect, with time compensation to fill up the cache.
8. Engine Updates
- a. Under no circumstances are updates and fixes to engines allowed once the Cup competition has started.
TCEC operates in good faith of the authors' providing information about their engines and versions proposed, and the following guidelines are used, when needed, to the discretion of TCEC.
- Guidelines for use of NNUE at TCEC:
- NNUE code can be used and considered as if it was a library (even if it is not literally one).
- Custom modifications to the basic NNUE code are strongly encouraged, it should be considered rather like a starting point.
- All NNUE training data should be generated by the unique engine's own search and/or eval code.
- FAQ: Do the NNUE guidelines apply outside NNUE technology?
- > No, of course not.
Thanks to our devoted audience for it's support in the form of donations, subscriptions and cheers!
Special thanks to noobpwnftw who sponsors TCEC with the current playing hardware mentioned hereafter!
Current TCEC CPU server
- CPUs: 4 x Intel Xeon 4xE5-4669v4
- Cores: 88 physical / 176 threads
- RAM: 128 GB DDR4 (available to engines)
- RAM: 1 TB (available to 6-pieces Syzygy)
- HDD: 7 TB total
- OS: CentOS Linux release 8.2.2004 (Core)
- If no Linux version: wine-5.0 or Microsoft Windows Server 2019 Datacenter 10.0.17763 N/A Build 17763 running in VM
- Compilers if you submit source code: gcc version 8.3.1 20191121 (or optionally gcc (GCC) 9.2.1 20191120), clang version 9.0.1, java 14.0.1 2020-04-14
Current TCEC GPU server
- GPUs: 4x V100
- CPU: Intel(R) Xeon(R) Platinum 8163 CPU @ 2.50GHz, 32 vcores
- RAM: 48GiB (available to engines)
- RAM 128GiB (RAM unused by engines is used for caching tablebase files)
- SSD: 500GB
- 6-piece Syzygy and 6-piece Scorpio bitbases on SSD
- OS: Ubuntu 18.04.5 LTS
- Drivers and libraries: nvidia-driver-455.45.01-0ubuntu1, cuda 11.1.1-1, cuda 10.2.89-1, libcudnn 126.96.36.199-1+cuda11.1, libcudnn 188.8.131.52-1+cuda10.2
- Compilers if you submit source code: gcc version 7.5.0, gcc version 8.4.0, clang version 6.0.0-1ubuntu2, meson 0.55.1