Logo FFG Recherche sur le site Menu du site

Echelle de niveau. L'algorithme.

Cette page décrit l'algorithme utilisé par la Fédération Française de Go depuis le 1er janvier 2013.

L'algorithme utilisé entre 2003 et fin 2012 est détaillé ici.

Wandrille Sacquépée a rédigé un historique de l'échelle FFG de 1981 à 2011 (format PDF).

1- Description de l'algorithme
2- Ajustements
3- Justifications

1 - Description de l'algorithme

Pour les joueurs n'ayant jamais fait de tournois, le niveau utilisé est celui déclaré à l'inscription.

RB = Rang de Blanc à l'échelle  (100..199 = 2d, 0..99 = 1d, -100..-1 = 1k)
RN = Rang de Noir à l'échelle
H  = Nombre de pierres de handicap
     (H = 1 pour une partie à sen avec komi de 0,5)

RFB = Rang Fictif de Blanc =  RB Rang à l'échelle
RFN = Rang Fictif de Noir 
    = RN Rang à l'échelle si la partie est à égalité
      RN + 100 * (H - 0,5) sinon.

RFNA = Rang Fictif de Noir après la partie.
RFBA = Rang Fictif de Blanc après la partie.
SA = Résultat du joueur = 1 en cas de victoire, 0 en cas de défaite et 0,5 en cas de jigo.

Etape 1: variation brute

L'algorithme utilisé pour calculer la variation brute est le même que celui utilisé par la Fédération Européenne de Go. Cet algorithme est dérivé du système de classement ELO utilisé par la Fédération Internationale Des Échecs (FIDE). La méthode est basée sur l'idée que l'on peut définir une probabilité de gain (SE) en fonction de la différence de niveau (D) entre les deux joueurs avec D = |RFB - RFN|.

Pour le joueur ayant le rang fictif le moins fort (que nous appellerons joueur A), on peut calculer sa probabilité de gain grâce à la formule suivante :

SE(A) = 1 / (eD/a + 1) - ε/2

Quant à la probabilité de gain de l'autre joueur (que nous appellerons joueur B), on l'obtient grâce à l'égalité suivante :

SE(A) + SE(B) = 1 - ε

À l'heure actuelle, nous utilisons ε = 0.016. Ce paramètre est utilisé pour affiner le comportement du système sur le long terme.

Lors d'une partie jouée à égalité, la variation brute du joueur est calculée par la formule suivante :

Rnouveau = Rancien + con * [SA - SE]

Le facteur con sert à définir l'amplitude de la variation, quant au paramètre a, il correspond à la variance du joueur. En d'autres termes, on considère que le joueur a en réalité un niveau R tel que :
RJ - a ≤ RJ ≤ RJ + a
Dans notre système, le facteur con et le paramètre a décroissent tous deux en fonction de la force du joueur selon le tableau suivant :

Niveau du joueur Valeur du facteur con Valeur du paramètre a
inférieur ou égal à -1950 116 200
-1850 110 195
-1750 105 190
-1650 100 185
-1550 95 180
-1450 90 175
-1350 85 170
-1250 80 165
-1150 75 160
-1050 70 155
-950 65 150
-850 60 145
-750 55 140
-650 51 135
-550 47 130
-450 43 125
-350 39 120
-250 35 115
-150 31 110
-50 27 105
50 24 100
150 21 95
250 18 90
350 15 85
450 13 80
550 11 75
supérieur ou égal à 650 10 70

Exemple :
Partie à égalité entre un 15k et un 14k (le joueur 15k joue Noir).
RN = RFN = -1450 (joueur A)
RB = RFB = -1350 (joueur B)

D = |RFB - RFN| = |(-1350) - (-1450)| = 100.

SE(A) = 1 / (e100/175 + 1) - 0.016/2 = 1 / (1.77 + 1) - 0.008 = 0.3529.
Ce qui donne SE(B) = 1 - 0.016 - 0.3529 = 0.6311.

Cas d'une victoire de Blanc :
RFBA = -1350 + 85 * (1 - 0.6311) = -1318.6435
RFNA = -1450 + 90 * (0 - 0.3529) = -1481.761

Cas d'une victoire de Noir :
RFNA = -1450 + 90 * (1 - 0.3529) = -1391.761
RFBA = -1350 + 85 * (0 - 0.6311) = -1403.6435

Etape 2: parties à handicap

Les variations calculées à l'étape 1 sont multipliées par (1 - H/10) pour les deux joueurs. Les parties à plus de 9 pierres de handicap ne comptent pas.
En cas de défaite de Blanc lors d'une partie à handicap, sa variation est à nouveau multipliée
par (1 - H/10).

Pour les joueurs de niveau inférieur à -2000, le coefficient est 1 quel que soit le handicap.

Etape 3: parties 9x9 ou 13x13

Les variations calculées à l'étape 2 sont multipliées par 0,2 pour les parties 13x13 ou par 0,1 pour les parties 9x9. Les parties autres que 19x19, 13x13 ou 9x9 ne comptent pas. (Pour les parties 13x13 et 9x9, des tables de conversion des handicaps peuvent être trouvées ici) .

Pour les joueurs de niveau inférieur à -2000, le coefficient est 1 quelle que soit la taille du goban.

Etape 4: parties rapides

Les parties avec un temps de base (hors byo-yomi) supérieur à 1 heure par joueur sont comptées normalement avec un coefficient 1.
Pour les autres parties (plus rapides), les variations calculées à l'étape 3 sont multipliées (pour chaque joueur) par le coefficient T avec :
T = t / 60 (où t est le nombre de minutes hors byo-yomi par joueur).

Pour les joueurs de niveau inférieur à -2000, le coefficient est 1 quel que soit le temps de réflexion.

Etape 5: plancher 

Lorsque le niveau calculé à l'étape 4 descend en dessous de -2950, il est ramené à -2950.

2 - Ajustements

Deux cas font l'objet d'un traitement particulier:
- Les joueurs qui ne sont pas connus de l'échelle. Leur niveau initial est alors le niveau d'inscription au tournoi (1d = 50, 1k = -50). Mais si après le traitement (étapes 1 à 5) de toutes les parties d'un joueur inconnu, la variation de niveau de ce joueur est supérieure à 50 points en valeur absolue (0,5 pierre en plus ou en moins), alors le niveau d'inscription est considéré comme incorrect (trop optimiste ou trop pessimiste), on procède alors à un ajustement préalable.
- Les joueurs connus qui ont beaucoup progressé. C'est un cas qui se produit typiquement pour les joueurs débutants ou ceux n'ayant pas participé à des tournois depuis un certain temps. Comme pour les joueurs inconnus, si le calcul montre une variation importante, on procède à un ajustement. Pour eux le seuil est fixé à 60 (0,6 pierre en plus).

L'algorithme d'ajustement: Un calcul complet est fait. Puis, pour tous les joueurs dont la variation delta dépasse le seuil (50 ou 60), le niveau de départ est corrigé de delta-seuil. Cet algorithme est éventuellement répété jusqu'à convergence. Cette convergence est réputée atteinte lorsque les variations entre deux itérations successives des niveaux calculés restent en deça de 10.

Dans les deux cas, ces ajustements permettent de ne pas pénaliser les adversaires des joueurs dont le niveau de départ était manifestement incorrect. Par exemple, si un 5k se fait battre par un ex-7k qui a en fait progressé jusqu'au niveau 4k depuis son dernier tournoi, alors le 5k ne perdra pratiquement rien à l'échelle. De même, si un nouveau joueur résolument optimiste s'inscrit 7k alors qu'il n'est que 10k, il ne va pas gonfler de manière artificielle le niveau d'un 9k qui l'aurait battu.

L'algorithme converge assez rapidement, en quelques itérations généralement. Chaque itération se fait sur l'ensemble des rondes du tournoi. Cet algorithme itératif permet d'ignorer les niveaux d'inscription fantaisistes. Le niveau des nouveaux joueurs dépend de leurs résultats réels dans le tournoi et non de leur niveau d'inscription. Ceci est important en particulier pour les étrangers qui participent à des tournois français mais qui ont une échelle dans leurs pays surévaluée par rapport à l'échelle française.

3 - Justifications

Une partie à sen (sans komi) correspond à un avantage pour noir d'une demi-pierre seulement, ce qui est aussi la valeur du komi dans une partie à égalité. Soit P la valeur d'une pierre (le nombre de points supplémentaires obtenus en jouant cette pierre), et V la valeur du trait (être le prochain à jouer), en supposant que V varie très peu d'un coup à l'autre. Jouer le premier coup vous fait gagner P points, mais c'est alors à votre partenaire de jouer, ce qui vaut V points. Donc la valeur du trait V est égale à P-V:
   V = P - V
   P = 2*V ou V = P/2
L'avantage initial de noir dans une partie sans komi (H1) est égal à V, et aussi égal au komi dans une partie à égalité: V=7,5 points (en prenant la valeur utilisée le plus souvent pour le komi). La valeur d'une pierre est égale à 2*V, soit 15 points.

L'avantage initial de noir dans une partie à H2 est égal à l'avantage de noir dans une partie à H1 plus une pierre, c'est à dire V+P ou 1,5*P. Ceci est la raison de la règle RFN = RN + 100 * (H - 0,5)

L'étape 1 peut sembler causer une inflation du niveau moyen dans l'échelle, mais en fait ceci est compensé par l'arrivée de nouveaux débutants. De plus, certains joueurs en kyu progressent rapidement, et l'algorithme doit pouvoir s'adapter à de telles progressions sans trop pénaliser les adversaires.

L'étape 2 réduit l'impact des parties à fort handicap. Le jeu à fort handicap est très différent du jeu à égalité, et moins fiable comme mesure de la force réelle d'un joueur. Cependant les parties à handicap restent importantes pour l'échelle; elles tendent à garder le système proche d'un point optimal où une différence de niveaux de 100 points correspond bien à une différence de handicaps d'une pierre. Cela permet de calculer le handicap normal pour une partie: soustraire les niveaux et arrondir à la centaine supérieure (par exemple H2 pour une différence de niveaux de 120).

L'étape 3 permet de prendre en compte les tournois officiels joués sur des gobans réduits, ce qui est souvent le cas pour des tournois de jeunes. Cela permet de motiver les jeunes en leur donnant un classement. Cependant l'impact de telles parties sur l'échelle de niveaux est très réduit en raison du faible coefficient multiplicateur.

L'étape 4 permet de prendre en compte les parties rapides de manière très simple. La fédération européenne a une règle similaire mais plus complexe.


Un problème sur cette page? : echellejeudego.org
Dernière modification : 02/01/2013