Difference between revisions of "TCEC FRC rules"

From TCEC wiki
Jump to: navigation, search
m
m (Kan moved page TCEC FRC 3 rules to TCEC FRC rules without leaving a redirect: generic rules)
(No difference)

Revision as of 13:22, 2 March 2021

This is a temporary version!! The page below is not yet final.
2020 FRC 3 - Flowchart of leagues and stages with equal distance seeding

TCEC FRC 3 - Rules & Information

Rules

1. Event

a. For all TCEC Events, engines will be invited by the organizers.
b. The TCEC FRC is a progressive leagues knockout format played in TCEC, including all invited qualifying participants.
c. The 16 qualifying engines consist of the top 16 engines able to play Fischer Random Chess natively under Linux, dropping those that are out of apparent development.
d. These engines will be seeded according to their respective final results in TCEC Season's and/or last FRC Event's final standings, to the discretion of the organizers.
e. If the winner of the last completed TCEC FRC participates, it will be seeded number 1.

2. TCEC FRC Event format

a. The 16 participating engines will be equal-distance seeded into 4 Leagues, called League A, B, C, and D.
b. In each of the Leagues A-D two double round robins are played (2DRR).
c. The top 2 engines in each League advance to the next level, called Semileagues 1 and 2.
d. If necessary, tiebreaks shall be used to determine advancement, based on the final standings of a League or Division. For all Events except the Superfinal, the following criteria will be used, in the order as presented under article 3.
e. In each of the Semileagues 1 and 2, three double round robins are played (3DRR), tiebreaks will be resolved according to article 3.
f. The top 2 engines in each Semileague advance to the Final League.
g. In the Final Leagues, four double round robins are played (4DRR), tiebreaks will be resolved according to article 3.
f. The top 2 engines of the Final League advance to the Final, in which they will play 50 games (25DRR).


3. Tiebreaks

If necessary, tiebreaks shall be used to determine advancement, based on the final standings of a League or Division. For all Events except the Superfinal, the following criteria will be used, in the order as presented below:
1. In case of engines being tied, then the direct encounter(s) between the tied engines decides first.
2. r-mobility tiebreak is the second criterion.
3. The third criterion is the greatest number of wins.
4. The Sonneborn-Berger is the fourth criterion.
5. In the unlikely event they are even then still tied, then the tournament organizers will decide which engine gets the promotion or relegation.


4. Openings books

a. All matchups will be played from a randomly generated FRC aka Chess960 position.

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.

7. Crashes

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 FRC tournament has started.

Guidelines

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.

  1. Guidelines for use of NNUE at TCEC:
    1. NNUE code can be used and considered as if it was a library (even if it is not literally one).
    2. Custom modifications to the basic NNUE code are strongly encouraged, it should be considered rather like a starting point.
    3. 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.
  2. ...

TCEC Hardware

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 8.0.5.39-1+cuda11.1, libcudnn 7.6.5.32-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