web-dev-qa-db-fra.com

Système de notation Elo: commencez la valeur lorsque les joueurs peuvent rejoindre le jeu en permanence

J'ai implémenté un système de notation Elo dans un jeu. Il n'y a pas de limite pour le nombre de joueurs. Les joueurs peuvent rejoindre le jeu en permanence, de sorte que le nombre de joueurs augmente probablement progressivement.

Le calcul exact des valeurs Elo n'est pas important à cause de cela: si l'équipe A bat l'équipe B, alors la victoire Elo de A est égale à la perte Elo de B.

Par conséquent, j'ai un problème concernant les valeurs de départ pour mon système de notation:

  • Dois-je utiliser la valeur de départ "0" pour chaque joueur? La somme de toutes les valeurs Elo serait constante. Mais comme le nombre de joueurs augmente, il y aurait une sorte de déflation Elo, non?
  • Dois-je utiliser une valeur de départ supérieure à 0? Dans ce cas, la somme de toutes les valeurs Elo augmenterait constamment. Il pourrait donc y avoir une inflation Elo. Le problème: les points Elo perdent de la valeur mais la valeur de départ reste toujours la même.

Que devrais-je faire? Pouvez-vous m'aider? Merci d'avance!

44
caw

Vous pouvez commencer à zéro et ajouter un facteur de fudge au score affiché pour le maintenir au-dessus de zéro, ou vous pouvez commencer à 1000 - c'est la même chose. Oui, avec le point de départ 1000, vous aurez un nombre croissant de points ELO totaux dans le système, mais ce sera toujours le même nombre par joueur en moyenne - 1000. La valeur de départ pour Elo est toujours la moyenne actuelle. ELO est un jeu à somme nulle, les points perdus par le joueur A sont gagnés par le joueur B.

Lorsque vous définissez un point de départ à 1000, vous dites essentiellement que le joueur moyen = 1000 pts. Avec un groupe fermé de joueurs initiaux (bêta-testeurs?), Cela est vrai, dans cette moyenne de groupe = 1000. Mais si le jeu est quelque chose que vous améliorez avec le temps, votre joueur moyen de groupe fermé devient hautement qualifié par rapport à quelqu'un qui ne l'a pas fait. joué.

Maintenant, lorsque vous attribuez un 1000 à un nouveau joueur, vous dites nouveaux joueurs moyens = joueur moyen hautement qualifié existant. Ce n'est pas vrai, ils sont probablement beaucoup moins qualifiés que votre groupe fermé d'origine. Ainsi, le nouveau joueur perd des points et vos joueurs hautement qualifiés gagnent => l'inflation. Ce que vous devez faire, c'est évaluer avec précision les compétences des nouveaux joueurs et leur attribuer un classement plus conforme à leurs compétences réelles. Cela pourrait être fait en leur attribuant un "classement provisoire" pour leurs premiers x matchs jusqu'à ce que vous ayez une idée de leurs compétences. En cas de classement provisoire, seul leur score ELO changerait, pas celui des personnes qu'ils jouent. Une fois qu'ils ont rejoint le système réel, les points qu'ils apportent à l'ELO marqué équivaudraient à peu près à leurs compétences réelles et ils ne monteraient ni ne baisseraient dramatiquement => pas d'inflation ou de déflation.

En bref: classements provisoires

60
Andrew

Ce site utilise le système de notation elo. Ils commencent à 1200

extrait de http://gameknot.com/help-answer.pl?question=29

Le système de notation GameKnot est basé sur le système de notation Elo avec un K = 20 fixe et les modifications suivantes:

Les 20 premiers jeux sont utilisés pour établir la cote des joueurs sur le site Web. Pendant les 20 premiers matchs, la cote du joueur est calculée comme une moyenne des cotes de tous ses adversaires, +400 en cas de victoire, -400 en cas de défaite, même pour un match nul. +/- 200 points sont utilisés pour jouer contre un joueur avec une note provisoire. La note du joueur est provisoire pendant les 20 premiers matchs, après quoi il s'établit. La cote du joueur est considérée comme égale à 1200 lors des 5 premiers matchs classés.

Les temps morts ne sont considérés comme des victoires que s'il y a eu au moins 3 coups effectués dans le jeu (les pertes sont toujours comptées pour les joueurs expirés, quel que soit le nombre de coups effectués).

Le plus élevé des deux classements, au début et à la fin du jeu, est utilisé pour calculer les ajustements de classement après la fin du jeu.

Par exemple, si lors de vos 20 premiers matchs classés, vous avez joué 3 matchs et vous avez gagné contre 1200 joueurs avec classement provisoire, puis contre 1400 joueurs avec classement établi, mais perdu contre 1600 joueurs avec classement établi, votre classement sera: ((1200 + 200) + (1400 + 400) + (1600 - 400))/3 = 1467

Ou, si lors de vos 20 premiers matchs classés, vous gagnez contre 1200 provisoire, gagnez contre 1400 établi, perdez contre 1600 provisoire, nul contre 1500, votre note sera: ((1200 + 200) + (1400 + 400) + (1600 - 200) + 1500)/4 = 1525

18
Kieran

Elo travaille sur la différence dans les notes des deux joueurs ou équipes, la valeur réelle n'a pas d'importance. Vous pouvez commencer à n'importe quel nombre que vous aimez. Je gère un système pour la Ligue de Scrabble Facebook avec une valeur de départ de 5000 simplement pour le distinguer des autres systèmes de notation Scrabble.

L'inflation ne résulte pas du fait que les nouveaux arrivants surévalués perdent des points face à des joueurs expérimentés - tout cela égalise à temps. L'inflation résulte du départ de personnes dont la cote est inférieure à la moyenne. C'est ce qui a tendance à se produire dans les jeux en ligne contrairement aux échecs réels, où la déflation est un problème car les joueurs très bien notés prennent leur retraite et retirent leurs points du système.

Mais avez-vous besoin de vous inquiéter de l'inflation? La seule fois où cela est important, c'est si vous souhaitez comparer les performances des joueurs actuels avec des chiffres historiques - aucun problème auquel les joueurs en ligne sont susceptibles d'être confrontés. Même si vous vous inquiétez de l'inflation, il est facile de la corriger. Trouvez la note moyenne de tous vos joueurs actuels et comparez-la avec la figure de départ, si elle est trop élevée, réduisez la note de tout le monde pour la remettre en ligne. D'après mon expérience, une réduction de 1 ou 2 points par période de notation fait l'affaire et représente un grand nombre de nouveaux arrivants qui sont battus et ne reviennent pas.

De nombreux systèmes donnent aux nouveaux arrivants des valeurs K plus élevées afin de trouver leur niveau plus rapidement.

Une autre approche consiste à ne pas évaluer les nouveaux arrivants jusqu'à ce qu'ils aient joué leur première période de notation, moment auquel vous calculez la notation en fonction de ce qui aurait dû être pour Elo pour prédire correctement les résultats. C'est impossible si vous avez tous les joueurs non classés ensemble et (je pense) impliquerait une récursivité si vous avez plusieurs nouveaux venus dans un tournoi. Il sape également le principe de la somme nulle d'Elo et supprime votre capacité à mesurer l'inflation. Cependant, en parlant aux personnes qui utilisent ce système, on me dit que "tout est égal" dans la pratique.

J'ajouterais également que nous avons un joueur déterminé qui a perdu tous les matchs sauf 21 sur 732 au cours des quatre dernières années et que son Elo est toujours d'environ 4100. Les points de classement qu'il perd à chaque tour approchent rapidement de zéro.

4
Elliott Manley

Je ne sais pas si c'est utile, mais Page Notes de Mark Glickman discute de certains problèmes avec les notes Elo, leurs déclins, etc. (voir les derniers paragraphes ici). Voir également son système de notation, le système Glicko , qui semble tenir compte de la fréquence de jeu et discute de la fiabilité de la notation . Enfin, son page de recherche a beaucoup d'articles sur les notes et leur fiabilité.

J'espère que cela pourra aider.

3
Alok Singhal

Peut-être, faites des points pour ne pas pouvoir descendre en dessous du démarreur et mettez le montant de la perte dans une "poche".

Disons que les joueurs commencent par 0. Un joueur a elo 0 et perd 10 points. Il ne perdra rien et ces points iront dans une poche. Imaginons maintenant que le joueur ait gagné le match suivant et obtenu 11 points. Au lieu d'obtenir ces 11 points, il n'obtiendrait qu'un point. Et maintenant, sa "poche" aurait 0 point.

2
rexfc
  1. Les joueurs voient-ils ce score?
  2. Les joueurs comprendront-ils Elo?
  3. Les joueurs continueront-ils à jouer si leur score devient négatif?

Je commencerais tout le monde à une valeur de point positive (10, 100, 1000, cela n'a pas d'importance). Lorsque deux personnes de capacité relativement élevée se jouent, les scores se négocient comme prévu. Là où vous devez vous concentrer, c'est une sorte de capacité relative entre deux joueurs.

Supposons que plus tard dans la vie du jeu, j'ai 25 000 points et que vous êtes un n00b avec 100. Je vous bat, je ne gagne rien et vous ne perdez rien. Pourquoi? Parce que je viens de pwned un n00b, c'est pourquoi. Il ne devrait y avoir aucun avantage pour un nouveau joueur à vaincre un premier joueur. De plus, même si vous êtes dans une plage de points, vous devez implémenter quelque chose où vous ne pouvez gagner qu'un nombre limité de points d'un joueur donné dans une certaine plage de temps.

De toute évidence, ce sera quelque chose qui sera continuellement modifié pendant la durée de vie de votre jeu.

2
Jarrett Meyer

Je pense que la plupart des systèmes de type ELO sur Internet auront un problème de fluage des notes.

Supposons que tous les nouveaux joueurs commencent à zéro. LousyPlayer perd une douzaine de matchs, et sa cote passe bien en dessous de zéro. Qu'est-ce qui l'empêche d'effacer son navigateur, d'enregistrer un nouveau compte sous une nouvelle adresse e-mail et de recommencer?

Si cela est possible, les comptes de rang inférieur resteront en jachère, augmentant la note moyenne pratique.

1
Chip Uni