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


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

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

作成者からの書き込み例は、次の場所にあります: http://www.glicko.net/glicko/glicko2.pdf
このドキュメント内で、彼は次のように説明しています。

Glicko-2システムは、評価期間中のゲーム数が中程度から大規模の場合に最適に機能します。レーティング期間中、プレーヤー1人あたり平均10〜15ゲーム以上と言います。評価期間の長さは、管理者の裁量に委ねられています。

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


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

Glicko-2JavaScriptの実装

  • JavaScriptに小さなエラーがあり、技術的な記述の例と一致しませんでした。作成者はJavaScriptが十分に近いことを発見し、気にしませんでした。デバッグ。

Glicko-2PHPの実装

  • PHPの実装は多くのバグに悩まされていましたが、複数の評価期間を行わない限り、それは明らかではありませんでした(テクニカルライティング-アップネブerは)

ExcelのGlicko-2Calculatorの期待値を示します

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

バグを修正しました(そして問題を提出しました/著者へのパッチ)PHPとJavaScriptのバージョンで、ExcelCalculatorと同じくらい一致するものを見つけることができました


これで、正確なGlicko-2の実装があると99%確信しています(そのうちの3つ)分析のために、それは私が何か奇妙なことに出くわしたときであり、この議論のトピックです。

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

Rating: 1500 RD: 350 Volatility: 0.06 

評価1378およびRD99(ソース)の平均的な対戦相手に直面した場合、評価期間ごとに1回だけ(1月)次の12期間(1年間)で、想定される ナショナルクラスA

(1800-1999)実際には1852の評価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ゲーム未満のユーザーを表示しない

コメント

回答

数か月前にScalaの実装に取り組みましたが、少し洗練されていませんでした。もう一度やり直してください。少なくとも、いくつかの妥当な結果が得られました。

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

私の意見では、これに対抗する最善の方法は、一定量を超えるRDを持つ人を安定した評価と見なさないことです。 「暫定的」と見なしてください。また、実際にタイトルを獲得するためには、少なくともUSCFでは、4ゲーム以上(4回)のトーナメントで一定のレベルでパフォーマンスする必要があるという規範のシステムがあります。トーナメント全体で〜1378と対戦する可能性は非常に低いです。

これをチェスに使用することを目標としていますか?ユースケースは何ですか?

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

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

コメント

  • FYI、 USCFクラスレベルのタイトルでは、5つのトーナメントで基準を獲得する必要があります。

回答

すべての評価システムに問題があります。実生活。せいぜい、それらのどれもあなたの能力を概算する以上のことはできません。

これらのプレーヤーはより一貫性があり、より多くのGMをプレイする傾向があるため、GMレベルでより良くなります。一方、私たちの残りの部分はより一貫性がなく、より一貫性のない、より広範囲の低評価のプレーヤーをプレイする傾向があります。また、新しいプレーヤーは、より少ないトーナメントでプレーしている間、はるかに速く向上する傾向があり、すべての評価がさらに歪められます。そして、どのレベルでも、一部のプレーヤーは休みの日があるか、最終結果での位置が変わらない場合はそれほど努力しません。

Glicko2のようにレーティングを微調整しようとするのはばかげた用事です。

問題を悪化させるもう1つの要因は、プレーヤーが同じプレーヤーをプレイする傾向があることです。十分なラウンドをプレイした世界的に必須のスイスシステムがあった場合、ほとんどのプレーヤーの評価に大きな揺れがあります。世界的なダブルラウンドロビンはさらにいくつかの変更を加えるでしょうが、スイスは評価エラーを修正するための良いスタートになるでしょう-少なくとも確立されたプレーヤーの真ん中で。新しいプレーヤーが評価を歪めるという問題がまだあります。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です