Rules

From TCEC wiki
Jump to: navigation, search

All rules for the TCEC Season on one page.

TCEC Leagues Season rules

TCEC Season - Rules

Rules

1. Season

  1. The Top Chess Engine Championship (TCEC) Season is the premier championship for chess software.
  2. TCEC Season is a tournament, between engines with ELO 3000+, and it is divided into 6 Events, consisting of five Leagues, the Premier Division and the Superfinal.
  3. Each of the Leagues, the Premier Division and the Superfinal, is hereafter called: an Event.
  4. TCEC Season runs 24/7 until all its games have been played. One game is played at a time - the next one starts automatically.
  5. As soon as an Event starts, it will run 24/7 until all its games have been played. One game is played at a time - the next one starts automatically.
  6. There will be a short break between the Events, to test and make sure everything is ok with the TCEC game server and to prepare for the next Event.
  7. Updating engines will only be allowed for promoting engines between the Events of Leagues 3 and 2, as well as between League 1 and Premier Division, and for Superfinal.
  8. For all TCEC Events, engines will be invited by the organizers, and can be required to respond to the TCEC Questionnaire.

2. Qualification League

  1. The Qualification League is the first Event of TCEC Season.
  2. For the Qualification League Event, engines will be invited by the organizers.
  3. The Qualification League or QL consists of engines recently submitted by their authors, all of which are under active development.
  4. It is a 1x double round robin at TC 30'+5" with each game beginning from the regular chess starting position (bookless).
  5. The top 8 engines promote to League 4.

3. League 4

  1. The League 4 is the second Event of TCEC Season.
  2. For the League 4 Event, engines will be invited by the organizers.
  3. League 4 or L4 consists of 12 engines including the promotions from QL.
  4. It is a 1x double round robin at TC 30'+5" with a randomized 2-move opening book by Nelson Hernandez (Book A).
  5. The bottom 4 engines relegate and the top 4 promote to League 3.

4. League 3

  1. The League 3 is the third Event of TCEC Season.
  2. For the League 3 Event, engines will be invited by the organizers.
  3. League 3 or L3 consists of 12 engines including the promotions from L4.
  4. It is a 1x double round robin at TC 30'+5" with a randomized 4-move opening book by Nelson Hernandez (Book B).
  5. The bottom 4 engines relegate and the top 4 promote to League 2.

5. League 2

  1. The League 2 is the fourth Event of TCEC Season.
  2. For the League 2 Event, engines will be invited by the organizers.
  3. League 2 or L2 consists of 12 engines including the promotions from L3.
  4. It is a 1x double round robin at TC 30'+5" with a sequential varied depth opening book by Eduardo Sauceda (Book C).
  5. The bottom 4 engines relegate and the top 2 promote to League 1.

6. League 1

  1. The League 1 is the fifth Event of TCEC Season.
  2. For the League 1 Event, engines will be invited by the organizers.
  3. League 1 or L1 consists of 8 engines including the promotions from L2.
  4. It is a 2x double round robin at TC 45'+5" with a sequential varied depth opening book by Bastiaan Braams (Book D).
  5. The bottom 2 engines relegate and the top 2 promote to Premier Division.

7. Premier Division

  1. The Premier Division is the sixth Event of TCEC Season.
  2. For the Premier League Event, engines will be invited by the organizers.
  3. Premier Division or DivP consists of 8 engines including the promotions from L1.
  4. It is a 4x double round robin at TC 60'+7" with a sequential opening book by Nelson Hernandez (Book E).
  5. The top 2 engines promote to the Superfinal and the bottom 2 engines are relegated to League 1.

8.1 Infrafinal

  1. The Infrafinal is a 50 games head to head contest between the 3rd and 4th place of the Premier Division.
  2. The Infrafinal consists of a 2 engine 25DRR, 50 games at TC 90'+9", with a sequential varied depth opening book by Eduardo Sauceda (Book G).
  3. The third place finisher of Premier Division takes the black pieces first in every pair of games.
  4. If the match is theoretically won for one side before game 50, the match will still continue until all 50 games have been played.
  5. In case the match ends in a tie there will be sets of Blitz matches of 2 games each, with a time control of 3' + 2" until a decisive pair takes place and with it a winner is found.
  6. The winner of the Infrafinal is the official 3rd finishing engine of the TCEC Leagues Event.

8.2 Superfinal

  1. The Superfinal is a 100 games head to head contest between the winner and 2nd place of the Premier Division.
  2. The Superfinal consists of a 2 engine 50DRR, 100 games at TC 120'+10", with a sequential varied depth opening book by Jeroen Noomen (Book F).
  3. The winner of Premier Division takes the black pieces first in every pair of games.
  4. If the match is theoretically won for one side before game 100, the match will still continue until all 100 games have been played.
  5. 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.
  6. In case it is still tied there will be sets of Blitz matches of 8 games each, with a time control of 3' + 2" until a winner is found.
  7. When the Superfinal is over, the current Leagues Season ends.

9. The TCEC Grand Champion

  1. 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.
  2. There is no automatic qualification for the reigning Grand Champion, it will have to go all the way through the Premier Division of the next Season for it to be able to defend the title.

10. Time control

  1. Different classical time controls will be used throughout the season and the time control is increased as the season progresses.
  2. For the Qualification League, League 4, League 3 and League 2 Events, the time control is 30 minutes + 5 seconds added per move for the whole game.
  3. For League 1 Event, the time control is 45 minutes + 5 seconds added per move for the whole game.
  4. For Premier Division, the time control is 60 minutes + 7 seconds added per move for the whole game.
  5. For the Superfinal, the time control is 120 minutes + 10 seconds added per move for the whole game.

11. Game ending

  1. A game can end in a draw by three-fold repetition, 50-move rule, stalemate, tablebase adjudication, and the TCEC draw rule.
  2. The TCEC draw rule automatically rules a game as 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.
  3. Cutechess-cli will adjudicate 6-men (or less) endgame positions automatically with Syzygy tablebases.
  4. A game is won by mate, opponent's illegal move, opponent's resignation, or by tablebase adjudication.

12. Tiebreaks

  1. 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.

13. Engine Updates

  1. For engines that promote to the next Event, the following rules apply:
  2. Except when promoting from QL to L4, from L4 to L3, and from L2 to L1, all engines that promote to the next Event are allowed to update before the Event's submission deadline, no matter if it is to fix bugs uncovered during the previous Event, or to submit a better version. To summarize:
    1. No testing will be done and provided, nor is updating allowed, between Qualification League and League 4.
    2. No testing will be done and provided, nor is updating allowed, between League 4 and League 3.
    3. Testing will be done and provided, and updating allowed, between League 3 and League 2.
    4. No testing will be done and provided, nor is updating allowed, between League 2 and League 1.
    5. Testing will be done and provided, and updating allowed, between League 1 and Premier Division.
    6. Testing will be done and provided, and updating allowed, between Premier Division and Superfinal.
  3. The deadline for engine submission is the last game of the current Event unless the programmer is given a specific deadline from the Tournament Director - the goal is to be able to start the next Event as soon as possible without any significant delay.
  4. Note that despite testing between certain Events will be provided, engine authors update at their own risk.
  5. Once an Event is being played, no updates are allowed during it.

14. Engine Ratings

  1. The TCEC engine ratings can be found at https://tcec-chess.com/bayeselo.txt
  2. This list is updated live after every official game and includes all games, including rapid or faster time control games from current and previous season.
  3. Most testing games with sufficiently long time control are also used.
  4. Version numbers are ignored and all games are included, including games lost on time or due to crash.
  5. New engines are assigned a temporary rating based on testing, until an official rating can be calculated after they played in an Event.

15. Crashes

  1. If an engine loses on time, the result will not be changed or the game replayed.
  2. 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:
    1. If the web server crashes, the game continues unaffected, and broadcasting will be resumed as soon as possible;
    2. If at the moment of game server interruption the evaluation of both engines is more than +10, or if the evaluation of both engines is less than -10, the game is scored as a win;
    3. If the evaluation of both engines is 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;
    4. 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;
    5. 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.
  3. Crashes are counted as losses.

16. Additional ruling concerning crashes

  1. In Season 20 Qualification League there was the exceptional case of Koivisto crashing more than 3 times, yet apparently still qualifying for promotion.
The rules no longer disqualify an engine crashing this often, neither do they allow for "updates" until 2 more leagues up.
There is a real risk of such a crashing engine spoiling play in more than one league, distorting normal results.
To accomodate this obvious gap in the rules, the following additional exceptional rule will be in place as of now:
  1. Any engine crashing more than once, yet promoting, is allowed to fix the problem leading to the crashes, but not update in the sense of change any other part of the software.
  2. For that last update option there are the paragraphs (see 13), ruling updates.

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. See the FIDE rules in the FIDE handbook.
  2. 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.

Further information

See also

TCEC Cup rules

TCEC Cup - Rules & Information

Rules

1. Event

a. For all TCEC Events, engines will be invited by the organizers.
b. The TCEC Cup 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, 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 the last TCEC Cup will be seeded number 1.

2. TCEC Cup knockout matches format

a. The TCEC Cup will take place after the TCEC Superfinal.
b. It will be a knockout championship with the 32 participants divided into brackets.
c. Each participant will be traditionally seeded according to its final standing in the TCEC league event with the #1 seed meeting the #32 seed, #2 meeting #31, etc.
d. The TCEC Cup 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.

6. Game ending

a. A game can end in a draw by three-fold repetition, 50-move rule, stalemate, tablebase adjudication, and the TCEC draw rule.
b. The TCEC draw rule automatically rules a game as 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.
c. Cutechess-cli will adjudicate 6-men (or less) endgame positions automatically with Syzygy tablebases.
d. A game is won by mate, opponent's illegal move, opponent's resignation, or by tablebase adjudication.

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.
d. Whether a game is immediately restarted or played rather at the end of the round will be decided by the responsible TCEC staff.

8. Engine Updates

a. Under no circumstances are updates and fixes to engines allowed once the Cup competition 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. See the FIDE rules in the FIDE handbook.
  2. 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.

Further information

See also

TCEC Swiss rules

TCEC Swiss - Rules & Information

Rules

1. Event

a. For all TCEC Events, engines will be invited by the organizers.
b. The TCEC Swiss is an 11 Double Rounds Swiss tournament format played in TCEC, including all invited qualifying participants.
c. 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.
d. If the winner of the last completed TCEC Swiss participates, it will be seeded number 1.

2. TCEC Swiss Tournament Event format

a. The participating engines will be equal-distance group-seeded into a number of sections, each consisting of a minimum of 5 to a maximum of 7 engines, leading to the first round of Monrad system pairing. The number, and the size of, these pairing groups will be determined by the tournament organizers, mostly depending on the number of participating engines.
b. Each pair will play a double round, so each engine plays the other once with each color, reversing the opening in the second game.
c. Each game will use a randomly automated chosen opening, called book exit.
d. The overall structure and the detailed seeded pairing procedure for rounds of the Monrad system used in the TCEC Swiss is described on the special page TCEC Swiss Tournament System.
e. At the end of 11 rounds the winner(s) will be the engine(s) with the highest number of points. In case of a tie, the following tiebreak paragraph will determine the ranking between the engines.

3. Tiebreaks

If necessary, tiebreaks shall be used to determine the final rankings. The following criteria will be used, in the order as presented below:
1. The Sonneborn-Berger is the first criterion
2. r-mobility tiebreak is the second criterion.
3. The third criterion is the greatest number of wins.
4. The fourth criterion is the direct encounter(s) between the tied engines.
5. In the event engines are even then still tied, these engines will share those places. The next place in ranking will start at an appropriate number, taking into account the number of engines ranked higher (e.g. if there is a two engine tie at first place, the next engine will have third place etc.).

4. Openings books

a. All matchups will be played with a randomly chosen book exit from a Book created by Nelson Hernandez.

5. Time control

a. Time control will be 45 mins + 7 secs increment per move for all games in a match.
b. If an engine loses on time, that results in a loss and will be registered as such. The game will not be replayed.

6. Game ending

a. A game can end in a draw by three-fold repetition, 50-move rule, stalemate, tablebase adjudication, and the TCEC draw rule.
b. The TCEC draw rule automatically rules a game as 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.
c. Cutechess-cli will adjudicate 6-men (or less) endgame positions automatically with Syzygy tablebases.
d. A game is won by mate, opponent's illegal move, opponent's resignation, or by tablebase adjudication.

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.
d. Whether a game is immediately restarted or played rather at the end of the round will be decided by the responsible TCEC staff.
e. In case of a system crash or server disconnect the system should pause the tournament. If however that inadvertently did not happen, and this at the end of a pairing round leads to a wrong automated new round pairing and new games already played with this wrong pairing, these games and the pairings will be invalidated, and the tournament restarted from the game and point where the system crash or server disconnect occurred, which is where the system should have paused as mentioned above.

8. Engine Updates

a. Under no circumstances are updates and fixes to engines allowed once the Swiss tournament has started.

Further information

See also

TCEC FRC rules

TCEC FRC - Flowchart of leagues and stages with equal distance seeding

TCEC Fischer Random Chess - 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. Throughout the tournament, the engines will play a number of double round robins (with reverse games of every opening therefore), the lowest seeded engine will always start a pair of games with the white pieces. This format will proceed by round robin, so the reverse games will not follow immediately, except in the Final.
c. In each of the Leagues A-D two double round robins are played (2DRR).
d. The top 2 engines in each League advance to the next level, called Semileagues 1 and 2, tiebreaks will be resolved according to 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.
h. The top 2 engines of the Final League advance to the Final, in which they will play 50 games (25DRR).
i. In case the Final ends in a tie after 50 games, pairs of games at the same time control will be played until one engine wins such a pair.

3. Tiebreaks

If necessary, tiebreaks shall be used to determine advancement, based on the final standings of a League. For all Events except the Final, 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 start 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

Schaker Bobby Fisher aan bord (archief), Bestanddeelnr 924-7362.jpg

See the FIDE rules Section Guidelines II. Chess960 Rules (the nomenclature of FIDE, in contrast to Wikipedia, fails to acknowledge this chess variant's inventor Bobby Fischer, naming it anonymously "Chess960" after the number of possible positions).

Further information

See also