測定ノード数とレート差
最近、水匠開発者の@tayayan_tsが新しい評価関数水匠改を公表されたのを機に、データを取ってみることにしました。お相手はYaneuraou 4.85とKristalweizen評価関数を組み合わせたもの、水匠は添付されているDolphin1と組み合わせました。その他の対局条件としては
一手あたりのノード数を固定する
tanuki-互角局面集を用いて25手目より開始。通常のレーティングの測り方は初手から定跡切ですが、互角局面集を用いるとどう変化するか興味があるので採用。
320手で引き分け。-3000点で投了。
各ノード数で1000局ずつ対局しレート差を計算。
以前よりある程度知られていることでしたが、ノード差によりこの2つのソフトの相対的な強さは大きく変動することがわかりました。以下、対局結果とグラフを示します。まず対局結果は、
Dlp1/Suisho-Kaiの列はDolphin1+水匠改の勝数、Yo485/KwはYaneuraou4.85+Kristallweizenの勝数です。ノード数10,000というとかなり少ない感じですが、レーティングではR2000位、ノード数100,000だとR2700位なので将棋としてはそれなりのレベルを保った対局であり、将棋神やねうら王でもこれらのレンジのノード数は用いられています。測定を行った一手あたり2,000-500,000の範囲では水匠が勝ち越していますが、レート差はノード数により46から234まで大きく変動しています。ノード数とレート差をグラフにすると以下のようになります。
一般的な傾向としてDolphin1を使用している水匠は低ノードでより力を発揮し、Yaneuraou+Kristallweizenはノード数が多いほど差を縮めていることがわかります。問題は更にノード数を増やしていったときにこのグラフがどうなっていくのかということですが、どんどんレート差が減っているのでどこかで逆転することもありうるとも思われます。一方@tayayan_ts氏の測定では1500万ノードでの測定でDolphin1/水匠改 265-31-204 Dolphin1/Kristallweizen でレート差44となり50万ノードでの測定とほぼ同じになります、とのことです。これをもとに考えるとこの先ノード数を増やしてもレート差は一定の値に収束していくと考えることもできます。
注:なお、Kristallweizenと組み合わせる探索エンジンはDolphin1であり、また初手より定跡なしの対局だと思われるので測定条件はやや異なることに注意が必要です。
課題だと思われるのは
ノード数を更に伸ばしていったときにレート差は収束するのか
もしそうだとして、レート差が収束するノード数はソフトに依存するものか
上記のようなレート差の振る舞い(10,000ノードあたりにピークが来て両側に小さくなっていく)を説明することができるのか
などがあげられます。個人的に興味深い問題ですので、これらの課題については今後も調べていこうと思っています。