# Top Chess Engine Championship

Le Top Chess Engine Championship (précédemment Thoresen Chess Engines Competition) abrégé en TCEC ou nTCEC est un tournoi de programmes d'échecs, fondé par Martin Thoresen, désormais organisé par Chessdom. Ce tournoi est souvent considéré comme le Championnat du monde non officiel des programmes d'échecs en raison de la force des participants, de la cadence lente des parties et du matériel haut de gamme utilisé, qui donnent lieu à des échecs de très haut niveau$^,$.
La première édition du TCEC a eu lieu en 2010. Après un court arrêt en 2012, la compétition recommence au début 2013. Elle est actuellement active et consultable en live sur Internet. La saison actuelle est sponsorisée par Chessdom Arena.
L'actuel champion du TCEC est Stockfish, qui a battu LCZero 52 à 48 lors de la super-finale de la saison 22 en février 2022.

## Palmarès

| Saison | Date | Vainqueur | version | Vainqueur | version | Finaliste | version | Finaliste | version | score superfinale |
| Saison 1 | déc. – fév. 2011 | Houdini | 1.5a | Rybka | 4.0 | 23,5 - 16,5 |
| Saison 2 | fév. – avr. 2011 | Houdini | 1.5a | Rybka | 4.1 | 22 - 18 |
| Saison 3 | avr. – mai 2011 | Saison non complétée | Saison non complétée | Saison non complétée | Saison non complétée | Saison non complétée |
| Saison 4 | janv. – mai 2013 | Houdini | 3 | Stockfish | 250413 | 25 - 23 |
| Saison 5 | août – déc. 2013 | Komodo | 1142 | Stockfish | 191113 | 25 - 23 |
| Saison 6 | fév. – mai 2014 | Stockfish | 170514 | Komodo | 7x | 38,5 - 28,5 |
| Saison 6 Chess960 | juin – juill. 2014 | Stockfish | 260614 | Houdini | 4 | |
| Saison 7 | sept. – déc. 2014 | Komodo | 1333 | Stockfish | 141214 | 33,5 - 30,5 |
| Saison 8 | août – nov. 2015 | Komodo | 9.3x | Stockfish | 021115 | 53,5 - 46,5 |
| Saison 9 | mai – déc. 2016 | Stockfish | 8 | Houdini | 5 | 54,5 - 45,5 |
| Saison 10 | oct. – déc. 2017 | Houdini | 6.03 | Komodo | 1970 | 53 - 47 |
| Saison 10 (rapide) | déc. 2017 | Stockfish | 051117 | / | | |
| Saison 10 (blitz) | déc. 2017 | Komodo | 1959 | / | | |
| Saison 11 | janv. – avr. 2018 | Stockfish | 260318 | Houdini | 6.03 | 59 - 41 |
| Saison 12 | avr. – juill. 2018 | Stockfish | 180614 | Komodo | 12.1.1 | 60 - 40 |
| Saison 13 | août – nov. 2018 | Stockfish | 18102108 | Komodo | 2155.00 | 55 - 45 |
| Saison 14 | nov. 2018 – fév. 2019 | Stockfish | 190203 | LCZero | v20.2-32930 | 50,5 - 49,5 |
| Saison 15 | mars – mai 2019 | LCZero | v0.21.1-nT40.T8.610 | Stockfish | 19050918 | 53,5 - 46,5 |
| Saison 16 | juill. – oct. 2019 | Stockfish | 19092522 | AllieStein | v0.5-dev_7b41f8c-n11 | 54,5 - 44,5 |
| Saison 17 | janv. – avr. 2020 | LCZero | v0.24-sv-t60-3010 | Stockfish | 20200407 | 52,5 - 47,5 |
| Saison 18 | mai – juill. 2020 | Stockfish | 20200617 | LCZero | v0.25.1-svjio-t60-3972-mlh | 53,5 - 46,5 |
| Saison 19 | août – oct. 2020 | Stockfish | 202009282242_nn-baeb9ef2d183 | LCZero | v0.26.3-rc1_T60.SV.JH.92-190 | 54,5 - 45,5 |
| Saison 20 | nov. 2020 – fév. 2021 | Stockfish | 20210113 | LCZero | 0.27.0d-Tilps-dje-magic_JH.94-100 | 53 - 47 |
| Saison 21 | avr. – août 2021 | Stockfish | 14_202107131735 | LCZero | 0.28-dev+_69626 | 56 - 44 |
| Saison 22 | janv. – avr. 2022 | Stockfish | dev15_20220401 | KomodoDragon | 2894.00 | 59,5 - 40,5 |
| Saison 23 | août – nov. 2022 | Stockfish | dev16_20221027 | LCZero | 0.30-dag-9a9c42d_784968 | 58,5 - 41,5 |
| Saison 24 | janv. – avr. 2023 | Stockfish | dev-20230409-b36d39de | LCZero | 0.30-dag-a9b25c2b-BT2-3650000 | 52 - 48 |
| Saison 25 | juin – oct. 2023 | Stockfish | dev-20231010-00263636 | LCZero | 0.31-dag-e429eeb-BT3-2790000 | 52 - 48 |
| Saison 26 | mai - juin 2024 | Stockfish | dev-20240513-e608eab8 | LCZero | 0.31-dag-5350a2e-BT4-6147500 | 57 - 43 |
| Saison 27 | oct. 2024 - janv. 2025 | Stockfish | dev-20241208-cf10644d | LCZero | 0.31-dag-f7fb268-BT4-6147500-it332 | 58,5 - 41,5 |

## Présentation

Le Top Chess Engine Championship est divisé en Saisons qui se déroulent sur quelques mois. Les parties sont jouées autour d'une pendule et transmises en direct sur Internet. Chaque saison est divisée en quatre stages de qualification et une super-finale lors de laquelle les deux moteurs les plus performants se rencontrent en un match de 64 parties. À l'issue de cette super-finale, le titre de Grand Champion du TCEC est décerné.
La cadence de toutes les phases est de 120 min + 30 s/coup pour la partie entière et les calculs du moteur qui n'a pas le trait sont désactivés. La bibliothèque d'ouvertures, tronquée aux 6 à 8 premiers coups, est issue d'un tournoi récent de GMI et change à chaque saison. Il est autorisé de mettre à jour les moteurs entre les stages. Le TCEC génère son propre classement Elo en fonction des matchs joués lors du tournoi. Un classement Elo initial est donné à chaque nouveau participant qui tient compte d'autres classements Elo en vigueur sur les circuits.
Il n'y a pas de critère défini pour entrer dans la compétition hors la cooptation des participants passés selon diverses listes Elo. La liste des participants est finalement choisie par Thoresen avant le début de chaque nouvelle saison, ce dernier indiquant avoir pour but d'inclure tout moteur majeur n'étant pas un clone. En général, les moteurs supportant les multiprocesseurs sont préférés (8 core ou plus). Winboard et UCI sont acceptés. Il est permis d’accéder aux tablebases.
| Stage | Informations Générales |
| Stage 1 | Le stage 1 est divisé entre deux groupes de 14 moteurs chacun. Chaque groupe dispute un tournoi toutes rondes et les 7 premiers de chaque groupe sont qualifiés pour le stage 2 |
| Stage 2 | Le stage 2 en un tournoi toutes rondes entre les 14 moteurs issus du Stage 1. Aucun répertoire n'est utilisé. Les 8 premiers sont qualifiés pour le stage 3. |
| Stage 3 | Le stage 3 consiste en tournoi de 8 moteurs à quatre tours dans lequel chaque moteur joue la même ouverture avec chacune des couleurs deux fois. Les quatre premiers sont qualifiés pour le stage 4. |
| Stage 4 | Le stage 4 est un tournoi de 4 moteurs à 12 tours dans lequel les ouvertures sont choisies au hasard (chaque moteur jouera la même ouverture avec les Blancs et avec les Noirs). Les deux premiers sont qualifiés pour la Super-finale. |
| Super-finale | Les deux moteurs finalistes disputent un match de 64 parties avec 32 ouvertures différentes jouées une fois avec les Blancs, une fois avec les Noirs. Le match est joué dans l'entièreté des 64 matchs même si l'un des participants s'est détaché. En cas d'égalité, un match de 16 parties à cadence rapide est joué (25 min + 10 s par coup). Si les moteurs égalisent à nouveau un match de 8 parties en cadence blitz (3 min + 2 s par coup) est organisé. Lorsque la super-finale est terminée, la saison en cours est finie. |

### Changement de format depuis la Saison 11

À partir de la saison 11, la compétition adopte un système de ligues, avec montées/descentes.
Il y a alors 5 ligues de 8 moteurs d'échecs (divisions 4,3,2,1 et Premier par niveau croissant). Les placements initiaux des programmes ont été déterminés au vu des résultats des éditions précédentes, les nouveaux moteurs étant testés pour déterminer leur force. Une fois les parties de chaque division terminées, les deux meilleurs programmes de la division Premier s'affrontent lors de la super-finale, comportant 100 parties. Au 4 avril 2018, celle-ci oppose Stockfish à Houdini.
À partir de la saison 16, les ligues 3 et 4 sont supprimées et une ligue de qualification va être créée. La ligue 3 est réintroduite pour la saison 18 et la ligue 4 pour la saison 20.
Il y a donc, pour la saison 20, six ligues (qualification, 4, 3, 2, 1 et Premier, par niveau croissant)

## Règles d'arbitrage

Une partie peut être déclarée nulle lorsqu'une même position se répète 3 fois, lorsque aucune prise n'a lieu pendant 50 coups, lorsque les évaluations des moteurs sont comprises entre +0.05 et -0.05 lors des 5 derniers coups à partir du quarantième coup. S'il y a une avance de pion ou une capture quelconque, cette condition spéciale de nulle se ré-initialise. Sur le Live, cette règle est manifestée par « Distance in plies to TCEC draw rule ». Le gain est déclaré si les deux moteurs évaluent à +6.50 / -6.50 pendant 4 coups consécutifs. Cette règle est valable dès le début de la partie. Sur le Live, cela est indiqué par « Distance in plies to TCEC win rule ». L'arbitrage se fonde automatiquement sur les résultats des tables de finale (7 pièces).

## Saison 11 (2018)

La saison 11 se déroule du 3 janvier 2018 et est en cours (au 4 avril 2018). Les sponsors de l’événement sont Chessdom.com et ChessArena.com. Chaque partie est retransmise en Live, les unes à la suite des autres, 7 jours/7 et 24 heures/24. Il s'agit de la première saison avec le système de ligues.

### Phase de matchs de ligues

Du 3 janvier au 27 mars 2018, les matchs des 5 ligues, commençant par la plus faible
* TCEC Saison 11, Division 4 : quad-round robin, 30 min+10 s/coup (en gras : Promus en division 3) :
* Defenchess 271217
* Senpai 2.0
* Pedone 1.7
* Ethereal 8.67
* ChessBrainVB 3.61
* Toga II 4.1
* The Baron 3.41
* Scorpio 2.79
* TCEC Saison 11, Division 3 : quad round robin, 30 min+10 s/coup (en gras : promus en division 2) :
* Fritz 16
* Laser 1.5
* Nemorino 4.01
* Pedone 1.7
* Defensechess 271217
* Senpai 2.0
* ChessBrainVB 3.61
* Ethereal 8.77
* TCEC Saison 11, Division 2 : quad round robin, 45 min+10 s/coup (en gras : promus en division 1) :
* Jonny 8.1
* Laser 1.5
* Texel 1.08a8
* Arasan 20.8.1
* Fritz 16
* Vajolet2 2.5
* Bobcat 8
* Wasp TCEC S11
* TCEC Saison 11, Division 1 : octo round robin, 60 min+10 s/coup (en gras : promus en division P) :
* Andscacs 0.93
* Fizbo 2
* Booot 6.2
* Jonny 8.1
* Gull 3
* Laser 1.5
* Hannibal 121017
* Nirvana 2.4
* TCEC Saison 11, Division P : hexadéca round robin, 90 min+10 s/coup (en gras : qualifiés pour la super-finale) :
* Stockfish 100218
* Houdini 6.03
* Komodo 2012
* Fire 020718
* Chiron 110218
* Andscacs 0.93
* Fizbo 2
* Ginkgo 2.03

### Super-finale

Il s'agit d'un match en 100 parties entre les deux premiers de la division P. Les deux finalistes jouent 50 ouvertures différentes une fois avec les Blancs, une autre avec les Noirs. La cadence est de 120 min + 15 s/coup pour toute la partie. Les 100 parties sont effectivement jouées même si un vainqueur se dessine avant le terme. En cas d'égalité, un match de 16 parties à la cadence de 25 min + 10 s/coup puis, si nécessaire, un match de 8 parties à la cadence de 3 min + 2 s/coup constituent le départage. La saison se finit lorsque la Super-finale est terminée.