Glicko-2評価システム:バグまたは悪用?


13

実装のバグになる可能性があるため、元々これをStackOverflowに投稿していましたが、一部は数学に投稿することを提案しました。私はこのスタック交換を見つけましたが、誰が良いと思いましたか?デバッグを必要とせずに、これは正確かどうかにかかわらず、すぐにわかる人もいるかもしれません。オンライン計算機または代替の評価方法へのリンクを歓迎します。


Glicko-2はチェスで使用されるレーティングシステムですが、他の多くの状況で使用できます。Glicko-2はGlicko-1を改良したもので、古いELO評価の問題に対処しました。

バージョン1と比較してGlicko-2を特別なものにしているのは、非アクティブになっている時間が長いほど、高い評価偏差(RD)が組み込まれていることです。これは、時間/定格期間に関連するシステム定数の概念でこれを行います。

著者の記事の例は、http//www.glicko.net/glicko/glicko2.pdfにあります
この文書の中で、彼は次のように説明しています。

Glicko-2システムは、評価期間内のゲーム数が中程度から大きい場合、つまり、評価期間内でプレーヤーごとに少なくとも平均10〜15ゲームの場合に最適に機能します。評価期間の長さは管理者の裁量に任されています。

アクティブなチェスプレーヤーのグループが1か月間に平均10〜15ゲームをプレイすると仮定すると、管理者は毎月末にレーティングを更新します。


Glicko-2評価システムのPHP実装が必要でしたが、次の問題に遭遇しました。

Glicko-2 JavaScriptの実装

  • JavaScriptには小さなエラーがありました。このエラーでは、技術的な記述例と一致させることができず、作成者はそれを十分に近く見つけて、デバッグする手間をかけませんでした。

Glicko-2 PHPの実装

  • PHPの実装は多くのバグに悩まされていましたが、複数の評価期間を行わない限り、それは明らかではありませんでした(技術的な記事では期待される値が表示されません)

ExcelのGlicko-2計算機

  • 最後に、Excel計算機はチェスコミュニティの誰かによって行われた、エラーがなく最もプロフェッショナルであるように見えました。JavaScriptのバグが解決されると、JavaScriptとExcel計算機は互いに非常に密接に一致しました(完璧ではありませんが、丸め誤差の範囲内になる可能性があります)

私はバグを修正しました(そして著者に問題/パッチを提出しました)。Excel計算機に近いものとしてPHPとJavaScriptのバージョンを見つけることができました。


今、私は、分析のために正確なGlicko-2実装(3つのうちの3つ)を持っていると99%確信しています。

新しいプレーヤーのGlicko-2の推奨されるデフォルトを考えると:

Rating:      1500
RD:           350
Volatility:  0.06

レーティング1378およびRD 99(ソース)の平均的な対戦相手に、次の12期間(1年)のレーティング期間(1か月)ごとに1回だけ直面すると、1852の想定されるナショナルクラスA(1800-1999)レーティングを蓄積します。実際には、12か月間で平均12人のプレイヤーしか負けていません。

Month   Rating      RD      Volatility      Class
1       1625        259     0.059999        National Class B
2       1682        225     0.059998        〃
3       1718        205     0.059997        〃
6       1784        174     0.059994        〃
12      1852        148     0.059988        National Class A
24      1922        127     0.059976        〃

レーティング期間ごとに2人の平均的な対戦相手に直面した場合、約4〜5か月で国内クラスAに到達でき、平均的な対戦相手は8〜10人だけです。

Month   Rating      RD      Volatility      Class
1       1672        215     0.059999        National Class B
2       1733        183     0.059997        〃
3       1770        166     0.059995        〃
4       1797        154     0.059993        〃
5       1819        146     0.059992        National Class A
6       1836        140     0.059991        〃


これらの仮定は正確ですか?計算機にバグはありますか?

それがバグでない場合、これに対抗するいくつかの方法は何ですか?

  • 「真の評価」を偏差の下限と見なします(評価-RD)
  • 非アクティブなユーザーの評価を表示しない
  • Nゲーム未満のユーザーを表示しない


回答:


9

私は数ヶ月前にScalaの実装に取り​​組みましたが、少し洗練されていませんでした。私はそれを終了するために戻る必要があります。少なくとも合理的な結果が得られました。

あなたがプレイするすべてのゲームに勝った場合、はい、あなたが低い格付けのプレイヤーだけと対戦しても、あなたの格付けは非常に高くなります。このような対戦相手に対してすべてのゲームに勝つ可能性は、おそらくクラスAプレーヤーが達成するものです(ただし、比較的高いRDのために、おそらく少し膨らんでいます)。

私の意見では、これに対抗する最善の方法は、一定量以上のRDを持つ人を安定した評価とみなさないことです。つまり、「暫定的な」ものとみなすことです。また、少なくともUSCFで実際にタイトルを獲得するために、彼らは規範のシステムを備えており、4ゲーム以上のトーナメントで特定のレベルで実行する必要があります(4回、私は信じています)。トーナメント全体で[1378]〜[4回]対戦する可能性はほとんどありません。

これをチェスに使用するのが目標ですか?あなたのユースケースは何ですか?

更新:FICSは、RDが80未満のアクティブなユーザーのみを考慮して処理します。(彼らはまだGlicko-1を使用しています、私は信じています。)http://www.freechess.org/Help/ficsfaq.html#Q005.003

ちなみに、Glicko-1はRD /時間減衰も使用します。Glicko-2の主な改善点は、不安定な結果または安定した結果を持つ人々がわずかに異なる方法で計算されることを可能にする「ボラティリティ」要因でした。Glicko-1の非常に小さな微調整がかなりの余分な計算を引き起こすと思いますが、あなたのように、私はまだ計算に興味がありました。私は実際にGlickman自身にテスト用の追加データポイントを要求しましたが、彼は忙しすぎてそれらを提供できませんでした。


参考までに、USCFクラスレベルのタイトルでは、5つのトーナメントでノルムを獲得する必要があります。
-DM
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.