実装のバグになる可能性があるため、元々これを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実装が必要でしたが、次の問題に遭遇しました。
- JavaScriptには小さなエラーがありました。このエラーでは、技術的な記述例と一致させることができず、作成者はそれを十分に近く見つけて、デバッグする手間をかけませんでした。
- PHPの実装は多くのバグに悩まされていましたが、複数の評価期間を行わない限り、それは明らかではありませんでした(技術的な記事では期待される値が表示されません)
- 最後に、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ゲーム未満のユーザーを表示しない