Menu principal :
Bayeselo -
Application de calcul de points Elo
Cette petite application console, conçue par le français Rémi Coulom, permet à partir d'un PGN comportant si possible de très nombreuses parties, d'établir un classement Elo.
Téléchargement et installation
On trouve Bayeselo sur le site de Rémi Coulom. Il consacre une grosse page rédigée en anglais à son utilitaire. Télécharger Bayeselo ?
Créez quelque part un dossier au nom de Bayeselo et copiez-
Je n'entrerai pas dans le détail du fonctionnement de Bayeselo. Si vous souhaitez en savoir plus, vous pourrez toujours lire les explications, en anglais, de Rémi Coulom, sur la page indiquée plus haut. Pour ma part je resterai basique et pratique, en vous proposant une méthode pas à pas pour utiliser l'application.
Supposons par exemple que vous souhaitiez établir le niveau d'un moteur sur lequel vous auriez modifié des paramètres, afin de vérifier la validité de vos réglages.
Étape 1 : choisir un joueur de référence
Choisissez un moteur que vous savez proche de votre moteur modifié et dont vous connaissez le classement Elo -
Faites ensuite jouer ce moteur de référence avec votre moteur bricolé. Accumulez le plus grand nombre possible de parties. Au minimum une quarantaine. En conservant le même type d'épreuve (par exemple "parties de tournoi en 15 mn").
Faites également jouer vos deux moteurs contre des moteurs plus faibles et plus forts (80 à 150 Elo en plus ou en moins). Plus il y aura de croisements, plus il sera facile à Bayeselo d'être juste dans son estimation.
Rassemblez aussi le maximum de parties de moteurs s'étant déroulées dans des conditions similaires. En n'oubliant pas toutefois qu'il ne sert à rien d'ajouter des tas de parties entre moteur A et moteur B si A et B ne jouent pas ailleurs avec d'autres moteurs de votre sélection.
Étape 2 : rassembler et fusionner les parties
Copiez toutes les parties, qui doivent être au format Pgn dans un dossier avec Fusion.bat et lancez l'application. Fusion.bat lit toutes les parties et les regroupe dans un PGN unique appelé "Parties.pgn". Copiez "Parties.pgn" dans le dossier de Bayeselo.
Étape 3 : évaluation
Exécutez Bayeselo. Vous devez d'abord donner à l'invite de commande l'ordre de lire le fichier de parties ; tapez "readpgn Parties.pgn" et vérifiez que Bayeselo répond : "xxxx game(s) loaded".
Puis saisissez successivement "elo", "mm" et "exactdist".
A ce stade vous devez indiquer à l'application le moteur de référence, avec la commande "offset". Si par exemple vous comptez utiliser Adroitchess, moteur de 2080 Elo, saisissez "offset 2080 Adroitchess". Attention, le programme est sensible à la casse. Vous devez saisir le nom du moteur exactement comme il apparaît dans le fichier de parties.
Il ne reste plus qu'à afficher l'évaluation de Bayeselo en tapant "ratings". L'application numérote les joueurs par ordre de force décroissante et fournit pour chacun d'eux une évaluation Elo. Sont précisés aussi une marge d'erreur positive et négative, le nombre de parties utilisées pour le calcul, le score du joueur en pourcentage, le niveau moyen des opposants (je crois) et le pourcentage de parties nulles.
Vous pouvez obtenir une édition texte en tapant "ratings>Evaluation_Elo.txt" (par exemple).
Il est évident que si vous cherchez à établir votre propre Elo plutôt que celui d'un moteur, la méthode restera identique. Vous pourrez vous comparer soit à des joueurs humains, soit à des moteurs dont vous connaissez le niveau Elo.
Fiabilité de l'évaluation
Bayeselo vous donne pour chaque évaluation d'un joueur une marge d'erreur positive et négative. J'ignore comment il parvient à ces chiffres ; je constate seulement que la marge positive est en général à peu près de même valeur que la marge négative -
J'ai utilisé Bayeselo pour établir la force relative de mes différents fichiers de poids pour le moteur Chessterfield et de mes joueurs "Cdrill".
Encore quelques observations...
➤Il peut arriver que dans le listing d'évaluation le même joueur apparaissent sous des noms légèrement différents. Par exemple "R. Robinson" et "Rob Robinson", "Adroit Chess" et "AdroitChess"… L'ennui, c'est que Bayeselo les considère alors comme des joueurs différents. Pour contraindre l'application à les confondre, il y a une solution simple : changez le nom "Parties.pgn" en "Parties.txt" et ouvrez le fichier dans un traitement de texte. Utilisez le module de recherche (s'ouvre généralement avec "Ctrl+F") et convertissez Adroit Chess en AdroitChess, R. Robinson en Rob Robinson, etc. Lorsque tous les noms sont uniformisés, renommez "Parties.txt" en "Parties.pgn" et relancez Bayeselo.
➤"exactdist" est l'un des quatre algorithmes disponibles pour calculer les intervalles. C'est celui qui est censé être le plus fiable, mais vous pouvez aussi tenter "covariance", qui peut donner également de bons résultats.
➤Il n'est pas possible de donner en même temps deux valeurs de référence à Bayeselo, l'une supérieure, l'autre inférieure à la valeur Elo que vous recherchez -
➤Pour obtenir une évaluation vraiment fiable, il faut beaucoup de parties et beaucoup de croisements. Toutefois, Bayeselo ne se trompe généralement pas dans l'ordre de classement. Donc, si vous intercalez dans votre PGN des parties de plusieurs moteurs dont vous connaissez le Elo, vous obtiendrez de précieux indices pour affiner l'évaluation de l'application. Plusieurs sites Internet publient des classements très fiables de moteurs d'échecs. Ils utilisent généralement… Bayeselo pour leurs évaluations ! Le plus réputé est le Computer Chess Ratings Lists, ou CCRL, qui met à jour régulièrement trois pages de classement de moteurs :
CCRL 40/15 (évaluation des moteurs en parties de 40 coups/15 mn)
CCRL 40 Blitz (évaluation en parties blitz)
CCRL 40/2 FRC (évaluation en parties de 15 mn et blitz pour moteurs d'échecs 960)
Autre site sérieux, utilisant également Bayeselo : le Kirr's Chess Engine Comparison, plus connu sous le sigle KCEC.
Voilà. Ce sera probablement le dernier article de l'année 2020. Bonnes fêtes de fin d'année et bonne année 2021 à tous.
Rob Robinson, décembre 2020