|
(GPS将棋開発参加記録)
|
Kakinoki-Testとspear900が登場してますます賑やかになっています。多くの方に引き続き楽しんでいただけるよう、周辺ツールも暇を見て整備していきたいと思います。プレイヤ二人を指定して"相性"の変化をグラフ化すると楽しそうかなとか…
また、将棋クラブ24のレーティングと対応させる方法を模索していますので、情報/ご意見などコメントお待ちしております。
このような用途に日記を使うと可読性が悪いので、感想戦なども含めて自由に使えるような掲示板があると良いのでしょうね。spam対策など管理の手間が心配で二の足を踏んでいるのですが。
まったく同じ展開で投了まで進んだ試合がどの程度あるかを調べてみました。思ったよりもありますね。レーティングの対象から同一試合を外してほしいという要望もいただいていますので、適切な方法がないか検討したいと思います。外した場合に、対局相手の試合数も減ってしまう点が、悩ましさの一つです。(以下は、3/4加筆)下の表の各行は、"組合せ 同一展開になった試合の数 / その組合せの試合全体の数 = 100分率" です。常に同じ展開になる場合に100%となり、また、表に出ていない組合せは(今のところ)同じ展開になった棋譜がないということを示します。
Ayaka2007 v.s. cat10 2 / 6 = 33.33% MyMove900 v.s. cat18_on_note 7 / 40 = 17.50% MyMove900 v.s. garyu 4 / 70 = 5.71% YSS v.s. cat18_on_note 8 / 20 = 40.00% cat10 v.s. garyu 3 / 21 = 14.29% cat10 v.s. gps800 2 / 31 = 6.45% cat10 v.s. gps_normal 8 / 42 = 19.05% cat18_on_note v.s. garyu 5 / 25 = 20.00% cat18_on_note v.s. gps500 3 / 23 = 13.04% cat18_on_note v.s. gps_normal 9 / 41 = 21.95% coredump v.s. garyu 2 / 16 = 12.50%
その他、細かい話題ですが、勝者同士/敗者同士を優先させるペアリングについて導入当初は運用に問題があり、csaモードとx1モードの対戦が少なくなってしまっていました。現在は改善しています。
また、たまにレーティングの数値が壊れていることがあるようです(原因分析中です)。毎回計算し直しているので10分程度で直るとは思います。
観戦用の表示画面に"CSAにエクスポート"ボタンがつきました。デバッグに便利かもしれません。(3/6追記)"KI2にエクスポート"ボタンもつけてみました。日記で試合を取り上げる時などご活用ください。
floodgateのレーティングから将棋クラブ24のレーティングを予想する方法を少し変えています。当初は+450点で始めましたが、YSSのレーティングがそれなりに変動するので、YSSが常に2300になるように移動幅を調整することにしました。その結果、参加者の変動に対して以前より安定した値になっていると思います。(一方、YSSの改善があってもレーティングが変わらないので、山下さんはつまらないかもしれません。すみません。) 将来的には複数のプログラムの対応関係を使って補正できればと思います。
それに伴い、レーティンググラフにも両方の値を併記してみました。この日記に載せているグラフもそうですが、赤がfloodgateのレーティングで、緑が24のレーティング予想です。赤い線は最近下降気味ですが、緑を見るとgpsが弱くなったというわけではないようです(強くなってもいませんが…)。グラフの張りかたなどはこちらを御覧ください。全てのプログラムの画像が、毎日自動で更新されています。
レーティングではプレイヤの強さのようなものをモデル化していて、プレイヤが対局する場合に二人のレーティングの値の差から勝率が計算できます。(floodgateで利用しているレーティングの計算モデルはこちらです。) そこで、レーティングから計算した勝率と、実際の対局での勝率を比較してみました。前者より後者が高ければ相性が良い、逆ならば悪い、と言えるかもしれません。
結果を表にまとめます。順に、「相性」が良い側のプレイヤ、反対のプレイヤ、実際の勝率、レーティングから予想される勝率、有意水準(+で10%, ++で5%)です。
| player1 | player2 | win% (real) | expected | significance level |
|---|---|---|---|---|
| gps_normal | MyMove900 | 0.992 | 0.968 | ++ |
| Kakinoki_Test | gps_normal | 0.507 | 0.419 | + |
| spear900_note | KShogi | 0.600 | 0.194 | + |
| MyMove900 | gps500 | 0.748 | 0.678 | + |
| misaki900 | coredump | 0.571 | 0.270 | + |
| misaki900 | cat18_on_note | 0.742 | 0.615 | + |
| gps500 | spear900_note | 0.333 | 0.091 | ++ |
| gps500 | misaki900 | 0.508 | 0.361 | ++ |
結論としては、有意に差がある組合せは全体のごく一部で、概ね現実に即したレーティングがついているようです。
spear900_noteのKShogiに対する勝率がずいぶん良いですが、対局数がまだ少なく今後に注目です。(そのため有意水準が低くなっています)
gps500が3回登場しますが、通常探索に比べて詰将棋が得意であるとか、自然な弱さになっていないなどの原因が想像されます。最近は、組合せ奇数の時にしか登場しないので、全体への影響は少なくなっていくと期待します。他に、gps_normalはMyMove900が得意のようですが、これはなぜでしょうね。
この統計で有意な組合せ(が現れた場合)は、プレイヤごとのページ(show-player.cgi)に自動で印を付けるようにしています。ご利用ください。
0秒で指すとサーバが指手を受け取らないのではないかという連絡をいただいています。こちらではまだ再現できていませんが、引き続き怪しそうな点を調査してみます。(3/11追記)報告いただいた件と関係があるか不明ですが、クライアントが二手指しをするとサーバが指手を捨ててしまうことは分かりました。ひとまず二手指しを反則負けとして扱う予定です(csaプロトコルの規定が見付からないですが、問題ないですよね)。引き続き他の条件を探しています。
また、千日手で終わった場合に、引き金となった指手が送信されないとの連絡もいただいております。こちらでは再現できていないため、類似の例に遭遇されましたらぜひ時刻と棋譜をお知らせください。よろしくお願いします。
もはや世界最大のコンピュータ将棋対局データベースとなったwdoorですが、先手勝率や千日手率はわかりますでしょうか? 加えてレーティング差と先手勝率の相関がわかれば完璧ですね。 多分コンピュータ将棋は先後がほとんど互角だろうと予想していますが、意外と有利・不利があったら選手権のルールも考え直す必要があるかもしれません。
山田さんからコメントいただいて調べてみました。
2236勝2190敗と先手が少し勝ち越していますが、有意ではないようです。 詳しくはwdoor/floodgate/統計情報をご覧ください(随時更新されます)。参加プログラムがさらに充実して対局数も増えたら、レーティングの影響も調べてみたいと思います。他には、%KACHIによる決着がまだ一局もないのが興味深いですね。持時間が少ないことが影響しているかもしれません。
# ところで、「世界最大のコンピュータ将棋対局データベース」についてですが、山下さんのYSSと市販ソフトとの対局の方が数が多かったりしないでしょうか:-)
_ コンピュータ将棋協会blog:コンピュータ将棋は先後互角? 以前話題にしたfloodgateに関して、金子さんに、先手勝率と千日..
bingoが新たに参戦されています。きっと備後将棋さんですね。さすがの強さです。また、ellecia2は、A級リーグ指し手1号さんでした。着々と開発が進んでいるようで選手権が楽しみです。
(3/29追記)さらにtacosが参戦されています。レーティング1300から1400点のあたりが熱いです:-)
二手指しの取扱いですが、方針を変えて、自分の手番になってからサーバが指手を解釈するように調整中です。つまり、クライアントはあらかじめ指手を何手も送信しておくことも(メリットはありませんが)許されます。この方針であれば、手番のプレイヤの投了と手番でないプレイヤの指手(二手指し)が同時にサーバに届いたらどちらの勝ちとするべきか? などのややこしそうな問題を考えなくてすむのでこのようにしました。
そのうちwdoorのshogi-serverを再起動しますので、接続中の方にはお手数をおかけしてしまいますが、その際はよろしくお願いします。高田さんにご指摘いただいた千日手のバグの修正と、指手のコメントが日本語で送られた場合にeuc-jpに変換する機能が合わせて入る予定です。
floodgateのレーティング計算で使われる半減期を短く(古い棋譜の重みを小さくする早さを早く)するという要望を、複数の方からいただいています。(マイムーブ、 「うさぴょん」「ねこにゃ」開発日記)
現在は、1週間減衰無し+2ヵ月で半減ですが、1週間減衰無し+2週間で半減くらいにしましょうか。個々のプログラムの開発スピードにもよると思うのですが、どの程度が適切でしょうね。
レーティング計算はshogi-serverとは別のプログラムで行っているので変更は簡単にできます。(私信: 半減期を変えると勝敗数の表示が変わるのはなぜでしょ?)
(3/30追記) 最近の二週間に絞ったレーティングを(今までのものと平行して)計算するようにしてみました。KShogi900が3位に浮上しています。misaki900のレーティングも高くなっていますね。ついでに、プレイヤ別ページの勝敗集計(show-player.cgi の Summary)で、何日分を集計するかを選べるようにしてみました。ちとhtmlのデザインがいまいちですが…
Before...
_ 柿木 [time upの通知はそれでいいですね。失礼しました。 違っていたのは、千日手の場合で、 > 連続王手の千日手が..]
_ 柿木 [再度訂正です。実際にあったのが、次の反則でない千日手の場合でした。 指し手によって連続王手でない千日手が成立した場..]
_ kaneko [柿木さん 千日手の件、了解しました。 こちらでtelnetで何度かテストしてみたのですが、今のところ通常の千日手の場..]