Wie aktualisiere ich die Elo-Bewertung?

7

Ich baue eine Schach-App mit einem Elo-Bewertungssystem.

Wäre es angemessener, die Bewertung des Spielers basierend auf seiner Bewertung zu Beginn des Spiels oder seiner Bewertung am Ende des Spiels zu aktualisieren?

Zum Beispiel spielt Spieler A (1600) gegen Spieler B (1700), und es dauerte eine Woche, bis das Spiel abgeschlossen war (Fernschach). Während dieser Woche gewann Spieler A einige andere Spiele und ihre Bewertung wurde 1650. Spieler B verlor einige Spiele und ihre Bewertung wurde 1680. Jetzt endet das Spiel zwischen Spieler A und Spieler B.

Sollte ich die Bewertungen so aktualisieren, als ob:

  1. 1600 gegen 1700 gespielt, oder
  2. 1650 gegen 1680 bezahlt, oder
  3. etwas anderes

Was wäre angemessener und warum?

Mischa Moroshko
quelle

Antworten:

6

Denken Sie daran, was eine Bewertung ist: Es ist eine Schätzung der relativen Stärken der Spieler. Je mehr Informationen Sie in Ihre Bewertungsberechnung einbeziehen, desto genauer wird sie und desto schneller konvergiert sie. Am Ende eines OTB-Spiels sind die einzigen neuen Informationen, die Sie haben, das Ergebnis dieses Spiels. Auf einer Korrespondenzseite haben Sie jedoch auch die Informationen aus den Ergebnissen beider Spieler, während das Spiel ausgeführt wurde. Warum möchten Sie diese Informationen nicht verwenden?

Um die Bewertungen der Spieler basierend auf ihren Bewertungen zu Beginn des Spiels zu aktualisieren, müssen Sie sagen, dass ihre Bewertungen zu Beginn des Spiels eine bessere Schätzung ihrer relativen Stärke sind als ihre Bewertungen am Ende des Spiels. Mit anderen Worten, es heißt, dass Sie glauben, dass die Bewertungen mit der Zeit weniger genau werden. Wenn Sie das glauben, sollten Sie sie überhaupt nicht aktualisieren!

David Richerby
quelle
Andererseits ist es einem Spieler möglich, sich nach dem kritischen Teil des Spiels signifikant zu verbessern. Wenn ich mit 1300 bewertet bin und bei der Eröffnung eines Spiels, das sehr langwierig wird, ein paar Bauern fehlerhaft bin, bin ich vielleicht 8 Monate später zu Recht 200 Punkte stärker und meine Bewertung spiegelt dies wider (aufgrund einiger Spiele, die schneller gelöst wurden).
DM
@DM Das ist nicht "auf der anderen Seite" - es ist genau der Punkt, den ich mache. In der Korrespondenz sollten Sie basierend auf der Bewertung der Spieler zum Zeitpunkt des Spielendes aktualisieren.
David Richerby
Nein, mein Punkt war, aus der Sicht meines Gegners, dass er einen 1500er geschlagen bekommt, als er wirklich nur die Fehler eines 1300 ausnutzte. (Nicht, dass ich sage, dass das Bewertungssystem eine Korrektur vornehmen muss dafür würde jede Korrektur wahrscheinlich nur mehr Fehler hinzufügen.)
DM
@ DM Ah, ich verstehe, was du jetzt sagst. Gutes Argument.
David Richerby
4

Ich würde Option 2 aus verschiedenen Gründen verwenden. Das vielleicht wichtigste ist das Potenzial für den Missbrauch von Option 1.

Zwei Spieler beginnen im USCF- oder FIDE-System auf dem gleichen Level. Sie spielen ein langes Match mit einem Spieler, der die überwiegende Mehrheit der Punkte erzielt. Letztendlich stabilisieren sich die Bewertungen ungefähr bei dem Verlierer (Start-400) und dem Gewinner (Start + 400).

Unter Option 1 könnte ein 2000-Spieler 100 Spiele gegen einen Freund mit ähnlicher Bewertung starten, alle gewinnen und plötzlich mit 3000+ die Person mit der höchsten Bewertung auf der Website sein. Dies wird unter anderem dazu führen, dass Ihre Website schlecht aussieht. Der Spieler, der verloren hat, fällt unter 1000, aber diese Punkte können leicht zurückgewonnen werden, insbesondere wenn er 100 Spiele gegen 1200 Spieler startet.

Option 2 ist viel stabiler. Es wird von allen wichtigen mir bekannten Korrespondenzseiten verwendet (chess.com, redhotpawn usw.)

Bearbeiten: Weitere Szenarien. Ein 1800-Spieler nimmt die Herausforderung eines 800 an. Einen Monat später ist der ehemalige 800 um 1700 und schlägt den 1800. Wenn der 1800 zurücktritt, verliert er das Maximum und nicht das, was er gegen die wahre Stärke seines Gegners verloren hätte.

Ein 2000-köpfiger Spieler erhält durch schwarze Magie eine Wertung von 1200. Er startet eine Reihe von Spielen gegen 1400er und gewinnt fast alle. Die 1400er werden allgemein enttäuscht sein, wenn sie mehr als 20 Punkte an einen solchen Schurken verlieren müssen.

Cleveland
quelle
Wenn dieses Verhalten auf einer Site erlaubt wäre, wäre das keine echte Schach-Site. Wenn ich dieses Verhalten auf meiner Website sehen würde, würde ich seine Fähigkeit, Spiele mit demselben Spieler zu spielen, auf 2 oder weniger beschränken. Das ist Betrug. Kein echtes Spiel.
MikhailTal
Wenn die Site groß genug wird, passiert so etwas jeden Tag - wenn nicht häufiger. Manuelle Überwachung ist keine praktikable Lösung.
Cleveland
Totalbegrenzung. Ich sehe nicht ein, wie eine Site es Leuten überhaupt ermöglichen kann, 100 Spiele mit demselben Spieler zu spielen.
MikhailTal
1
Ich wäre ziemlich verärgert über eine Seite, auf der ich kein Match gegen einen Freund spielen konnte, weil er einen Algorithmus für schlechte Bewertungen gewählt hat.
Cleveland
Ich würde mich auch ziemlich über diese Seite ärgern, aber 100 Spiele gleichzeitig?
MikhailTal
4

Weder ist "richtig". Sie müssen die Auswirkungen einer Strategie berücksichtigen und bestimmen, was für Ihre App richtig ist . Ich persönlich denke , Sie sollten immer planen für Ihre App beliebt zu sein - und wenn es beliebt, die Menschen werden zu Spiel versuchen , was System Sie geschaffen haben. Sie müssen also die Missbrauchsfälle in jedem Szenario sowie die Art und Weise berücksichtigen, wie das System sowohl neuen als auch etablierten Benutzern dient, und entscheiden, welche Faktoren des Systems für Sie am wichtigsten sind.

Natürlich haben Sie in jedem System eine Vielzahl von Optionen für die eigentliche Implementierung, die dazu beitragen können, die unten aufgeführten Faktoren zu verbessern oder zu mildern, aber ich werde all das überspringen, da Sie nicht danach gefragt haben.

Ich denke, die derzeitige Frage ist etwas zu meinungsbasiert, um endgültig beantwortet zu werden. Ich werde hier also nur einige der wichtigsten Punkte jedes Systems darlegen. Wie gesagt, es liegt an Ihnen, zu entscheiden, was für Sie und Ihre Benutzerbasis wichtig ist.


Berechnen mit Startbewertungen

In diesem System ist der Hauptmissbrauchsfall, den Sie sich ansehen müssen, jemand, der hundert Spiele gleichzeitig gegen ein Dummy-Konto (oder mehrere) startet, um alle zu gewinnen und seine Bewertung zu erhöhen. Dies ist ziemlich erkennbar und leicht zu konstruieren (tatsächlich enthält das Elo-System bereits einige Einschränkungen für solche Manipulationen), aber Sie müssen darauf achten.

Der Nachteil dieses Systems ist, dass neue Spieler eine Zeit lang sehr instabile Bewertungen haben und eine Weile brauchen, um ihre wahre Bewertung zu erreichen. Die meisten Systeme lösen dies bereits, indem sie den K-Faktor für neue Spieler erheblich erhöhen , so dass sich ihre Bewertungen für ihre ersten 20-50 Spiele oder so sehr schnell ändern.

Angenommen, Sie haben einen etablierten Spieler mit einer hohen Bewertung (z. B. 1900) gegenüber einem neuen Spieler mit einer niedrigeren vorläufigen Bewertung (z. B. 1200). Wenn die wahre Stärke des neuen Spielers tatsächlich 2000+ beträgt, kann der etablierte Spieler bei einem Verlust (1900 gegen 1200) viel mehr Punkte verlieren, als wenn die Punktzahl anhand der neuesten Punkte berechnet worden wäre. Wenn der neue Spieler nur gegen hoch bewertete Spieler spielt, muss natürlich jemand die Rechnung bezahlen, egal welches System Sie verwenden.

  • Leicht zu erkennender potenzieller Missbrauch
  • Langsame Ratingkonvergenz

Berechnen mit aktuellen Nennwerten

Im neuesten Bewertungssystem besteht der Hauptmissbrauchsfall wahrscheinlich darin, dass Personen Spiele herausziehen oder vorzeitig zurücktreten, um Einbrüche oder Spitzen in den Bewertungen ihrer oder ihrer Gegner auszunutzen. Zum Beispiel, wenn ich auf einer Pechsträhne bin, so dass ich unter meiner wahren durchschnittlichen Bewertung bin, dieses System gibt mir tatsächlich einen Anreiz , um sofort jedes anderes Spiel zurücktreten , wo ich nicht gewinnen , weil ich weniger verlieren würde Punkte jetzt, indem ich sie alle auf einmal zurücktrete, während meine Bewertung bereits niedrig ist, als wenn ich warten würde, bis sich meine Bewertung erholt hat. Wenn alternativ die Bewertung meines Gegners im Verlauf des Spiels sinkt, habe ich einen starken Anreiz, das Spiel so lange wie möglich zu haltenin Echtzeit, egal ob ich gewinne oder verliere - denn so oder so, wenn sich die Wertung meines Gegners erholt, werde ich besser abschneiden. Diese Art des Spielens des Systems ist viel schwieriger endgültig zu erkennen.

Wie andere bereits betont haben, sind die einzelnen Ergebnisse jedoch genauer, und die Bewertungen der Personen konvergieren daher schneller. Sie werden auch die Wirkung des Spiels eines vorläufigen 1200 gegen ein etabliertes 1900 verringern, obwohl ich persönlich denke, dass dies überhaupt keine große Sache ist - etablierte Spieler interessieren sich meiner Erfahrung nach nicht so sehr für temporäre Bewertungen Verluste wie neuere Spieler.

  • Schwer zu erkennender potenzieller Missbrauch
  • Schnellere Konvergenz der Bewertungen
Henry Keiter
quelle
"Wenn ein Spiel endet, berechnen Sie neue Bewertungen, anstatt eine zu ändernde Bewertungsänderung zu berechnen." Das klingt gut. Wie schlagen Sie vor, die neuen Bewertungen zu berechnen?
Cleveland
@cleveland Natürlich können Sie Rohbewertungen nicht direkt implementieren. Das ist das ganze Problem: Andernfalls könnten Leute Punkte verlieren, wenn sie gewinnen. Stattdessen können Sie das "rohe" Elo verwenden, um den gewonnenen oder verlorenen Betrag zu begrenzen, oder es einfach als Indikator für möglichen Missbrauch verwenden. Ich werde die Antwort etwas erweitern, wenn ich nicht auf meinem Handy bin.
Henry Keiter
1
Dies ist der falsche Ansatz. Warum sollte ein neuer Benutzer nicht in der Lage sein, eine große Anzahl von Spielen zu starten? Wenn ein legitimer neuer Benutzer beispielsweise 20 gleichzeitige Spiele startet, warum sollte sich die Bewertung am Ende des 20. dieser Spiele ändern, basierend auf der falschen Annahme, dass sie sich auf dem Standardniveau befinden, und nicht auf den wertvollen Informationen, die sie haben X gewonnen und Y der ersten 19 Spiele unentschieden gespielt? Wenn Sie ein Bewertungssystem auf diese Weise ausführen, konvergieren die Bewertungen sehr langsam, da Informationen bei der Berechnung absichtlich weggelassen werden.
David Richerby
Und Ihre Priorisierung macht keinen Sinn. Sie empfehlen ein Schema, das die Bewertungen neuer Spieler extrem ungenau macht (um zehn oder Hunderte von Punkten), da die Alternative darin besteht, etablierten Spielern zu ermöglichen, das System hier und da um ein paar Punkte zu spielen. Beachten Sie auch, dass Sie mit Elo unmöglich Punkte verlieren können, wenn Sie ein Spiel gewinnen.
David Richerby
@ David Du scheinst die Absicht meiner Antwort missverstanden zu haben, was wahrscheinlich meine Schuld daran ist, dass ich auf einem Handy poste und nicht so viele Details bereitstelle, wie ich sollte. Ich werde heute Abend versuchen, diese Antwort zu klären.
Henry Keiter
2

Wenn Sie nach dem USCF-System modellieren würden, würden Sie sich Szenario 2 ansehen. 1650 spielte gegen 1680. Ich habe dies selbst im USCF-Bewertungssystem erlebt, in dem ich ein 10-wöchiges Ligaturnier mit der Bewertung von 1953 gespielt habe. Und ich habe einen Mittwoch gespielt Nachtspiel in meiner Gegend um Woche 6 und verlor das Spiel und meine Bewertung wurde 1929. Nach der 10. Woche zeigte meine USCF-Bewertung meinen Anstieg von 1929 => 1995 und nicht 1953 => x und x => y.

RingMaster
quelle
0

Der richtigste Weg wäre, die Startbewertung zu verwenden. Warum? Da dies die Bewertung war, mit der sie sich bereit erklärt hatten, das Spiel zu beginnen, und sie wussten, was sie gewinnen oder verlieren würden, entschieden sie sich, es zu beginnen, nachdem sie das Risiko gegen die Belohnung bewertet hatten. Daher denke ich, dass die Startwertung beider Spieler die beste Lösung ist.

MikhailTal
quelle
2
OTOH, um die Rating-Jagd zu unterbinden und das Schachspielen zu fördern, könnte das gleiche Argument auch umgekehrt angewendet werden. ;)
JiK
4
Bewertungen sind keine Münzen, die zwischen Spielern gehandelt werden. Sie sind Versuche, die relativen Stärken der Spieler zu messen.
David Richerby