前回の記事「イロレーティング 1:棋力ってなんだ?」では、Bに対するAの「一般化オッズ」\[F(E_{AB}) = \frac{f(E_{AB})}{f(E_{BA})}\]の関数形に対してイロ教授がある仮定を導入したというところまで記しました。

その仮定とは\[f(E) = E\]という最もシンプルな線形化です。こうすると、「一般化オッズ」は\[F(E_{AB}) = \frac{E_{AB}}{E_{BA}} = \frac{E_{AB}}{1 - E_{AB}}\]となり、これは一般的によく使われているオッズになります。また、「一般化レート」は\[G(E_{AB}) = \log(\frac{E_{AB}}{1 - E_{AB}})\]なので、これを勝率について解くと、\[E_{AB} = \frac{1}{1 + 10^{(R_B - R_A) / 400}}\]となります。ここで、\[G(E_{AB}) = G_{A} - G_{B} = \frac{R_{A} - R_{B}}{400}\]としました。\[G_{A},~ G_{B}\]は、それぞれ平均的な選手に対するA, Bの「一般化レート」であり、\[R_{A},~ R_{B}\]がイロレーティングにおけるレートになります。ここで(対数の底を10とした上で)400で割っているのは、レートが200違う時に勝率が約75%になるようにするためです。実際には約75.97%ですが、10進数でキリのいい数字にしたのでしょう。また、レートの原点は平均が1500になるように選びます。

レート差と勝率との関係については以下の資料ページにまとめておきます。

この仮定がどれくらい有効なのかという研究はチェス等で行われていると聞きますが、私は詳細を把握しておりません。もし機会があれば詳しく調べてみたいと思います。しかしながら、広く普及しているということは大雑把な枠組みとしては有効だと判断されているのだと思います。

最後に、実際にどのようにレートを推定したらよいのかを考えます。

現実には選手の数も対局数も理論的な理想には程遠く、本来必要となる量のごく一部(しかも酷く偏っているサンプルである可能性もある)しか存在しません。その標本から真面目に統計的に推定することはそれなりに大変であり、シンプルさというこの手法の趣旨に反してしまいます。荒っぽくていいので、もっと簡単で随時更新可能な実用的な手法が望まれます。

最も簡単な方法は対局ごとにレートの推定値を前進的に改良していくという方法です。対局前のレートを\[R_{\text{old}}\]とした時、対局の結果を受けて\[R_{\text{new}} = R_{\text{old}} + K (S - E)\]のようにレートを更新します。ここで、Sは勝ちの時は1、負けの時は0、引き分けの時は0.5です。Eは対局前のレートから上で記した計算式によって算出された勝率の推定値です。つまり、推定していた勝率よりも高い結果が出た時にはレートを上方修正し、逆の時には下方修正することで調整していこうということです。Kは正の定数で、調整する時の匙加減を決めます。Kが小さいとなかなか動かず、大きすぎるとガタガタに動いてしまいます。通常は16(もしくは32)が使われることが多いようです。この改良は必ずしも一局ごとに限らず、複数の対局をまとめて処理することも可能です。対局では必ず相手がいて、そちらのレートの方も同様に調整されますので、両方の改良分を合計すると相殺されて0になって、平均値は変わりません。

レートの初期値については最初の地点を平均の1500とします。この時、最初の頃のレート推定値は本来あるべき値から大きくずれている可能性があるわけですが、長く対局を続けていけば適正な値に落ち着くということを想定しています。

しかしながら、実際には対局数がさほど多くない状況で運用されることも多く、本当に初期値依存性が無視できるのかは検討してみる必要があります。また、状況によってはそもそも収束するのかという懸念も出てきます。この辺の問題については、機会があれば改めて論じてみたいと思います。

さらに、現実面での運用を考えると、ゲームの性質上、引き分けを0.5勝0.5敗、つまり互角と考えるのは本当に妥当であるのかもよく考えてみないといけないでしょう(稲庭問題等)。場合によっては引き分けをなかったことにしてレートの改良に用いないという運用の選択肢もありえます。元々、イロレーティングはチェス用に考案されたものですので、将棋向けに修正を検討するべき課題は他にもあるかもしれません。また、実際の棋士の場合には時間が経つとともに棋力が大きく変わったり、引退したりという時間依存の要素も出てきます。ソフトにしてもハードやバージョン、設定の変化等で同様の問題が発生します(例えば、floodgateの場合はその辺は個々の登録者の判断次第)。これらの現実的な対処も運用上、必要になってきます。

イロレーティングはシンプルに作られているため、実用的で頑強な仕組みになっています。その反動として、実際の運用においては人為的な自由度の介在する余地の大きいものになっています。運用の際には「棋力を測定する」という当初の目的を見失わないように柔軟に取り扱っていく必要があるでしょう。