L'algorithme d'appariement : comment fonctionnent réellement les appariements suisses

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.

Pourquoi un algorithme ? Pourquoi ne pas apparier manuellement ?

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.

Ce qui a changé dans FIDE 2026

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 :

DomaineAvant 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
§ FIDE C.04.1 Basic Rules (effective 1 Feb 2026) and C.04.3 FIDE Dutch System (effective 1 Feb 2026) sont les références principales. → Lire C.04.1  |  → Lire C.04.3

Groupes de score : la base de l'appariement suisse

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.

Appariement par groupe de score — exemple visuel (8 joueurs, Ronde 1)
GROUPE DE SCORE : 0,0 point (tous les joueurs, Ronde 1)
S1Fischer2200 — MOITIÉ SUPÉRIEURE
S2Kasparov2180 — MOITIÉ SUPÉRIEURE
S3Tal2150 — MOITIÉ SUPÉRIEURE
S4Petrosian2120 — MOITIÉ SUPÉRIEURE
S5Spassky2080 — moitié inférieure
S6Karpov2050 — moitié inférieure
S7Botvinnik1990 — moitié inférieure
S8Lasker1960 — moitié inférieure
↕ pair top half vs moitié inférieure (S1↔S5, S2↔S6, S3↔S7, S4↔S8)
Fischer (W)vsSpassky (B)
Kasparov (W)vsKarpov (B)
Tal (W)vsBotvinnik (B)
Petrosian (W)vsLasker (B)

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.

La hiérarchie des critères : C1 à C19

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 :

  • C1
    Aucun joueur ne reçoit plus d'un bye Absolu
    Un bye (point gratuit lorsqu'il y a un nombre impair de joueurs) ne peut être attribué qu'une fois par joueur, et jamais à un joueur qui en a déjà reçu un. Cela ne peut pas être annulé.
  • C2
    Aucun joueur n'affronte le même adversaire deux fois Absolu
    L'algorithme n'appariera jamais deux joueurs qui se sont déjà affrontés dans le même tournoi. C'est une règle absolue — elle ne peut pas être assouplie, même à la dernière ronde. Si l'évitement est vraiment impossible (très petits tournois avec beaucoup de rondes), l'arbitre doit intervenir.
  • C3
    Minimiser la différence de score entre joueurs appariés Haute
    Les joueurs du même groupe de score ont idéalement des scores identiques. Si l'appariement au sein du groupe est impossible, l'algorithme peut apparier entre groupes de score (flotteurs), mais essaie de minimiser l'écart de score. Un joueur à 3,0 points jouant contre quelqu'un à 2,5 est préférable à jouer contre quelqu'un à 2,0.
  • C4
    Minimiser le nombre de flotteurs descendants Haute
    Un flotteur descendant est un joueur qui est déplacé de son groupe de score vers le groupe inférieur parce qu'il ne pouvait pas être apparié dans son propre groupe. L'algorithme essaie de minimiser la fréquence de cette situation.
  • C5
    Éviter qu'un joueur ne descende deux fois de suite Haute
    Si un joueur a été déplacé vers un groupe inférieur à la ronde précédente, l'algorithme essaie d'éviter de le refaire cette ronde. Les descentes consécutives sont fortement pénalisées.
  • C6–C8
    Équilibre et alternance des couleurs Haute
    Chaque joueur devrait alterner les couleurs (Blancs, Noirs, Blancs, Noirs…) autant que possible. Aucun joueur ne devrait avoir plus de 2 parties consécutives de la même couleur. La « préférence de couleur » est suivie depuis la ronde 1 et influence chaque décision d'appariement suivante.
  • C9–C12
    Contraintes de différence de couleur Moyenne
    La « différence de couleur » est le décompte des parties avec les Blancs moins les parties avec les Noirs. Les règles FIDE visent à maintenir cela dans ±1 aussi longtemps que possible. Les joueurs avec de grands déséquilibres de couleur ont la priorité pour leur couleur préférée à la ronde suivante.
  • C13–C19
    Tête de série et qualité d'appariement au sein du groupe de score Moyenne
    Parmi tous les appariements valides satisfaisant C1–C12, l'algorithme sélectionne celui qui correspond le mieux à la structure « idéale » moitié supérieure vs moitié inférieure. C'est là que l'ordre de classement/tête de série revient en jeu comme mesure de qualité au sein du groupe.
Le point clé

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.

Attribution des couleurs : Blancs, Noirs et équilibre

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.

Préférence de couleur vs droit de couleur

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.

Couleur à la Ronde 1

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

§ Les règles d'attribution des couleurs sont spécifiées dans FIDE C.04.3, sections 4–7 (en vigueur depuis le 1er fév. 2026). → Lire C.04.3

Flotteurs et descendants

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.

📉 Exemple de flotteur descendant — Ronde 2 du Mémorial Alekhine

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.

Ronde 1 en détail : le Mémorial Alekhine

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.

Mémorial Alekhine — Appariements finaux de la Ronde 1
Bd 1Fischer (W)vsSpassky (B)
Bd 2Kasparov (W)vsKarpov (B)
Bd 3Tal (W)vsBotvinnik (B)
Bd 4Petrosian (W)vsLasker (B)

Ronde 2 en détail : formation des groupes de score

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). ✓

Voyez les appariements générés en direct sur ChessPairings.org

Créez un tournoi test avec 8 joueurs et observez l'algorithme fonctionner ronde par ronde.

Essayer maintenant →

« Étranges » appariements : pourquoi cela arrive-t-il ?

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.

« Le joueur X a 3 points mais est apparié contre quelqu'un qui n'a que 2,5 »

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.

« Le joueur X a toujours les Noirs »

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.

« Pourquoi les deux meilleurs joueurs sont-ils appariés dès la ronde 4 ? »

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.

Autres systèmes approuvés : Burstein, Accélération Bakou

Système Burstein (C.04.4)

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.

§ FIDE C.04.4 — Burstein System (effective 1 Feb 2026). → Lire C.04.4

Accélération Bakou (C.04.7)

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.

§ FIDE C.04.7 — Accelerated Systems: Baku Acceleration (effective 1 Feb 2026). → Lire C.04.7

Lire un fichier TRF

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.

bbpPairings : le moteur derrière ChessPairings.org

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.

Pour les curieux techniques

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.

Prêt à Organiser Votre Tournoi ?

Appariement suisse conforme FIDE 2026, 28 systèmes de départage, entièrement gratuit.

Créer un Compte Gratuit