Cette page décrit l'algorithme utilisé par la Fédération Française de Go depuis le 6 octobre 2022.
1 -
Description de l'algorithme
2 -
Ajustements
L'algorithme utilisé pour calculer la variation brute est similaire
à 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é
théorique de gain P en fonction de la différence de niveau D entre les deux
joueurs.
Pour les parties à handicap, le niveau à l'échelle de Noir est remplacé par
le niveau fictif Niveau+100*(H-0,5), où H est le nombre de pierres de
handicap (H=1 pour une partie à sen).
La probabilité de gain théorique d'un joueur est donnée par la formule suivante :
P = 1 / (eD/a + 1)
Le paramètre "a" a été déterminé au niveau de l'EGF de manière empirique et dépend du niveau du joueur le plus faible (ou, à handicap, du joueur ayant le niveau fictif le plus faible) selon la formule suivante :
a=(1250-NiveauFFG)/7
Le nombre de points gagnés ou perdus par chaque joueur après la partie est alors égal à :
K*(R-P+ε/2)
R désigne le résultat réel de la partie : 1 pour une victoire et 0 pour une défaite (et théoriquement 0,5 pour un match nul).
ε est un paramètre permettant de stabiliser l'évolution de l'échelle sur le long terme. Sa valeur dépend du niveau du joueur le plus fort selon le tableau suivant :
Niveau du joueur | Valeur du paramètre ε |
---|---|
supérieur ou égal à 400 | 0 % |
supérieur ou égal à 0 et inférieur à 400 | 1 % |
supérieur ou égal à -1000 et inférieur à 0 | 5 % |
supérieur ou égal à -2000 et inférieur à -1000 | 10 % |
inférieur à -2000 | 15 % |
K est un paramètre déterminant combien de points un joueur peut gagner ou perdre sur une partie. Sa valeur dépend du niveau du joueur le plus faible selon le tableau suivant :
Niveau du joueur | Valeur du paramètre K |
---|---|
supérieur ou égal à 650 | 10 |
550 | 11 |
450 | 13 |
350 | 15 |
250 | 18 |
150 | 21 |
50 | 24 |
-50 | 27 |
-150 | 31 |
-250 | 35 |
-350 | 39 |
-450 | 43 |
-550 | 47 |
-650 | 51 |
-750 | 55 |
-850 | 60 |
-950 | 65 |
-1050 | 70 |
-1150 | 75 |
-1250 | 80 |
-1350 | 85 |
-1450 | 90 |
-1550 | 95 |
-1650 | 100 |
-1750 | 105 |
-1850 | 110 |
inférieur ou égal à -1950 | 116 |
L'écart de niveau D entre les deux joueurs vaut 100.
D'après le
tableau, le paramètre K est égal à 90 pour le joueur 15k et 85 pour le joueur
14k.
D'après la formule, le paramètre a vaut (1250 - (-1450))/7 soit
environ 386.
On peut donc calculer la probabilité théorique P de
victoire du joueur 15k : P = 1 / (eD/a + 1) = 43,55%
Celle du joueur 14k vaut donc 100 - 43,55 = 56,45%.
En cas de victoire du joueur 14k, il gagne alors 85 * (1 - 0,5645 + 0,05) =
41,3 points tandis que son adversaire perd 90 * (0 - 0,4355 + 0,05) = -34,7
points.
En cas de victoire du joueur 15k, il gagne alors 90 * (1 -
0,4355 + 0,05) = 55,3 points tandis que son adversaire perd 85 * (0 - 0,5645
+ 0,05) = -43,7 points.
Les résultats par forfait ne comptent pas à l'échelle. Seules les parties jouées comptent.
Note : pour les joueurs de niveau inférieur à -2000, le coefficient est 1 quels que soient le handicap, la taille du goban ou le temps de réflexion, sauf quand Blanc perd une partie 19x19 à handicap.
Lorsque le niveau calculé à l'étape 2 descend en dessous de -2950, il est ramené à -2950.
Lorsque le niveau calculé à l'étape 2 monte au-dessus de 850, il est ramené à 850.
Deux cas font l'objet d'un traitement particulier :
Dans les deux cas (joueurs inconnus et joueurs connus), 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 d'ajustement : Un calcul complet est fait. Puis, pour tous les joueurs dont la variation delta dépasse le seuil, 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 0,1 (ou après 100 itérations).
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 ou sous-évaluée par rapport à l'échelle française.
Le garde-fou dans l'algorithme d'ajustement :
Pour un joueur inconnu, le garde-fou est plus souple :
Niveau du joueur | Seuil d'ajustement (joueur connu ayant au moins une partie déjà comptée à l'échelle) | Seuil d'ajustement (joueur inconnu) |
---|---|---|
supérieur à 675 | 20 | 10 |
supérieur à -1950 et inférieur ou égal à 675 | (6200 - 4 * niveau) / 175 | (6200 - 4 * niveau) / 350 |
inférieur ou égal à -1950 | 80 | 40 |