Difference between revisions of "TCEC Leagues Season Rules"

From TCEC wiki
Jump to: navigation, search
(adapted from season 21 for season 22)
(6. Premier Division Conditional Tiebreak: +on points)
 
(55 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
'''[[:Category:TCEC Season|TCEC Season]] - Rules'''
 
'''[[:Category:TCEC Season|TCEC Season]] - Rules'''
 
__TOC__
 
  
 
==Rules==
 
==Rules==
Line 7: Line 5:
 
===1. Season===
 
===1. Season===
 
# The Top Chess Engine Championship (TCEC) Season is the premier championship for chess software.  
 
# The Top Chess Engine Championship (TCEC) Season is the premier championship for chess software.  
# TCEC Leagues Season is a tournament, between engines with ELO 3000+, the first event of a TCEC Season, which further comprises the TCEC Cup, TCEC Swiss and TCEC FRC tournaments.
+
# TCEC Leagues Season is a tournament, between engines with ELO 3000+, the main event of a TCEC Season, which further comprises the TCEC Cup, TCEC Swiss and TCEC FRC tournaments.
# A TCEC Leagues Season is divided into 8 Events, consisting of five Leagues, the Premier Division, the Infrafinal, and the Superfinal.
+
# A TCEC Leagues Season is divided into 6 Events, consisting of three Leagues, the Premier Division, the Premier Division Playoff, and the Superfinal.
# Each of the Leagues, the Premier Division, the Infrafinal, and the Superfinal, is hereafter called: an Event.
+
# Each of the Leagues, the Premier Division, the Premier Dvision Playoff, and the Superfinal, is hereafter called: an Event.
 
# 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.  
 
# 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.  
# There will be a short break between the Events, used for testing and making sure everything is ok with the TCEC game server as well as to prepare for the next Event.
+
# There will be a short break between the Events, used for updates and testing, and for making sure everything is ok with the TCEC game server as well so as to prepare for the next Event.
# 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 Infrafinal and Superfinal.
+
# Updating engines will only be allowed for promoting engines between Events, never during Events.
# For all TCEC Events, engines will be invited by the organizers, and can be required to respond to the [[TCEC Questionnaire]].
+
# Each TCEC Leagues Season starts with all the engines that finished the former Season, placed in the proper Leagues or Division in which they ended up after the Season, including eventual relegations. In case one or more engines are not entered in the next Season after they have participated, these places remain vacant in the Leagues or Division they were placed in. To compensate for this, the organizers will create an adaptation in the number of possible promotions and relegations concerning these Leagues or Division; no engines shall be put in a higher League or Division to fill such a vacant place.
 
+
# For all TCEC Events, all engines will be (re)invited by the organizers, and can be required to respond to the [[TCEC Questionnaire]].
===2. Qualification League===
 
# The Qualification League is the first Event of TCEC Season.
 
# For the Qualification League Event, engines will be invited by the organizers.
 
# The Qualification League or QL consists of engines recently submitted by their authors, all of which are under active development.
 
# It is a 1x double round robin at TC 30'+3" with each game beginning from the regular chess starting position (bookless).
 
# Engine order in cutechess at the start will be randomized.
 
# The top 8 engines promote to League 4.
 
 
 
===3. League 4===
 
# The League 4 is the second Event of TCEC Season.
 
# For the League 4 Event, engines will be invited by the organizers.
 
# League 4 or L4 consists of 12 engines including the promotions from QL.
 
# It is a 1x double round robin at TC 30'+3" with a randomized 2-move opening book by Nelson Hernandez (Book A).
 
# Engine order in cutechess at the start will be randomized.
 
# The bottom 4 engines relegate and the top 4 promote to League 3.
 
  
===4. League 3===
+
===2. Entrance League===
# The League 3 is the third Event of TCEC Season.
+
# The Entrance League or EL is the first Event of TCEC Leagues Season.
# For the League 3 Event, engines will be invited by the organizers.
+
# For the Entrance League Event, engines will be invited by the organizers.
# League 3 or L3 consists of 12 engines including the promotions from L4.  
+
# The Entrance League consists of 16 engines, including 6 engines seeded from the last completed Swiss Event. The first time the Entrance League format is played, all will be seeded according to last Swiss.
# It is a 1x double round robin at TC 30'+3" with a randomized 4-move opening book by Nelson Hernandez (Book B).  
+
# Seeding of the playing engines in EL will be decided by the organizers per result of the last TCEC Swiss Event or by the organizers' choice.
 +
# It is a 1x double round robin at TC 30'+3" with a sequential varied depth medium bias opening book.  
 
# Engine order in cutechess at the start will be randomized.
 
# Engine order in cutechess at the start will be randomized.
# The bottom 4 engines relegate and the top 4 promote to League 2.
+
# The bottom 6 engines relegate and the top 4 promote to League 2 (except in case of vacant places, see 1.8).
  
===5. League 2===
+
===3. League 2===
# The League 2 is the fourth Event of TCEC Season.
+
# The League 2 or L2 is the second Event of TCEC Leagues Season.
# For the League 2 Event, engines will be invited by the organizers.
+
# For the League 2 Event, engines will be invited by the organizers before the start of EL.
# League 2 or L2 consists of 8 engines including the promotions from L3.  
+
# League 2 consists of 12 engines including the 4 promotions from EL.  
# It is a 2x double round robin at TC 30'+3" with a sequential varied depth opening book by Eduardo Sauceda (Book C).  
+
# It is a 2x double round robin at TC 30'+3" with a sequential varied depth medium bias opening book.  
 
# Engine order in cutechess at the start will be randomized.
 
# Engine order in cutechess at the start will be randomized.
# The bottom 2 engines relegate and the top 2 promote to League 1.
+
# The bottom 4 engines relegate and the top 4 promote to League 1 (except in case of vacant places, see 1.8).
  
===6. League 1===
+
===4. League 1===
# The League 1 is the fifth Event of TCEC Season.
+
# The League 1 or L1 is the third Event of TCEC Leagues Season.
# For the League 1 Event, engines will be invited by the organizers.
+
# For the League 1 Event, engines will be invited by the organizers before the start of EL.
# League 1 or L1 consists of 8 engines including the promotions from L2.  
+
# League 1 consists of 12 engines including the promotions from L2.
# It is a 2x double round robin at TC 45'+4.5" with a sequential varied depth opening book by Bastiaan Braams (Book D).
+
# Seeding of the playing engines in L1 will be decided by the organizers per result of the last TCEC Swiss Event or by the organizers' choice.
 +
# It is a 2x double round robin at TC 30'+3" with a sequential varied depth high bias opening book.
 
# Engine order in cutechess at the start will be randomized.
 
# Engine order in cutechess at the start will be randomized.
# The bottom 2 engines relegate and the top 2 promote to Premier Division.
+
# The bottom 4 engines relegate and the top 2 promote to Premier Division (except in case of vacant places, see 1.8).
  
===7. Premier Division===
+
===5. Premier Division===
# The Premier Division is the sixth Event of TCEC Season.
+
# The Premier Division or DivP is the fourth Event of TCEC Leagues Season.
# For the Premier League Event, engines will be invited by the organizers.
+
# For the Premier League Event, engines will be invited by the organizers before the start of EL.
# Premier Division or DivP consists of 8 engines including the promotions from L1.
+
# Premier Division consists of 8 engines including the promotions from L1.
# It is a 4x double round robin at TC 60'+6" with a sequential opening book by Nelson Hernandez (Book E).  
+
# Seeding of the playing engines in DivP will be decided by the organizers per result of the last Premier Division Event or by the organizers' choice.
 +
# It is a 4x double round robin at TC 60'+6" with a high bias opening book.  
 
# Engine order in cutechess at the start will be randomized.
 
# Engine order in cutechess at the start will be randomized.
# The top 2 engines promote to the Superfinal and the bottom 2 engines are relegated to League 1.
+
# Except in the case of a tie (see below) the top two engines continue to the Superfinal (SuFi) and the bottom 2 engines are relegated to League 1 (except in case of vacant places, see 1.8).
  
===8.1 Infrafinal===
+
===6. Premier Division Conditional Tiebreak===
# The Infrafinal is the seventh Event of TCEC Leagues and consists of a 50 games head to head contest between the 3rd and 4th place of the Premier Division.
+
# In case the 2 places for the Superfinal are not determined on points after the Premier Division has been completely played, no tiebreak formula shall be used, instead a Conditional Tiebreak between the 2 or more concerning engines shall be played.
# 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).
+
##If one engine finishes clear first of Premier Division and two or more engines are tied for second on points, these latter tied engines shall enter the Conditional Tiebreak and one promotion spot to SuFi will be at stake in it. The other promotion spot to SuFi is awarded to the engine that finished clear first in the Premier Division.  
# The third place finisher of Premier Division takes the black pieces first in every pair of games.
+
##If three or more engines finish tied for first in Premier Division on points, they shall all enter the Conditional Tiebreak and the two promotion spots will be at stake in it.  
# If the match is theoretically won for one side before game 50, the match will still continue until all 50 games have been played.  
+
# One double round robin is played after which the following criteria are used:
# 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", with random openings selected from earlier opening books in the same Season, until a decisive pair takes place and with it a winner is found.
+
##If an engine is clear first on points and there are two promotion spots at stake, this engine promotes to SuFi, is removed from any further round of the Conditional Tiebreak, and there is now only one promotion spot at stake in any further round of the Conditional Tiebreak.
# The winner of the Infrafinal is the official 3rd finishing engine of the TCEC Leagues Event.
+
##Any engine strictly worse on points than the last promotion spot at stake is eliminated from further double round robins in the Conditional Tiebreak.  
 +
# Double round robins are repeated per the above rules until the number of engines not eliminated matches the number of SuFi spots at stake. This(These) engine(s) promote to the SuFi.
 +
# Time Control for the Premier Division Conditional Tiebreak is the same as that of Premier Division: 60'+6"; a similarly high bias book shall be used.
  
===8.2 Superfinal===
+
===7. Superfinal===
# The Superfinal is the eighth and final Event of TCEC Leagues and consists of a 100 games head to head contest between the winner and 2nd place of the Premier Division.
+
# The Superfinal is the sixth and final Event of TCEC Leagues Season and consists of a 100 games head to head contest between the winner and 2nd place of the Premier Division.
# The Superfinal consists of a 2 engine 50DRR, 100 games at TC 120'+12", with a sequential varied depth opening book by Jeroen Noomen (Book F).
+
# The Superfinal consists of a 2 engine 50DRR, 100 games at TC 120'+12", with a very high bias sequential varied depth opening book.
 
# The winner of Premier Division takes the black pieces first in every pair of games.
 
# The winner of Premier Division takes the black pieces first in every pair of games.
 
# The match will still continue until all 100 games have been played, even if the match is theoretically won for one side before game 100.
 
# The match will still continue until all 100 games have been played, even if the match is theoretically won for one side before game 100.
# 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 opening books in the same Season.  
+
# In the case of a drawn match there will be a tiebreak match of 24 games with a time control of 120' + 12" with random openings selected from earlier opening books in the same Season.  
# In case it is still tied there will be sets of Blitz matches of 8 games each with a time control of 3' + 2", with random openings selected from earlier opening books in the same Season, until a winner is found.  
+
# In case it is still tied there will be pairs of games each with a time control of 120' + 12", with random openings selected from earlier opening books in the same Season, until a winner is found.  
 
# When the Superfinal is over, the current Leagues Season ends.
 
# When the Superfinal is over, the current Leagues Season ends.
  
===9. The TCEC Grand Champion===
+
===8. 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 TCEC Season's Superfinal.  
+
# 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 TCEC Leagues Season's Superfinal.  
 
# 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.
 
# 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===
+
===9. Time control===
 
# Different classical time controls will be used throughout the season and the time control is increased as the season progresses.  
 
# Different classical time controls will be used throughout the season and the time control is increased as the season progresses.  
# For the Qualification League, League 4, League 3 and League 2 Events, the time control is 30 minutes + 3 seconds added per move for the whole game.  
+
# For the Entrance League, League 2, and League 1 Events, the time control is 30 minutes + 3 seconds increment added per move for the whole game.  
# For League 1 Event, the time control is 45 minutes + 4.5 seconds added per move for the whole game.
+
# For Premier Division, and Premier Division Playoff, the time control is 60 minutes + 6 increment seconds added per move for the whole game.  
# For Premier Division, the time control is 60 minutes + 6 seconds added per move for the whole game.
+
# For the Superfinal, the time control is 120 minutes + 12 seconds increment added per move for the whole game.
# For the Infrafinal, the time control is 90 minutes + 9 seconds added per move for the whole game.
 
# For the Superfinal, the time control is 120 minutes + 12 seconds added per move for the whole game.
 
  
===11. Game ending===
+
===10. Game ending===
# A game can end in a draw by three-fold repetition, 50-move rule, stalemate, and tablebase adjudication.
+
# A game can end in a draw by three-fold repetition, 50-move rule, stalemate, tablebase adjudication, and the ''TCEC draw rule'' under 6.b..
# A game can be won by mate, opponent's illegal move, opponent's resignation, or by tablebase adjudication.
+
# The improved ''TCEC draw rule'' applies when a game has reached a position with 6 or fewer pieces (including kings, excluding pawns) and where the engine evaluation of the move leading to the position was in [-0.25,0.25]. The game is adjudicated as a draw if the draw rule applies on 8 consecutive plies. The counter resets to 0 in the follwing cases: (1) if the draw rule ceases to apply because of a pawn promotion causing a 7th piece to appear, or (2) an evaluation outside of the [-0.25,0.25] range or the absence of an evaluation by an engine appears. There is no reset for capture or pawn move, and no stipulated minimum move number for adjudication.
# ''Cutechess-cli'' will adjudicate 6-men (or less) endgame positions automatically with Syzygy tablebases.
+
# ''Cutechess-cli'' will adjudicate positions with 6 pieces automatically with Syzygy tablebases.
 +
# A game is won by mate, opponent's illegal move, opponent's resignation, or by tablebase adjudication.
 +
# If an engine loses on time, the result will not be changed or the game replayed.  
  
===12. Tiebreaks===
+
===11. Tiebreaks===
# If necessary, tiebreaks shall be used to determine advancement, based on the final standings of a League or Division. For all Events except Infrafinal and Superfinal, the following criteria will be used, in the order as presented below:
+
# If necessary, tiebreaks shall be used to determine advancement, based on the final standings of a League or Division. For all Events except Qualification League, Infrafinal and Superfinal, the following criteria will be used, in the order as presented below:
 
## In case of engines being tied, then the direct encounter(s) between the tied engines decides first.  
 
## In case of engines being tied, then the direct encounter(s) between the tied engines decides first.  
 +
##The Sonneborn-Berger is the second criterion.
 +
##[[R-Mobility#TCEC|r-mobility]] tiebreak is the third criterion.
 +
##Fourth criterion is greatest number of double wins (winning both sides of a game pair and/or book exit)
 +
##Fifth criterion is lowest average number of moves in won games
 +
##Sixth criterion is highest average number of moves in lost games
 +
## In the unlikely event engines are even then still tied, the Tournament Organizers will decide on promotion or relegation.
 +
# In the Qualification League, Swiss-type tiebreaks shall if necessary be used to determine the final rankings. The following criteria will be used, in the order as presented below:
 +
## The Sonneborn-Berger is the first criterion
 
## [[R-Mobility#TCEC|r-mobility]] tiebreak is the second criterion.
 
## [[R-Mobility#TCEC|r-mobility]] tiebreak is the second criterion.
 
## The third criterion is the greatest number of wins.  
 
## The third criterion is the greatest number of wins.  
## The Sonneborn-Berger is the fourth criterion.  
+
## The fourth criterion is the direct encounter(s) between the tied engines.  
## In the unlikely event engines are even then still tied, the Tournament Organizers will decide on promotion or relegation.
+
## 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.).
 +
# The Conditional Tiebreak after Premier Division is described in section 6 above.
  
===13. Engine Updates===
+
===12. Engine Updates===
# For engines that promote to the next Event, the following rules apply:
+
# Testing will be done and provided to all invited engines; there are three entering slots by invitation:
# 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:
+
## Before start of Entrance League: for all Entrance League, League 2, and League 1 engines.
## No testing will be done and provided, nor is updating allowed, between Qualification League and League 4.
+
## Between League 1 and Premier Division: for all promotions and DivP engines.
## No testing will be done and provided, nor is updating allowed, between League 4 and League 3.
+
## Additional minor updates with minimal testing may be offered by the organizers according to a Season's flowchart.
## Testing will be done and provided, and updating allowed, between League 3 and League 2.
 
## No testing will be done and provided, nor is updating allowed, between League 2 and League 1.
 
## Testing will be done and provided, and updating allowed, between League 1 and Premier Division.
 
## Testing will be done and provided, and updating allowed, between Premier Division and Superfinal.
 
 
# The deadline for engine submission is the last game of the current Event unless the programmer is given a specific deadline from the Tournament Organizers - the goal is to be able to start the next Event as soon as possible without any significant delay.  
 
# The deadline for engine submission is the last game of the current Event unless the programmer is given a specific deadline from the Tournament Organizers - the goal is to be able to start the next Event as soon as possible without any significant delay.  
# Note that despite testing between certain Events will be provided, engine authors update at their own risk.
+
# Although testing between Events will be provided, engine authors update at their own risk.
 
# Once an Event is being played, no updates are allowed during it.
 
# Once an Event is being played, no updates are allowed during it.
  
===14. Engine Ratings===
+
===13. Engine Ratings===
 
# The TCEC engine ratings can be found at https://tcec-chess.com/bayeselo.txt
 
# The TCEC engine ratings can be found at https://tcec-chess.com/bayeselo.txt
 
# 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.  
 
# 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.  
Line 125: Line 118:
 
# New engines are assigned a temporary rating based on testing, until an official rating can be calculated after they played in an Event.
 
# 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===
+
===14. Crashes===
# If an engine loses on time, the result will not be changed or the game replayed.
 
 
# 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:  
 
# 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:  
 
## If the web server crashes, the game continues unaffected, and broadcasting will be resumed as soon as possible;  
 
## If the web server crashes, the game continues unaffected, and broadcasting will be resumed as soon as possible;  
Line 135: Line 127:
 
# Crashes are counted as losses.
 
# Crashes are counted as losses.
 
# 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 changing any other part of the software.
 
# 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 changing any other part of the software.
 
==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.
 
 
#See the FIDE rules in the [https://handbook.fide.com/chapter/E012018 FIDE handbook].
 
#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.''
 
  
 
==Further information==
 
==Further information==

Latest revision as of 00:45, 13 March 2024

TCEC Season - Rules

Rules

1. Season

  1. The Top Chess Engine Championship (TCEC) Season is the premier championship for chess software.
  2. TCEC Leagues Season is a tournament, between engines with ELO 3000+, the main event of a TCEC Season, which further comprises the TCEC Cup, TCEC Swiss and TCEC FRC tournaments.
  3. A TCEC Leagues Season is divided into 6 Events, consisting of three Leagues, the Premier Division, the Premier Division Playoff, and the Superfinal.
  4. Each of the Leagues, the Premier Division, the Premier Dvision Playoff, and the Superfinal, is hereafter called: an Event.
  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, used for updates and testing, and for making sure everything is ok with the TCEC game server as well so as to prepare for the next Event.
  7. Updating engines will only be allowed for promoting engines between Events, never during Events.
  8. Each TCEC Leagues Season starts with all the engines that finished the former Season, placed in the proper Leagues or Division in which they ended up after the Season, including eventual relegations. In case one or more engines are not entered in the next Season after they have participated, these places remain vacant in the Leagues or Division they were placed in. To compensate for this, the organizers will create an adaptation in the number of possible promotions and relegations concerning these Leagues or Division; no engines shall be put in a higher League or Division to fill such a vacant place.
  9. For all TCEC Events, all engines will be (re)invited by the organizers, and can be required to respond to the TCEC Questionnaire.

2. Entrance League

  1. The Entrance League or EL is the first Event of TCEC Leagues Season.
  2. For the Entrance League Event, engines will be invited by the organizers.
  3. The Entrance League consists of 16 engines, including 6 engines seeded from the last completed Swiss Event. The first time the Entrance League format is played, all will be seeded according to last Swiss.
  4. Seeding of the playing engines in EL will be decided by the organizers per result of the last TCEC Swiss Event or by the organizers' choice.
  5. It is a 1x double round robin at TC 30'+3" with a sequential varied depth medium bias opening book.
  6. Engine order in cutechess at the start will be randomized.
  7. The bottom 6 engines relegate and the top 4 promote to League 2 (except in case of vacant places, see 1.8).

3. League 2

  1. The League 2 or L2 is the second Event of TCEC Leagues Season.
  2. For the League 2 Event, engines will be invited by the organizers before the start of EL.
  3. League 2 consists of 12 engines including the 4 promotions from EL.
  4. It is a 2x double round robin at TC 30'+3" with a sequential varied depth medium bias opening book.
  5. Engine order in cutechess at the start will be randomized.
  6. The bottom 4 engines relegate and the top 4 promote to League 1 (except in case of vacant places, see 1.8).

4. League 1

  1. The League 1 or L1 is the third Event of TCEC Leagues Season.
  2. For the League 1 Event, engines will be invited by the organizers before the start of EL.
  3. League 1 consists of 12 engines including the promotions from L2.
  4. Seeding of the playing engines in L1 will be decided by the organizers per result of the last TCEC Swiss Event or by the organizers' choice.
  5. It is a 2x double round robin at TC 30'+3" with a sequential varied depth high bias opening book.
  6. Engine order in cutechess at the start will be randomized.
  7. The bottom 4 engines relegate and the top 2 promote to Premier Division (except in case of vacant places, see 1.8).

5. Premier Division

  1. The Premier Division or DivP is the fourth Event of TCEC Leagues Season.
  2. For the Premier League Event, engines will be invited by the organizers before the start of EL.
  3. Premier Division consists of 8 engines including the promotions from L1.
  4. Seeding of the playing engines in DivP will be decided by the organizers per result of the last Premier Division Event or by the organizers' choice.
  5. It is a 4x double round robin at TC 60'+6" with a high bias opening book.
  6. Engine order in cutechess at the start will be randomized.
  7. Except in the case of a tie (see below) the top two engines continue to the Superfinal (SuFi) and the bottom 2 engines are relegated to League 1 (except in case of vacant places, see 1.8).

6. Premier Division Conditional Tiebreak

  1. In case the 2 places for the Superfinal are not determined on points after the Premier Division has been completely played, no tiebreak formula shall be used, instead a Conditional Tiebreak between the 2 or more concerning engines shall be played.
    1. If one engine finishes clear first of Premier Division and two or more engines are tied for second on points, these latter tied engines shall enter the Conditional Tiebreak and one promotion spot to SuFi will be at stake in it. The other promotion spot to SuFi is awarded to the engine that finished clear first in the Premier Division.
    2. If three or more engines finish tied for first in Premier Division on points, they shall all enter the Conditional Tiebreak and the two promotion spots will be at stake in it.
  2. One double round robin is played after which the following criteria are used:
    1. If an engine is clear first on points and there are two promotion spots at stake, this engine promotes to SuFi, is removed from any further round of the Conditional Tiebreak, and there is now only one promotion spot at stake in any further round of the Conditional Tiebreak.
    2. Any engine strictly worse on points than the last promotion spot at stake is eliminated from further double round robins in the Conditional Tiebreak.
  3. Double round robins are repeated per the above rules until the number of engines not eliminated matches the number of SuFi spots at stake. This(These) engine(s) promote to the SuFi.
  4. Time Control for the Premier Division Conditional Tiebreak is the same as that of Premier Division: 60'+6"; a similarly high bias book shall be used.

7. Superfinal

  1. The Superfinal is the sixth and final Event of TCEC Leagues Season and consists of 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'+12", with a very high bias sequential varied depth opening book.
  3. The winner of Premier Division takes the black pieces first in every pair of games.
  4. The match will still continue until all 100 games have been played, even if the match is theoretically won for one side before game 100.
  5. In the case of a drawn match there will be a tiebreak match of 24 games with a time control of 120' + 12" with random openings selected from earlier opening books in the same Season.
  6. In case it is still tied there will be pairs of games each with a time control of 120' + 12", with random openings selected from earlier opening books in the same Season, until a winner is found.
  7. When the Superfinal is over, the current Leagues Season ends.

8. 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 TCEC Leagues Season's 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.

9. 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 Entrance League, League 2, and League 1 Events, the time control is 30 minutes + 3 seconds increment added per move for the whole game.
  3. For Premier Division, and Premier Division Playoff, the time control is 60 minutes + 6 increment seconds added per move for the whole game.
  4. For the Superfinal, the time control is 120 minutes + 12 seconds increment added per move for the whole game.

10. 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 under 6.b..
  2. The improved TCEC draw rule applies when a game has reached a position with 6 or fewer pieces (including kings, excluding pawns) and where the engine evaluation of the move leading to the position was in [-0.25,0.25]. The game is adjudicated as a draw if the draw rule applies on 8 consecutive plies. The counter resets to 0 in the follwing cases: (1) if the draw rule ceases to apply because of a pawn promotion causing a 7th piece to appear, or (2) an evaluation outside of the [-0.25,0.25] range or the absence of an evaluation by an engine appears. There is no reset for capture or pawn move, and no stipulated minimum move number for adjudication.
  3. Cutechess-cli will adjudicate positions with 6 pieces automatically with Syzygy tablebases.
  4. A game is won by mate, opponent's illegal move, opponent's resignation, or by tablebase adjudication.
  5. If an engine loses on time, the result will not be changed or the game replayed.

11. 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 Qualification League, Infrafinal and 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. The Sonneborn-Berger is the second criterion.
    3. r-mobility tiebreak is the third criterion.
    4. Fourth criterion is greatest number of double wins (winning both sides of a game pair and/or book exit)
    5. Fifth criterion is lowest average number of moves in won games
    6. Sixth criterion is highest average number of moves in lost games
    7. In the unlikely event engines are even then still tied, the Tournament Organizers will decide on promotion or relegation.
  2. In the Qualification League, Swiss-type tiebreaks shall if necessary 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.).
  3. The Conditional Tiebreak after Premier Division is described in section 6 above.

12. Engine Updates

  1. Testing will be done and provided to all invited engines; there are three entering slots by invitation:
    1. Before start of Entrance League: for all Entrance League, League 2, and League 1 engines.
    2. Between League 1 and Premier Division: for all promotions and DivP engines.
    3. Additional minor updates with minimal testing may be offered by the organizers according to a Season's flowchart.
  2. The deadline for engine submission is the last game of the current Event unless the programmer is given a specific deadline from the Tournament Organizers - the goal is to be able to start the next Event as soon as possible without any significant delay.
  3. Although testing between Events will be provided, engine authors update at their own risk.
  4. Once an Event is being played, no updates are allowed during it.

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

14. Crashes

  1. 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.
  2. Crashes are counted as losses.
  3. 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 changing any other part of the software.

Further information

See also