00:00 Introduction 01:25 Comment classer des compétiteurs ? 04:03 Un petit jeu de simulation 08:40 Améliorer la méthode naïve 16:13 Une formule pour le système Elo 19:02 Elo aux échecs, et ailleurs !
Magnus Carlsen est-il vraiment le
meilleur joueur d'échec du monde est-il
carrément le meilleur joueur de tous les
temps meilleur que Kasparov et quelles
seraiit mes chances moi de gagner contre
lui il est très fréquent que dans le
domaine des jeux du sport et même
aujourd'hui des jeux vidéos on souhaite
pouvoir comparer le niveau de joueurs
qui ne se sont pas forcément déjà
rencontrés ou bien qu'on veuille établir
un classement universel d'absolument
tous les participants
si on parle d'un sport avec une
référence objective de performance comme
mettons le soit à la perche bah c'est
facile hein on peut facilement comparer
le niveau de différents compétiteurs
même à travers le temps mais pour un
sport ou un jeu qui fonctionne avec des
matchs des affrontements comment on peut
faire et bien c'est l'objectif de ce
qu'on appelle le système ho une méthode
mathématique qui attribue une sorte de
note à chaque joueur censé refléter son
niveau intrinsèque et qui permet donc de
comparer les chances de victoir
respective de deux joueurs même s'ils ne
se sont encore jamais rencontrés
aujourd'hui on va donc essayer de
comprendre ce système de notation h l'O
et pourquoi il est utilisé maintenant
sous différentes formes aux échecs bien
sûr mais aussi dans le football le
eSport comme à League of Legend ou
encore sur
tinder tout d'abord ho e lo ça n'est pas
un acronyme he contrairement à ce qu'on
pourrait pas pensé c'est le nom du
physicien et joueur d'échec harpad hello
qui l'a développé dans les années 1960
vous savez peut-être qu'en français on
parle souvent de classement ho mais il
faut réaliser que c'est un peu trompeur
comme dénomination le but du système ho
n'est pas juste de classer des joueurs
he 1er 2e et cetera mais de les évaluer
avec un score censé capturer leur niveau
intrinsèque c'est donc plus qu'un
classement he c'est un système de
notation en anglais on dit d'ailleurs
plutôt hello rating ce qui capture bien
cette nuance avec la notation hello on
ne veut pas seulement dire qui est le
plus fort mais pouvoir juger de la
différence de niveau de deux joueurs on
veut pouvoir estimer à quel point Magnus
Carlsen est plus fort que moi aux échecs
le système Ho est intéressant
principalement quand on a une discipline
où l'on s'affronte il y a des matchs he
dans lesquels à la fin il y en a un qui
gagne et un qui perd et même s'il existe
des variantes on va déjà essayer de
comprendre comment ça fonctionne dans ce
contexte simple imaginons donc que vous
ayez un groupe de joueurs d'une
discipline quelconque et que vous
vouliez leur attribuer une notation qui
soit le reflet de leur niveau
intrinsèque comment vous feriez une
solution classique c'est d'organiser un
championnat tout le monde affronte tout
le monde un point par victoire et on
voit combien chacun a de points à la fin
simple sur le papier mais pas très
pratique quand on a beaucoup de joueurs
au foot c'est facile en Ligue 1 on a 18
clubs mais mais aux échecs où on a
plusieurs centaines de milliers de
joueurs à comparer on va pas faire un
championnat géant où tout le monde
affronte tout le monde au tennis
professionnel on a un système différent
d'un championnat c'est le classement ATP
chez les hommes WTA chez les femmes on
organise des tournois et chaque tournoi
rapporte des points en fonction de votre
performance et les points d'un tournoi
donné sont remis en jeu chaque année
donc le classement est permanent le
problème de ce type de système c'est que
comme les points sont liés au
participation dans les tournois si vous
jouez peu ou pas du tout une année vous
perdez tous vos points si Djokovic
arrête complètement de faire des
tournois pendant un an bah il va tomber
à zéro ce qui ne va évidemment pas
refléter son vrai niveau ce qu'on
voudrait idéalement c'est un système de
notation qui soit évolutif hein qui
ajoute ou retire des points en fonction
des victoires et des défaites mais d'une
façon qui ne dépende pas forcément de
tournoi ou de championnat précis un
système de notation qui soit permanent
et universel et permettre de comparer
tout le monde y compris moi et Magnus
Carsen pour explorer ensemble les
options possibles et voir comment on a
pu arriver au système ho j'ai préparé
une petite simulation qui va nous
permettre de faire des expériences
imaginons que j'ai disons 40 joueurs et
joueuses qui puissent s'affronter dans
un sport ou un jeu quelconque moi j'ai
codé un petit jeu pour les besoins de
l'expérience mais sa nature exacte n'a
pas vraiment d'importance et c'est tant
mieux hein on veut justement imaginer un
système qui soit polyvalent et ne
dépendent pas des détails du jeu ou du
sport considéré la seule chose qu'il y a
à savoir sur les règles de mon petit jeu
c'est que chaque fois que deux joueurs
s'affrontent il y en a un qui gagne et
un qui perd simple al évidemment j'ai
doté mes joueurs de différents niveaux à
ce jeu certains sont plus forts que
d'autres attention ça veut pas dire que
dans un affrontement le meilleur gagne
toujours hein non il y a comme dans la
vraie vie une part d'aller mais les
niveaux relatifs de deux joueurs
reflètent leurs Chan respectives de
gagner au cours d'une confrontation
alors pour que ce soit simple à
visualiser j'ai donné à tous mes joueurs
fictifs des prénoms et l'ordre
alphabétique reflète leur niveau de jeu
la plus forte c'est Zoe le plus faible
c'est Adam et pour donner un ordre de
grandeur hein si ces deux-là
s'affrontent Adam va gagner en moyenne
seulement une fois sur 1000 donc on a un
groupe très étalé hein en niveau de jeu
pour fixer les idées voici un tableau
qui représente les pourcentages de
victoires si on les faisait s'affronter
chacun à un très grand nombre de fois
par exemple ici on lit que si James
affrontait Gabriel il gagnerait dans 67
% des cas en
moyenne voilà vous connaissez nos
protagonistes virtuels mais attention
hein le fait que le niveau soit lié au
prénom c'est évidemment juste pour nous
hein pour nous aider à décoder et
interpréter les résultats de nos essais
pour notre système de notation on va
partir du principe qu'au départ on ne
sait absolument rien des niveaux
respectifs de ces joueurs ils ont tous
l'air a priori identique et on va
chercher un système qui permette de les
évaluer un des intérêts de cette petite
simulation de jeu que j'ai créé c'est
qu'on est dans une situation bien
contrôlée où j'ai fait en sorte que les
joueurs ne progressent pas c'est-à-dire
que leur niveau est constant dans les
affrontements virtuel qu'on va organiser
évidemment dans la vraie vie ce sera
plus compliqué puisqu'on peut progresser
ou régresser mais bon commençons déjà
par ce cas simple résumons ce qu'on
souhaite on veut un système de notation
évolutive au départ on ne connaît pas le
niveau de nos joueurs donc on leur donne
tous la même notation initiale je vais
créer des affrontements au hasard entre
eux pas un tournoi bien organisé et on
veut distribuer des points pour que les
notations évoluent au cours des parties
et finissent au bout d'un moment par
refléter leur vrai niveau alors
commençons par l'idée la plus simple on
donne un point pour chaque victoire si
je fais ça et que j'organise des
affrontements au hasard dans mon groupe
voici l'évolution des notations au fur à
mesure des parties alors effectivement
les plus forts marquent des points plus
vite que les autres hein sans surprise
on a un système qui classe bien les
joueurs c'est sûr vous voyez que l'ordre
correspond à l'ordre alphabétique et
donc reflète correctement leur niveau
intrinsèque le problème c'est que le
truc diverge complètement à aucun moment
la notation d'un joueur ne se stabilise
plus il y a de match plus il y a de
points distribués on ne contrôle
rien pour faire un tout petit peu mieux
on peut faire en sorte qu'à chaque
partie au lieu de donner juste un point
au vainqueur et zéro au perdant on donne
un demi-point au vainqueur et on retire
un demi-point au perdant en moyenne on
distribue pas de point mais c'est un
transfert on creuse l'écart entre les
deux et voilà ce qu'on obtient dans le
fond bah ça change pas grand-chose hein
si on démarre pour tout le monde avec un
score de mettons zéro les bons joueurs
augmentent leur notation au dépend des
moins bons qui se retrouvent même avec
un score négatif donc on a le même
problème de divergence et puis c'est
très facile de hacker un système comme
celui-ci
imaginez que David qui est là au fond du
classement décide de ne plus affronter
que Adam le plus faible du groupe avec
une stratégie comme ça bah David pourra
en quelque sorte vampiriser Adam et se
faire plein de points sur son dos si
c'était ça aux échecs ça veut dire que
n'importe qui pourrait accumuler plus de
points que Magnus Carlsen en jouant de
façon répétée contre un débutant c'est
un peu
absurde ce qu'on veut c'est un système
où la notation d'un joueur finisse par
converger vers une valeur qui reflète
sont véritable niveau intrinsèque vu que
mes joueurs virtuels ne progressent pas
une fois que les notations sont établies
elles ne devraient rester à peu près
stable et là clairement c'est pas le cas
on sent bien que ce qui ne va pas avec
cette méthode c'est que continuer à
filer des points à un joueur bien classé
pour le récompenser d'avoir battu un
joueur très faible bah ça n'est pas très
cohérent parce que c'était totalement
prévisible et pareil dans l'autre sens
hein si un débutant perd contre le
champion du monde bah ça n'est pas une
surprise donc ça ne devrait pas
franchement le pénaliser
en revanche si un joueur classé plus
faible bat son adversaire classé plus
fort là ça devrait donner lieu à pas mal
de points car ça signifie que ce joueur
était plus fort que ce que sa notation
actuelle suggérait ou que l'autre était
plus faible que prévu pour voir comment
faire ça mathématiquement imaginez deux
joueurs que l'on pense être de niveau
comparable Ryan et sopia et disons qu'à
un instant donné ils ont le même
classement la même notation mais qu'on
ne soit pas sûr que ces notations soient
très représent tentative de leur
véritable niveau et imaginons que ces
deux-là s'affrontent sur 100 parties
s'ils ont effectivement un classement
comparable on s'attendrait à ce que
chacun gagne en moyenne 50 parties sur
les 100 et si c'est effectivement ce
qu'il se passe on ne veut pas distribuer
de points c'est que les notations
respectives étaient bonnes maintenant si
Ryan gagne disons 65 parties et sopia
seulement 35 là il se passe un truc Ryan
se révèle meilleure que prévu et sopia
moins bonne donc il faut ajuster leur
notation une façon de mesurer ce qu'
s'est passé c'est de comparer le nombre
de parties gagnées avec ce à quoi on
aurait pu s'attendre Ryan a gagné 65
parties au lieu de 50 il mérite donc en
quelque sorte 15 points sopia n'en a
gagné que 35 bah elle mérite de perdre
15 points c'est l'écart entre la
performance réelle et la performance
attendue qui doit donner lieu à des
ajustements de notation alors là c'était
le cas facile hein pour des joueurs de
niveau comparable maintenant
généralisons au cas de deux joueurs
ayant une notation initiale différente
imaginons que Mia qui a une notation de
M affronte pierre qui a une notation de
P et que sur 100 parties Mia en gagne 60
et Pierre 40 est-ce qu'on doit ajuster
leur
notation bien vous sentez que ça dépend
des valeurs respectives de M et P un
raisonnement simple c'est de dire que la
probabilité de victoire attendue de
chacun devrait être proportionnelle à sa
notation pour Mia la probabilité de
victoire devrait être m/ m + P et pour
Pierre P divis par M + P ça semble assez
raisonnable hein comme formule la somme
fait 1 et chacun gagne
proportionnellement à sa notation donc
pour ajuster leur point il faut comparer
les nombres de victoires constaté à ce
qu'on aurait attendu théoriquement
d'après cette formule et le cas échéant
distribuer des points en fonction de
l'écart à cette prévision th
prenons des cas concrets imaginons que
Mia est un niveau de 300 et Pierre de
500 la probabilité théorique de victoire
de Mia est de 300 div 300 + 500 c'est 37
% et pour Pierre c'est 63 %. donc sur
les 100 parties Mia aurait dû en gagner
en théorie 37 et Pierre 63 sauf qu'on a
dit Mia en a gagné en fait 60 on lui
donne donc l'écart 60 - 37 soit 23
points pierre n'en a gagné que 40 donc
on lui retire l'écart c'est-à-dire aussi
23
points dans mon exemple le résultat de
l'affrontement a été assez différent de
ce que les notations initiales reflétait
donc ces dernières ont été ajustées
assez fortement en conséquence à la
prochaine partie si leurs niveaux n'ont
pas trop changer les notations seront
plus proches de leur performance réelle
jusqu'à finir par converger alors là
pour vous faire comprendre la logique
j'ai pris le cas où nos joueurs
s'affrontaient 100 fois de suite mais on
peut énoncer le principe général de
cette méthode en l'appliquant même à une
seule partie si deux adversaires ayant
une notation préalable de A et B
s'affrontent on donne un point au
vainqueur et zéro au vaincu et on
retranche la probabilité que chacun
avait de gagner cette partie d'après les
notations initiales on retranche a sur A
+ B pour le 1er et B sur A + B pour le 2
on fait donc évoluer les notations des
joueurs d'une façon lié à l'écart entre
la performance réelle et la performance
attendue sur une seule partie évidemment
les notations vont toujours un peu
bouger mais vous voyez que sur un grand
nombre de parties en moyenne elle
n'évolue que si celle-ci ne reflétait
pas déjà le niveau réel des joueurs en
principe le système devrait converger au
bout d'un moment les notations devraient
se stabiliser pour le voir on peut
maintenant reprendre ma simulation et
appliquer ce petit système on voit que
c'est pas malin au départ on donne à
tout le monde 100 points et au fur à
mesure du temps et des parties les
notations finissent par évoluer et se
stabiliser c'est logique hein quand les
notations des joueurs reflètent leur
niveau réel on a plus d'évolution car
chacun obtient des résultats conforme à
son classement et c'est important de
bien comprendre que cette évolution dans
le temps qu'on voit là au départ ne
représente pas une progression ou une
régression des joueurs he on l'a dit ici
on part du principe que leur niveau réel
ne change pas ce qu'on voit c'est que le
système de notation prend du temps pour
converger ce qui est logique hein leur
niveau réel est inconnu au départ on a
mis 100 à tout le monde et la notation
se construit peu à peu à partir des
statistiques de victoire et de
défaite avec ces notation qui convergent
vous voyez qu'on a un système bien
meilleur si un joueur arrête de jouer
quelqu temps sa notation va rester fixe
il ne va donc pas significativement
perdre par rapport aux autres et ce qui
est intéressant c'est que maintenant que
les notations ont convergé elles
reflèteent vraiment les probabilité de
victoire respective prenons Riley et
Owen si je regarde leur notation à la
fin la simulation j'ai 252 pour Riley et
169 pour
Owen d'après ces notations avec la
formule théorique Riley doit gagneré
dans environ 59 % des cas or dans mon
tableau de probabilité initiale je vois
qu'effectivement sur des affrontements
répétés il gagneent dans 58 % des cas ça
veut dire que les notations respectives
de ces deuxlà à la fin de la simulation
ont bien convergé vers des valeurs qui
reflètent correctement leur niveau
respectifs et ça marche même si je fais
en sorte que ces deux-là ne se soi
jamais rencontré avant les notations
respectives permettent de prédire les
probabilités de l'issue d'un match et
c'est normal que ça fonctionne comme ça
on a conçu notre formule d'ajustement
pour de façon à ce que la probabilité de
victoire soit proportionnelle à la
notation de chacun donc c'est super mais
il y a quand même un léger souci avec ce
système c'est l'interprétation que l'on
fait des écarts de niveau par exemple
Zoe a environ 100 points de plus que
Ryan et si je l'ai fait jouer l'un
contre l'autre de façon répétée je vais
trouver que Zoe gagne dans environ 59 %
des cas et on voit que leurs notations
sont bien raccord avec ça 370 pour Zoe
270 pour Ryan d'un autre côté en bas de
classement Oliver a aussi 100 points de
plus canana mais ses probabilités de
victoire sont de 99 %. ce qui est
logique hein Annna n'a qu'un point et
Oliver environ 90 donc là aussi les
notations reflèteent bien les vraies
probabilités de victoire donc avec notre
idée que la notation soit telle que les
probabilités victoire soit
proportionnelle à la notation un écart
de 100 points peut vouloir dire des
choses très différentes en haut et en
bas du classement et ça n'aide pas à
l'interpréter on peut donc essayer
d'améliorer encore un peu la formule
dans la procédure de distribution des
point au lieu de considérer que les
probabilités théoriques de gagner sont
données proportionnellement à la
notation on va considérer que c'est
proportionnel à la puissance de la
notation alors voici une formule qu'on
peut utiliser pour la probabilité de
victoire théorique de deux joueurs de
niveau A et B c'est le même principe
qu'avant mais je prends maintenant 2
puissance a et 2 puiss B et je choisis
de diviser préalablement le niveau par
100 c'est un choix un peu arbitraire je
reviendrai dessus un peu plus tard cette
fois j'ai donné une notation de 1000 à
tout le monde au début et voici ce qu'on
obtient pour l'évolution au cours du
temps on voit que ça s'étale entre un
peu moins de 500 pour Ana et presque
1400 pour
Zoe si je compare cette fois Zoe à
ils ont un écart de 100 points et si je
les fait jouer l'un contre l'autre je
constate que les probabilités de
victoire associé sont d'environ
7030 et en bas de classement pour
Christophe et Benjamin une centaine de
points d'écart également on a aussi des
probabilités de victoire autour de 60 30
vous voyez qu'avec la petite
modification introduite on a un
classement qui est mieux étalé et
surtout qu' on peut plus facilement
interprét un écart de 100 points entre
deux joueurs ça correspond à environ
deux chances sur tr de victoir pour le
plus fort et une chance sur TR pour le
plus faible dans les paris sportifs on
désigne parfois cette situation en
disant de contre un le plus fort a deux
chances de l'emporter le plus faible une
c'est ce qu'on appelle la côte sans
points d'écart avec cette formule c'est
une côte de de contre un maintenant si
je prends deux joueurs avec 200 points
d'écart Isabella et Lucas on a environ
80 % de victoire pour Lucas et 20 % pour
Isabella ça correspond à une côte de 4
contre 1 avec 300 points d'écart c'est 8
contre 1 400 points d'écart 16 contre 1
et cetera vous voyez le motif hein à
chaque fois qu'on ajoute 100 points on
double la côte et c'est parfaitement
normal que ça fasse ça on a choisi la
formule d'ajustement pour ça dans ma
formule d'ajustement de score c'est le
sens de mon 2 puiss le niveau divisé par
100 cette formule fait qu'augmenter
l'écart de 100 points correspond à un
doublement de la côte alors dans ma
formule j'aurais pu prendre d'autres
paramètres que 2 et 100 et on aurait eu
des valeurs de notation différentes mais
la structure du classement aurait été
identique c'est important de comprendre
que les notation vont toujours converger
vers un classement qui a les propriétés
que l'on a mises dans la formule
d'ajustement mais avec de et 100 ça
donne une interprétation facile et un
étalement sympathique des scores mais si
j'avais pris 1000 au lieu de 100 bah le
système de notation se serait
naturellement ajusté pour que les
notations s'étalent sur plusieurs
milliers
[Musique]
on l'a dit le système ho a été inventé
au départ pour les échecs et il est
aujourd'hui utilisé par la Fédération
internationale pour évaluer pas loin de
500000 joueurs et joueuses alors voici
la distribution des notations fin 2023
qui s'étalait alors entre 1000 pour les
débutants et un peu plus de 2800 pour
Magnus Carlsen la formule utilisée par
la Fédération Internationale d'échec
diffère légèrement de celle que je vous
ai présentée d'une part au lieu d'avoir
un écart de 100 qui reflète un facteur 2
dans les côtes ils utilisent un écart de
400 pour un facteur 10 bon c'est assez
proche hein ça change pas la logique
l'autre différence plus intéressante
c'est qu'ils utilisent un facteur
multiplicatif sur la formule
d'ajustement ce facteur est noté
traditionnellement k plus k est élevé
plus les ajustements à chaque match sont
importants et donc plus les changements
de notation seront rapides mais ça rend
aussi les notation un peu plus instable
dans ma simulation j'avais pris K = 1 et
vous voyez qu'il fallait quelques
milliers de parties pour que ça se
stabilise mais voici ce qu' se passe si
je prends un facteur k = 10 B cette fois
il suffit de quelques centaines de
parties pour que la notation atteigne sa
valeur réelle mais vous voyez qu'en
contrepartie les courbes sont beaucoup
plus volatiles et instables car le
hasard d'une bonne ou d'une mauvaise
série fait bouger pas mal les
notations en pratique la Fédération
d'échec utilise un facteur cas plus
élevé en début de carrière he 40 pour
les débutants de manière à ce que leur
notation reflète leur progression mais à
haut niveau le coefficient diminue et
n'est que de 10 chez les grands maîtres
de façon à stabiliser un peu les
classements les programmes informatique
d'échec possèd eux aussi un classement
ho puisqu'on peut les faire s'affronter
entre eux mais aussi les confronter avec
des humains pour fournir des points de
comparaison actuellement les meilleurs
d'entre eux comme stockfish possèdent
des valeurs ho sur supérieur à
3500 alors ça n'est pas évident à
interpréter puisque c'est bien plus
élevé que les humains mais ça reflète
l'idée qu'un grand maître international
n'aurait en moyenne qu'une chance sur
100 de battre un de ces programmes
aujourd'hui le système Ho est utilisé
dans bien d'autres disciplines comme au
football depuis 1997 il existait de
façon non officielle un classement hlo
des équipes nationales en parallèle du
classement officiel de la FIFA et cette
dernière a fini par adopter un système
hlo en 2018 avec des paramètres un peu
différents de ceux des échecs dans un
autre genre plus récemment on a vu
apparaître un site appelé chatbot Arena
qui classe les modèles de langage avec
un système hello pour faire s'affronter
deux modèles l'idée est simple hein on
propose deux réponses en aveugle à un
utilisateur qui doit décider de sa
préférée cela compte comme un match
entre les deux chatbot et on a juste
leur notation ho ce qui permet de
réaliser un classement permanent autre
application du système ho le eSport par
exemple le jeu vidéo League of Legends a
utilisé pendant un temps une adaptation
du principe du ho mais qui soit faite
pour les configurations multijoueurs
puisque League of Legends c'est du 5
contre 5 dans le eSport on continue
d'ailleurs parfois de parler communément
de Ho pour les notations des joueurs
même si les détails mathématiques des
systèmes utilisés se sont éloignés des
principes initiaux car malgré sa
simplicité le système ho a quand même
quelques défauts par exemple il n'y a
pas de notion de fiabilité des notations
or on peut se douter qu'un joueur qui
joue beaucoup et régulièrement aura une
notation plus fiable qu'un joueur
occasionnel pour refléter ça différents
algorithmes ont été imaginés comme le TR
skill un système de classement breveté
par Microsoft et utilisé dans certains
jeux Xbox au-delà de ces disciplines
j'ai même lu qu'un principe de Ho aurait
même été utilisé un temps par
l'application de rencontre tinder alors
j'ai un peu du mal à voir comment ça
fonctionne faut trouver un moyen de
réaliser des affrontements entre
utilisateurs enfin bon pourquoi pas et
qui sait peut-être que sur tinder
j'aurais eu mes chances pour battre
Magnus Carlsen
ouais en fait non je crois même pas
merci d'avoir suivi la vidéo n'oubliez
pas de vous abonner pour ne rien rater
des prochaines vidéo rejoignez le
serveur discord de science étonnante le
lien est en description et puis moi je
vous dis à très vite pour un nouvel
épisode à bientôt
[Musique]