# Top Chess Engine Championship

Top Chess Engine Championship, formerly known as Thoresen Chess Engines Competition (TCEC or nTCEC), is a computer chess tournament that has been run since 2010. It was organized, directed, and hosted by Martin Thoresen until the end of Season 6; from Season 7 onward it has been organized by Chessdom. It is often regarded as the Unofficial World Computer Chess Championship because of its strong participant line-up and long time-control matches on high-end hardware, giving rise to very high-class chess. The tournament has attracted nearly all the top engines compared to the World Computer Chess Championship.
After a short break in 2012, TCEC was restarted in early 2013 (as nTCEC) and is currently active (renamed as TCEC in early 2014) with 24/7 live broadcasts of chess matches on its website.
Since season 5, TCEC has been sponsored by Chessdom Arena.

## Overview
### Basic structure of competition

The TCEC competition is divided into seasons, where each season happens over a course of a few months, with matches played round-the-clock and broadcast live over the internet. Each season is divided into several tournaments: a Leagues Season, a Cup, a Swiss tournament, a Fischer Random Chess tournament. Additionally, seasons contain various bonus contests, like the 'Viewer Submitted Opening Bonus'.
Prior to season 21, there was originally one tournament in each season. This tournament consisted of several qualifying stages and one "superfinal", and the winner of the superfinal is called the "TCEC Grand Champion" until the next season. Prior to season 11, the tournament used a cup format, while starting in Season 11, the tournament used a division system. Starting in season 13, there was also a cup tournament consisting of the top 32 engines in the main tournament, resulting in a 5-round single elimination tournament.

### Engine settings/characteristics

Pondering is set to off. All engines run on Linux on the same hardware and use the same opening book, which is set by the organizers and changed in every stage. Large pages are enabled, and access to endgame tablebases including Syzygy 7-men is permitted. Engines are allowed updates between stages; if there is a critical play-limiting bug, they are also allowed to be updated once during the stage. In previous seasons, if an engine crashes 3 times in one event, it is disqualified to avoid distorting the results for the other engines; however, starting in TCEC Season 20, an engine is allowed to crash any number of times without being disqualified from the current event, although the engine will still be disqualified from future events unless the crash is fixed. TCEC generates an Elo rating list from the matches played during the tournament. An initial rating is given to any new participant based on its rating in other chess engine rating lists.

### Criteria for entering the competition

There is no definite criterion for entering into the competition, other than inviting the top participants under active development from various rating lists which can run on their Linux platform. Originally, TCEC used Windows instead of Linux. In addition, either XBoard or UCI protocol are required to participate.
Usually chess engines that support multiprocessor mode are preferred (8-cores or higher), and engines in active development are given preference. Since TCEC 12, engines like LCZero which use GPUs for neural processing were supported.
Initially, the list of participants was personally chosen by Thoresen before the start of a season. His stated goal was to include "every major engine that is not a direct clone". In TCEC 13, DeusX was banned due to being a clone of Leela, and in TCEC 20, Houdini, Fire, Rybka (engine in Fritz up to TCEC 16), and Critter were banned due to allegations of plagiarism.

## Tournament results

The number within the brackets denote the number of times the engine has won the particular competition.

### TCEC Seasons

| Season | Date | TCEC Grand Champion | Elite match/Superfinal score | Runner-Up |
| TCEC Season 1 | Dec 2010 – Feb 2011 | Houdini 1.5a (1)$^1$ | + 12 = 23 - 5 | Rybka 4.0 |
| TCEC Season 2 | Feb – Apr 2011 | Houdini 1.5a (2) | + 9 = 26 - 5 | Rybka 4.1 |
| TCEC Season 3 | Apr – May 2011 | N/A (season not completed) | N/A (season not completed) | N/A (season not completed) |
| TCEC Season 4$^2$ | Jan – May 2013 | Houdini 3 (3) | + 6 = 38 - 4 | Stockfish 250413 |
| TCEC Season 5$^3$ | Aug – Dec 2013 | Komodo 1142 (1) | + 10 = 30 - 8 | Stockfish 191113 |
| TCEC Season 6 | Feb – May 2014 | Stockfish 170514 (1) | + 13 = 45 - 6 | Komodo 7x |
| TCEC Season 7$^4$ | Sep – Dec 2014 | Komodo 1333 (2) | + 7 = 53 - 4 | Stockfish 141214 |
| TCEC Season 8 | Aug – Nov 2015 | Komodo 9.3x (3) | + 9 = 89 - 2 | Stockfish 021115 |
| TCEC Season 9 | May – Dec 2016 | Stockfish 8 (2) | + 17 = 75 - 8 | Houdini 5 |
| TCEC Season 10 | Oct – Dec 2017 | Houdini 6.03 (4)$^1$ | + 15 = 76 - 9 | Komodo 1970.00 |
| TCEC Season 11 | Jan – Apr 2018 | Stockfish 260318 (3) | + 20 = 78 - 2 | Houdini 6.03 |
| TCEC Season 12 | Apr – Jul 2018 | Stockfish 180614 (4) | + 29 = 62 - 9 | Komodo 12.1.1 |
| TCEC Season 13 | Aug – Nov 2018 | Stockfish 18102108 (5) | + 16 = 78 - 6 | Komodo 2155.00 |
| TCEC Season 14 | Nov 2018 – Feb 2019 | Stockfish 190203 (6) | + 10 = 81 - 9 | LCZero v0.20.2-32930 |
| TCEC Season 15 | Mar – May 2019 | LCZero v0.21.1-nT40.T8.610 (1) | + 14 = 79 - 7 | Stockfish 19050918 |
| TCEC Season 16 | Jul – Oct 2019 | Stockfish 19092522 (7) | + 14 = 81 - 5 | AllieStein v0.5-dev_7b41f8c-n11 |
| TCEC Season 17 | Jan – Apr 2020 | LCZero v0.24-sv-t60-3010 (2) | + 17 = 71 - 12 | Stockfish 20200407DC |
| TCEC Season 18 | May – Jul 2020 | Stockfish 202006170741 (8) | + 23 = 61 - 16 | LCZero v0.25.1-svjio-t60-3972-mlh |
| TCEC Season 19 | Aug – Oct 2020 | Stockfish 202009282242_nn-baeb9ef2d183 (9) | + 18 = 73 - 9 | LCZero v0.26.3-rc1_T60.SV.JH.92-190 |
| TCEC Season 20 | Dec 2020 – Feb 2021 | Stockfish 20210113 (10) | + 14 = 78 - 8 | LCZero 0.27.0d-Tilps-dje-magic_JH.94-100 |
| TCEC Leagues Season 21 | May – Aug 2021 | Stockfish 14_202107131735 (11) | + 19 = 74 - 7 | LCZero 0.28-dev+_69626 |
| TCEC Leagues Season 22 | Jan – Apr 2022 | Stockfish dev15_20220401 (12) | + 28 = 63 - 9 | KomodoDragon 2894.00 |
| TCEC Leagues Season 23 | Aug – Nov 2022 | Stockfish dev16_20221027 (13) | + 27 = 63 - 10 | LCZero 0.30-dag-9a9c42d |
| TCEC Leagues Season 24 | Feb – Apr 2023 | Stockfish dev-20230409 (14) | + 20 = 64 - 16 | LCZero 0.30-dag-a9b25c2b |
| TCEC Leagues Season 25 | Aug – Oct 2023 | Stockfish dev-20231010 (15) | + 27 = 50 - 23 | LCZero 0.31-dag-e429eeb-BT3 |
| TCEC Leagues Season 26 | May – Jun 2024 | Stockfish dev-20240513 (16) | + 31 = 52 - 17 | LCZero 0.31-dag-5350a2e-BT4 |
| TCEC Leagues Season 27 | Oct 2024 – Jan 2025 | Stockfish dev-20241208 (17) | + 35 = 47 - 18 | LCZero 0.31-dag-f7fb268-BT4 |
    $^1$ Houdini has been disqualified since season 20 and its results in previous seasons, except those of Houdini 4 and earlier versions, have been nullified.
    $^2$ Originally named "nTCEC Season 1".
    $^3$ Originally named "nTCEC Season 2".
    $^4$ Season 7 did not use endgame table bases at all and Stage two did not use opening books either.

### TCEC Cups

| Tournament | Date | Winner | Finals score | Runner-up |
| TCEC Cup 1 | Oct 2018 | Stockfish 270918 (1) | + 1 = 7 - 0 | Houdini 6.03 |
| TCEC Cup 2 | Jan 2019 | LCZero v0.20.1-32742 (1) | + 1 = 7 - 0 | Houdini 6.03 |
| TCEC Cup 3 | May 2019 | LCZero v0.21.1-nT40.T6.532 (2) | + 2 = 7 - 1 | Stockfish 19042711 |
| TCEC Cup 4 | Oct 2019 | Stockfish 19100908 (2) | + 1 = 7 - 0 | LCZero v0.22.0-nT2 |
| TCEC Cup 5 | Apr 2020 | Stockfish 202004181536 (3) | + 1 = 3 - 0 | LCZero v0.24-sv-t60-3010 |
| TCEC Cup 6 | Jul 2020 | AllieStein v0.7_dev2-net_15.0 (1) | + 1 = 3 - 0 | LCZero v0.26.0_sv-t60-4229-mlh_opt2 |
| TCEC Cup 7 | Nov 2020 | Stockfish 2020102823_nn-2eb2e0707c2b (4) | + 1 = 3 - 0 | LCZero v0.26.3_T60.SV.JH.92-270 |
| TCEC Cup 8 | Feb 2021 | Stockfish 202102202249 (5) | + 1 = 7 - 0 | LCZero 0.27.0-pr1509_JH.94-100 |
| TCEC Cup 9 | Oct 2021 | Stockfish dev15_20211015 (6) | + 1 = 3 - 0 | LCZero 0.28-dev+_609958 |
| TCEC Cup 10 | May 2022 | Stockfish dev16_2022051413 (7) | + 2 = 9 - 1 | KomodoDragon 3 |
| TCEC Cup 11 | Jan 2023 | LCZero 0.30-dag-dcb4ece9-BT2-3250000 (3) | + 2 = 13 - 1 | Stockfish dev16_202301021914 |
| TCEC Cup 12 | Jul 2023 | Stockfish dev-20230713 (8) | + 10 = 9 - 9 | LCZero 0.31-dag-dd64c7e-T1 |
| TCEC Cup 13 | Mar 2024 | Stockfish dev-20240217 (9) | + 4 = 17 - 1 | LCZero 0.31-dag-5c1051f-BT4 |
| TCEC Cup 14 | Oct 2024 | Stockfish dev-20240928 (10) | + 12 = 13 - 11 | LCZero 0.31-dag-4167c1e-BT4 |

### TCEC Swiss

| Tournament | Date | Winner | Runner-up |
| TCEC Swiss 1 | Apr 2021 | KomodoDragon 2679.08 (1) | Stockfish 20210310 |
| TCEC Swiss 2 | Nov – Dec 2021 | KomodoDragon 2.5.1 (2) | Stockfish 14.1_20211101 |
| TCEC Swiss 3 | May – Jul 2022 | Stockfish dev16_20220521 (1) | LCZero 0.30-dev+_783363 |
| TCEC Swiss 4 | Jan – Feb 2023 | Stockfish dev-20230114 (2) | LCZero 0.30-dag-6b5f9451, KomodoDragon 3.2 |
| TCEC Swiss 5 | Jun - Jul 2023 | Stockfish dev-20230614 (3) | LCZero 0.31-dag-dd64c7e-T1 |
| TCEC Swiss 6 | Jan – Feb 2024 | LCZero 0.31-dag-a487796-BT3 (1) | Stockfish dev-20240114 |
| TCEC Swiss 7 | Sep 2024 | LCZero 0.31-dag-321205e-BT4 (2) | Stockfish 17 |

### TCEC FRC (Fischer Random Chess)

| Tournament | Date | Winner | Final/Superfinal score | Runner-up |
| TCEC FRC 1 | Oct – Nov 2019 | Stockfish 191107 (1) | + 10 = 10 - 0 | AllieStein v0.5_c328142-n11.1 |
| TCEC FRC 2 | Nov 2020 | Stockfish 202011101829_nn-c3ca321c51c9 (2) | + 8 = 42 - 0 | LCZero v0.26.3_T60.SV.JH.92-330 |
| TCEC FRC 3 | Mar 2021 | KomodoDragon 2671.00 (1) | + 2 = 47 - 1 | Stockfish 20210226 |
| TCEC FRC 4 | Dec 2021 – Jan 2022 | Stockfish dev15_2021121915 (3) | + 13 = 28 - 9 | LCZero 0.29-dev+_610826 |
| TCEC FRC 5 | Jul 2022 | Stockfish dev16_20220705 (4) | + 17 = 20 - 13 | LCZero 0.30-dag-bord_784038 |
| TCEC FRC 6 | May 2023 | Stockfish dev-20230507 (5) | + 15 = 23 - 12 | LCZero 0.31-dag-1f90473-T1 |

### TCEC DFRC / FRD (double Fischer Random Chess)

In DFRC, the start positions of the pieces are randomized independently for both players. In FRD, which has superseded both FRC and DFRC, the qualifying rounds are played in the Fischer Random System and the finals in the double Fischer Random System.
| Tournament | Date | Winner | Final score | Runner-up |
| TCEC DFRC 1 | Jul – Aug 2022 | Stockfish dev16_202207131801 (1) | + 18 = 23 - 9 | LCZero 0.30-dag-bord-dfrc_784038 |
| TCEC DFRC 2 | May - Jun 2023 | Stockfish dev-20230528 (2) | + 10 = 33 - 7 | LCZero 0.31-dag-590cd9ba-T1 |
| TCEC FRD 1 | Nov - Dec 2023 | Stockfish dev-20231116 (3) | + 11 = 29 - 10 | LCZero 0.31-dag-a487796-BT3 |
| TCEC FRD 2 | Jun - Jul 2024 | Stockfish dev-20240612 (4) | + 20 = 16 - 14 | LCZero 0.31-dag-5350a2e-BT4 |
| TCEC FRD 3 | Feb 2025 | Stockfish dev-20250126 (5) | + 13 = 25 - 12 | LCZero 0.31-dag-c93c6a8-BT4 |

### TCEC 4k

Engines are limited to 4 KiB (4,096 bytes) in program size.
| Tournament | Date | Winner | Final score | Runner-up |
| TCEC 4kI | Dec 2022 | ice4 9e94b82 | 45.5/48 (RR) | 4ku 1.0 |
| TCEC 4kII | May 2023 | ice4 v3 | + 5 = 15 - 4 | 4ku 3.0 |
| TCEC 4kIII | Dec 2023 – Jan 2024 | 4ku 4.0 | + 13 = 30 - 7 | ice4 4 |
| TCEC 4kIV | Aug 2024 | ice4 5 | + 29 = 20 - 1 | 4ku 5.0 |

### Other TCEC tournaments

| Tournament | Date | Winner | Runner-up |
| TCEC Season 6 FRC | Jun – Jul 2014 | Stockfish 260614 | Houdini 4 |
| TCEC Season 9 Rapid$^1$ | Sep 2016 | Houdini 200716 | Komodo 1692.19 |
| TCEC Season 10 Rapid | Dec 2017 | Stockfish 051117 | Houdini 6.03 |
| TCEC Season 10 Blitz | Dec 2017 | Komodo 1959.00 | Stockfish 051117 |
| TCEC Season 23 Chess Bonus | Aug 2022 | Stockfish dev16_202208061357 | KomodoDragon 3.1 |
    $^1$ Double round robin tournament.