レーティング差の圧縮効果
技巧のレーティングを計測し始めて以降、最初高く出ていたレーティングが、少しずつ落ちてきました。これはレーティングが200程度離れているソフトとの対局をさせると、レーティングの差ほど勝ち越せていないことに起因しています。
以前からこのような現象は他のソフトのレーティングの計測でも起きていました。つまり強さの順にA,B,Cというプログラムがあるとき、AとBのレーティング差をR(A,B), BとCの差をR(B,C), AとCの差をR(A,C)とするとき、A, B, Cの間の対局を非常に多く行ってレート差の統計精度をあげたとしても、R(A,C)= R(A,B)+ R(B, C)のようにならないのではないかと思います。
ソフトの勝率というものは、いろいろな要素に影響されいて(定跡の選択、探索の手法、評価関数の与え方、実効速度の違いなど)それらを勝率という単一の尺度でレーティングという一つの数字で表そうとしても、原理的に無理があるのではないかと思います。私の予想としては
R(A,C) < R(A,B)+ R(B,C)
のような三角不等式があると思っていて、数値的にも示すことができるしちゃんと証明することもできると思います。おそらくこれは専門家の方々はよくご存知の現象だと想像しています。ご教唆いただけると幸いです。
ところで、このような問題があることを予想しているので、あまりレーティングが離れたソフトの対戦はやらないほうが良いかなと思っています。それは、レーティングの使われ方として比較的力が接近したソフトの間の勝率を気にされる人が多いかなと思うからです。その意味では対局の組み合わせをR200差くらいにのソフトに限定したほうが理にかなっているような気がします。この点についてもなにかご意見をお持ちでしたらお知らせ願えると幸いです。
2016/06/04
このような私見についていくつか貴重なご意見をいただきましたので紹介するとともに私の認識も書かせていただこうかと思います。
これは全く逆ではないかと考えます。 管理人さんはレーティング差のインフレが起こっている状態を正常と思っておられるのではないでしょうか。 圧縮効果ではなく、インフレが解消され、正常に近づこうとしていると思います。 レーティングは上も下も広く対局しないと正しく計測できず、近いもの同士だけで対局を重ねると最上位のレーティングがインフレし、最下位はデフレになります。 これはチェスの世界や将棋クラブ24では問題になっています。 もっとも管理人さんとは算出方法が異なりますが・・・ 参考)http://524.teacup.com/yss/bbs?page=21
ここでおっしゃられているのは、24などで行われている簡易レーティング(勝敗ごとにレート差に依存する差分をレートに加減する)方法を用いたときのレーティングのインフレ傾向についてです。メールの最後に書かれているとおり、私のサイトでの計算は各ソフト間の勝敗数を全体として統計的に処理して最尤値と誤差を求めるものであり、参考サイトで議論されているような同じレートの多数のプレーヤー間で起こる、見かけ上のレートのインフレは原則的に起こりません。ただ、全体のプレーヤーをなるだけ公平に対局させて出すレートと、近接したプレーヤーのみ重点的に対局させて得られるレートは明らかに後者の方が差が広がります。このとき、この広がったレートと、全体を対戦させて得られる縮んだレートのどちらが「正しい」のかという問題があります。縮まったレートを用いると、レートが離れたソフトの間の勝敗がどうなるのかは正しく判断できると思います。しかし、その一方で近接したソフトの間をそのレーティングを用いて予想すると、レート差よりも勝敗の差が大きく出ます。レーティングというただ一つの数字ですべてのソフトの勝敗数を記述することはできないのではないかという考え方をしています。
技巧がレーティング差ほど下位ソフトに勝ち越さない、との事ですが、これはむしろ「現状のレーティング差ほど技巧と下位ソフトに差はない」だけなのではないでしょうか? ELOレーティングというのは、「直接の対局を行わなくとも、2者間の勝率を推定する」ための尺度だと私は理解しています。ですので、レーティングが近いソフト同士の対局のみでレーティングを計算してしまうと、相性等に左右されやすく、正しいレーティングが算出されないのではないでしょうか。 加えて、「技巧のレーティングが下がるので対局を行わない」というのも少し気になります。もちろん技巧は強いソフトだと思いますが、もし現状のレーティング差以上に下位ソフトに取りこぼすのならば、そこも含めて技巧の実力であり、計測者がそれを「観測しない」ことによって問題の解決を図った場合、レーティングそのものにある種のバイアスがかかる恐れがあると思います。 あと、このサイトでは個々の対局結果を全て明示していらっしゃるので、現状でも「比較的力が接近したソフト間の勝率」は対局結果によってそれなりに分かると思うので、そこに関してはあまり気にしなくてもよいかと。 ・・・と、色々と偉そうな事を書いてしまいましたが、同スペックでの将棋ソフトのレーティング計測を大々的にやっているサイトは他になく、とても革新的で素晴らしい取り組みだと思います。私も毎日このサイトの更新結果を楽しみにするくらいには、このサイトのファンですので、今後も幅広く、多くのデータを収集して頂いたら幸いです。
このサイトを詳しく読んでいただきありがとうございます。上のご意見に対する返答にも書かせていただいたのですが、私の立場はELOレーティングという単一の数字でソフト間の勝敗数を推定できるという模型が成立するのは比較的レートが近いソフトの間だけなのではないかと疑っています。例えば、三すくみの関係にあるソフトがあったときこの模型は破たんして、どれだけ対局数を増やしてもこの模型を通して計算する限り、統計誤差は永久にゼロになりません。実際には近いレートのソフトの間では(たぶん)このような明らかな矛盾はないと思うのですが、レーティングが遠いソフトの間には、このような模型の矛盾があるように思います。私のところでは一日にとれるデータは古いパソコンを用いても2つしかありませんので、限られたリソースでデータを取るのであれば、統計誤差を拡大するような方向に働く対局よりはより有益な情報が得られそうな近接したソフト間の対局を優先すべきかな、と考えて上の文章を書きました。もし、特定ソフトに対する好感などにより対局の組み合わせに対してバイアスがあるように受け取られるようでしたら不徳の至りです。今のところ、得られたデータは明らかな設定ミスでデータとして意味がないものを除いてすべてそのまま統計処理に加えています。今後ともご意見等ありましたらお寄せいただくようお願いいたします。
以上、お二人のご意見に対して返答させていただきました。個人的な感想としてはELOレーティングに対する三角不等式は数値的にはすぐに示せることができると思うので、少し暇ができたらきちんと検証してお示ししたいと考えています。