Chapitre 5 — Guide Comment fonctionne l'algorithme d'appariement FIDE Dutch : critères C1-C19 simplifiés, groupes de score, couleurs, flotteurs. Mis à jour pour les règles FIDE 2026. Inclut un guide du fichier TRF.
Chaque fois que vous cliquez sur « Générer les appariements » dans un tournoi suisse, un algorithme sophistiqué s'exécute en millisecondes en coulisses. Comprendre comment il fonctionne ne satisfera pas seulement votre curiosité — cela vous aidera à expliquer les appariements « inhabituels » aux joueurs, à éviter les erreurs de configuration courantes et à tirer le meilleur parti de votre logiciel d'appariement. Ce chapitre démystifie le système Dutch FIDE, mis à jour pour les règles en vigueur depuis le 1er février 2026.
Aux tout débuts des tournois d'échecs, les arbitres appariaient les joueurs à la main — souvent avec un tableau physique et des jetons colorés. Pour 8 joueurs sur 5 rondes, c'est gérable. Pour 200 joueurs sur 9 rondes, c'est un cauchemar logistique qui prend des heures et est sujet aux erreurs.
Plus important encore, l'appariement manuel introduit des biais. Un arbitre qui connaît les joueurs pourrait (consciemment ou non) créer des confrontations « intéressantes », favoriser certains joueurs ou éviter certaines combinaisons. Un algorithme est déterministe et transparent : avec la même entrée, il produit toujours le même résultat, et quiconque peut vérifier le résultat.
Le système Dutch FIDE n'est pas une règle unique — c'est une hiérarchie ordonnée de critères. L'algorithme essaie de satisfaire les critères de plus haute priorité d'abord, et ne relâche les critères de priorité inférieure que lorsqu'il n'y a pas d'autre moyen de compléter les appariements de la ronde.
Le 1er février 2026, la FIDE a mis en vigueur une version révisée des règles d'appariement suisse (C.04.1, C.04.2, C.04.3). Les changements sont principalement des clarifications et une renumérotation, mais ils comptent pour tout événement homologué FIDE à partir de cette date :
| Domaine | Avant fév. 2026 | À partir de fév. 2026 |
|---|---|---|
| Numérotation des critères | Divers codes lettres/chiffres (A1, B1…) | Séquence unifiée C1–C19 |
| Attribution des couleurs | Quelques ambiguïtés dans les cas limites | Règles explicites pour tous les cas limites |
| Parties non jouées | Traitées comme victoire complète pour l'historique des couleurs | Traitées comme ½ point pour les couleurs et le Buchholz |
| Système Burstein | Décrit dans C.04.4 | Reste dans C.04.4, clarifications mineures |
| Système double suisse | — | Nouveau : C.04.5 (deux tableaux suisses parallèles) |
| Accélération Bakou | C.04.5 | Renuméroté C.04.7 |
L'idée fondamentale du système suisse est simple : les joueurs ayant le même score s'affrontent. Un groupe de score est l'ensemble de tous les joueurs ayant le même nombre de points à un moment donné du tournoi.
Au sein de chaque groupe de score, les joueurs sont classés par leur tête de série (généralement basée sur leur classement d'avant-tournoi). Le groupe est ensuite divisé en deux moitiés : la moitié supérieure (joueurs mieux classés) et la moitié inférieure (joueurs moins bien classés). Le joueur 1 de la moitié supérieure affronte le joueur 1 de la moitié inférieure, le joueur 2 affronte le joueur 2, et ainsi de suite.
Après la ronde 1, les groupes de score se divisent. Les joueurs ayant gagné (1,0 point) forment le groupe supérieur. Les joueurs ayant fait nulle (0,5) forment le groupe intermédiaire. Les joueurs ayant perdu (0,0) forment le groupe inférieur. L'algorithme essaie ensuite d'apparier au sein de chaque groupe — mais les choses se compliquent rapidement, comme nous le verrons à la Ronde 2.
Le système Dutch FIDE définit 19 critères, ordonnés par priorité. Lors de la génération des appariements pour un groupe de score, l'algorithme essaie de trouver un appariement qui satisfait le plus grand nombre de critères de haute priorité possible. Si satisfaire C3 signifie violer C7, il choisit C3 — sauf si C3 est lui-même remplacé par C1 ou C2.
Voici les critères les plus importants expliqués en langage simple :
L'algorithme n'optimise pas pour « la meilleure confrontation d'échecs » — il optimise pour le respect de la hiérarchie des critères. Parfois, cela produit des appariements qui semblent étranges aux joueurs. La section 9 de ce chapitre explique les scénarios d'« appariement étrange » les plus courants.
L'attribution des couleurs est l'une des parties les plus mal comprises de l'appariement suisse. Les joueurs ont souvent l'impression de recevoir trop de Noirs — et parfois ils ont raison, mais généralement l'algorithme fait exactement ce que les règles exigent.
Un joueur a une préférence de couleur si son historique de couleurs est déséquilibré (plus de Blancs que de Noirs ou vice versa). Il a un droit de couleur s'il a eu deux parties consécutives de la même couleur — dans ce cas, il doit recevoir la couleur opposée ensuite, sauf s'il est impossible d'apparier la ronde.
Lorsque deux joueurs avec des droits de couleur conflictuels sont appariés ensemble, l'algorithme doit enfreindre la règle pour l'un d'entre eux. Il choisit le joueur avec la revendication la plus faible — typiquement celui dont la séquence de couleurs a été moins déséquilibrée dans l'ensemble.
À la Ronde 1, tous les joueurs ont un historique de couleurs égal (aucun). Les couleurs sont attribuées selon un principe général : le joueur mieux classé (dans la moitié supérieure) reçoit les Blancs, le joueur moins bien classé reçoit les Noirs. C'est pourquoi dans le Mémorial Alekhine, Fischer (S1) joue les Blancs et Spassky (S5) joue les Noirs.
Lorsqu'un groupe de score a un nombre impair de joueurs, un joueur ne peut pas être apparié au sein du groupe et doit être déplacé. Ce joueur est appelé un flotteur.
Un flotteur descendant est déplacé vers le groupe de score inférieur suivant (e.g., from the 3.0-point group vers le groupe à 2,5 points). Un flotteur montant est le joueur du groupe inférieur qui reçoit cet « invité » venant d'en haut.
L'algorithme essaie de minimiser le flottement (critères C4–C5). Lorsque le flottement est inévitable, il suit des règles spécifiques sur qui flotte : le joueur le moins bien classé du groupe de score est le flotteur descendant préféré, sauf si ce joueur a déjà descendu à la ronde précédente ou a une revendication de couleur particulièrement forte qui rend l'appariement dans le groupe inférieur impossible.
Après la Ronde 1 : Fischer, Kasparov, Tal, Petrosian ont tous gagné → 4 joueurs à 1,0 point (groupe pair, pas de flotteur nécessaire).
Spassky, Karpov, Botvinnik, Lasker ont tous perdu → 4 joueurs à 0,0 point (groupe pair, pas de flotteur nécessaire).
La Ronde 2 est propre : le groupe 1,0 s'apparie en interne, le groupe 0,0 s'apparie en interne.
Mais imaginez que Tal ait fait nulle au lieu de gagner : alors nous aurions 3 joueurs à 1,0, 2 à 0,5 et 3 à 0,0. Le groupe 0,5 n'a que 2 joueurs — c'est suffisant (un appariement). Mais le groupe 1,0 a 3 joueurs — un doit descendre vers le groupe 0,5. Le joueur le moins bien classé à 1,0 (Petrosian, S4) devient le flotteur descendant.
Traçons l'appariement complet de la Ronde 1 étape par étape pour notre tournoi à 8 joueurs.
Entrée : 8 joueurs, tous à 0,0 point, classés par tête de série. Un groupe de score : {Fischer, Kasparov, Tal, Petrosian, Spassky, Karpov, Botvinnik, Lasker}.
Étape 1 — Division en deux : Moitié supérieure = Fischer, Kasparov, Tal, Petrosian (S1–S4). Moitié inférieure = Spassky, Karpov, Botvinnik, Lasker (S5–S8).
Étape 2 — Application des critères C1–C2 : Pas d'adversaires précédents (première ronde), donc aucune contrainte. Pas encore de byes.
Étape 3 — Appariement idéal : S1↔S5, S2↔S6, S3↔S7, S4↔S8. Tous les critères sont satisfaits. C'est l'appariement.
Étape 4 — Attribution des couleurs : La moitié supérieure reçoit les Blancs par défaut à la Ronde 1.
Après les résultats de la Ronde 1 (Fischer 1–0 Spassky, Kasparov 1–0 Karpov, Tal 1–0 Botvinnik, Petrosian 1–0 Lasker), nous avons deux groupes de score :
Groupe A (1,0 pt) : Fischer, Kasparov, Tal, Petrosian — les 4 ont gagné.
Groupe B (0,0 pt) : Spassky, Karpov, Botvinnik, Lasker — les 4 ont perdu.
Appariement Groupe A : Division en deux → Fischer, Kasparov (haut) vs Tal, Petrosian (bas). Idéal : Fischer↔Tal, Kasparov↔Petrosian. Vérification C2 : aucun ne s'est encore affronté. ✓
Étape couleur : À la Ronde 1, Fischer et Kasparov avaient les Blancs. Maintenant ils ont besoin des Noirs. Tal et Petrosian avaient les Noirs, maintenant ils ont besoin des Blancs. Donc : Tal (B) vs Fischer (N), Petrosian (B) vs Kasparov (N). ✓
Créez un tournoi test avec 8 joueurs et observez l'algorithme fonctionner ronde par ronde.
Les joueurs et organisateurs remettent souvent en question certains appariements. Voici les situations les plus courantes et la raison algorithmique derrière chacune d'elles.
Cela arrive quand le groupe à 3,0 points a un nombre impair de joueurs et quelqu'un doit descendre. L'algorithme a essayé toutes les combinaisons au sein du groupe 3,0 mais a trouvé que tous les appariements possibles violent C1, C2 ou C5 (par ex., tous les joueurs à 3,0 points se sont déjà affrontés, ou ont de graves conflits de couleur). Faire descendre un joueur vers le groupe 2,5 était la seule option valide.
Quand un joueur descend, il doit souvent accepter une couleur qu'il ne recevrait normalement pas, parce que l'appariement dans le groupe inférieur l'exige. C'est une limitation connue du système suisse — la contrainte d'équilibre des couleurs a une priorité inférieure à C1–C5, elle peut donc être ignorée.
Si les deux leaders ont le même score, et que l'algorithme ne trouve aucun autre appariement valide dans leur groupe de score (tous les autres joueurs de ce groupe les ont déjà affrontés, ou ont des droits de couleur conflictuels), l'algorithme apparie les deux premiers l'un contre l'autre. C'est un comportement correct — la hiérarchie des critères l'exige.
Le système Burstein est une variante du système Dutch avec une approche différente de la formation des groupes de score. Au lieu de groupes de score stricts avec des flotteurs, il permet des appariements inter-groupes plus flexibles tout en maintenant une proximité de classement au sein des paires. Il est moins couramment utilisé dans les événements homologués FIDE mais est reconnu comme une alternative.
L'Accélération Bakou est utilisée dans les très grands tournois suisses (généralement 200+ joueurs) pour s'assurer que les meilleurs joueurs s'affrontent plus tôt, plutôt que de ne se rencontrer qu'aux dernières rondes après avoir gagné plusieurs parties faciles contre une opposition faible.
L'idée : dans les premières rondes, les joueurs les mieux classés reçoivent un demi-point « virtuel » d'avance, ce qui les place dans un groupe de score supérieur à leur score réel. Cela crée des confrontations plus précoces entre joueurs forts. À partir de la ronde 3 ou 4, les points virtuels sont supprimés et l'appariement suisse normal reprend.
Le TRF (Tournament Report File) est le format d'échange standard pour les données de tournois d'échecs. ChessPairings.org exporte à la fois le TRF-16 (ancien) et le TRF-25 (nouveau format 2025). Voici à quoi ressemble un fichier TRF-16 pour notre Mémorial Alekhine après la Ronde 1 :
012 Alekhin Memorial Open 022 Club Room, Alessandria 032 2026-03-03 042 2026-03-03 052 Mikhail (Chief Arbiter) 062 5 072 1 082 Rapid 092 15+10 132 Buchholz Cut-1, Buchholz, Wins, Direct Encounter 001 No Name Rtg FID Pts R1 001 1 Fischer 2200 1234567 1.0 0000 W 5 1 001 2 Kasparov 2180 2345678 1.0 0000 W 6 1 001 3 Tal 2150 3456789 1.0 0000 W 7 1 001 4 Petrosian 2120 4567890 1.0 0000 W 8 1 001 5 Spassky 2080 5678901 0.0 0000 B 1 0 001 6 Karpov 2050 6789012 0.0 0000 B 2 0 001 7 Botvinnik 1990 7890123 0.0 0000 B 3 0 001 8 Lasker 1960 8901234 0.0 0000 B 4 0
Chaque ligne 001 est un joueur. En lisant de gauche à droite : numéro du joueur, nom, classement,
identifiant FIDE, score total, puis pour chaque ronde : classement initial (0000 = non applicable), couleur (W/B),
numéro de l'adversaire, résultat (1 = victoire, 0 = défaite, = = nulle, H = bye demi-point, F = gain par forfait).
Vous n'avez jamais besoin de modifier ce fichier manuellement — ChessPairings.org le génère automatiquement. Mais savoir le lire aide lors de la vérification des résultats ou de l'importation dans d'autres logiciels.
ChessPairings.org utilise bbpPairings comme moteur d'appariement suisse — une implémentation open-source en C++ du système Dutch FIDE maintenue par la communauté de programmation d'échecs. bbpPairings est utilisé par de nombreuses fédérations nationales et systèmes de gestion de tournois dans le monde entier.
Pour les calculs de départage, ChessPairings.org utilise un TieBreakServer dédié (module Python), qui implémente les 28 systèmes de départage supportés indépendamment du moteur d'appariement. Cette séparation garantit que la logique d'appariement et de départage est vérifiable indépendamment.
Les deux moteurs sont mis à jour chaque fois que la FIDE révise ses règles — les changements de règles de février 2026 sont pleinement reflétés dans la version actuelle de ChessPairings.org.
Le problème d'appariement Dutch est mathématiquement équivalent à un problème de couplage maximal pondéré en théorie des graphes. Chaque appariement potentiel est une arête avec un poids représentant dans quelle mesure il satisfait la hiérarchie des critères. L'algorithme trouve le couplage parfait de poids maximal — c'est pourquoi il peut prendre une fraction de seconde même pour des tournois de 500 joueurs.
Appariement suisse conforme FIDE 2026, 28 systèmes de départage, entièrement gratuit.
Créer un Compte Gratuit