将棋ソフトは2倍の思考時間でR200上がる…あれ、嘘だったわ

将棋ソフトは2倍の思考時間でR200上がるというのは通説だ。少なくとも同じ系統の将棋ソフト同士であれば、それぐらい上がっているように見える。

やねうら王(NNUE型評価関数)とやねうら王(KPPT型評価関数)とでも、それくらい上がる。やねうら王と技巧とでもそれくらい上がる。上がっているように見える。

これらのソフトは、評価関数が違えど、そこまで探索している局面に大きな差はないのかも知れない。

そこで今回、やねうら王 VS dlshogi(計測にはふかうら王を用いる)で、探索ノード数を2倍にした時にどれくらいの差が出るのかを調べてみた。基本的にはnpsはほぼ一定とみなせるので、探索ノード数を2倍すれば2倍の思考時間を費やしたことに相当するだろう。

結果は以下のようになった。

engine1 = YaneuraOuV601.exe , eval = suishou_wcso1 // やねうら王 + 評価関数水匠
engine2 = YaneuraOu-Deep-TensorRT_V602dev.exe , eval = gct2020 // ふかうら王 + 評価関数GCT
T1,n300000.n3000,1539 – 74 – 1387(52.6% R18.06[7.49,28.64]) winrate black , white = 51.16% , 48.84%
T1,n300000.n6000,309 – 13 – 678(31.31% R-136.51[-156.11,-116.91]) winrate black , white = 52.58% , 47.42%
T1,n300000.n12000,163 – 8 – 829(16.43% R-282.55[-307.01,-258.08]) winrate black , white = 50.2% , 49.8%
T1,n300000.n1500,990 – 42 – 298(76.86% R208.57[189.7,227.44]) winrate black , white = 52.33% , 47.67%
T1,n600000.n6000,515 – 17 – 468(52.39% R16.62[-1.62,34.86]) winrate black , white = 53.0% , 47.0%
T1,n600000.n3000,841 – 38 – 335(71.51% R159.9[141.45,178.35]) winrate black , white = 52.21% , 47.79%
T1,n1200000.n12000,1207 – 45 – 1202(50.1% R0.72[-10.92,12.36]) winrate black , white = 53.51% , 46.49%
T1,n2400000.n24000,500 – 19 – 481(50.97% R6.73[-11.51,24.97]) winrate black , white = 52.5% , 47.5% // これは前回のデータ

// T1,n300000.n3000 は1スレッドで、やねうら王(水匠) 30万ノード VS ふかうら王(GCT) 3千ノードの意味。
// 1539 – 74 – 1387 は、やねうら王(水匠)から見て、1539勝 1387敗 74引き分け の意味。

表にすると以下のような感じ。

ノード数2倍でR140程度しか上がっていない。従来の説よりずいぶん低い値となった。floodgateの上位はやねうら王系のソフトで占められているので、現状、上位陣は2倍の思考時間で+R200程度上がる感じだが、ここの上位にDL系の将棋ソフトが食い込んでくると、違った様相になると思われる。

また、Deep Learning系の棋力計測も同系のソフト同士だと少しでも探索量が多いほうが大きく勝ち越す傾向はあるので、棋力の計測は異種ソフトとやるほうがいいと思う。是非、上のデータを活用していただきたい。

将棋ソフトは2倍の思考時間でR200上がる…あれ、嘘だったわ」への6件のフィードバック

  1. 思考時間2倍が+R200だった頃と比べてR200も差を付けられなくなるほど強くなってるとか、探索できる数に対して見つかるあたり枝の数が少なく見えるようになったとか、そんなイメージでいいんですか?これ。

    • > 思考時間2倍が+R200だった頃と比べてR200も差を付けられなくなるほど強くなってるとか

      同系のソフトだと思考時間2倍で+R200はいまも昔も成り立つので、それは関係ないかと…。

  2. ちょっと前にレーティングサイトで本家やねうら王より高いRが出る探索部(名前忘れた)がR計測時の低ノードでは強いけどWCSCなどを想定した高ノードでは本家やねうら王に負けるというような例があったと思います。また、評価関数が強いのに探索部が弱い場合はその逆の場合に比べて思考時間を延ばした時のRの伸びが大きいということをここで書かれていたと思います。
    評価関数・探索部を固定した場合、探索ノード数が大きくなればなるほどレートの伸びは小さくなるのではないですか?

    • > 評価関数・探索部を固定した場合、探索ノード数が大きくなればなるほどレートの伸びは小さくなるのではないですか?

      それが、同系のソフト同士ですと1手32秒(1手1500万局面)までは2倍にするごとに+R200程度上がっていくことは確認しています。(それ以上は時間かかりすぎるので試せてないです)

      思うに、仮に思考時の平均分岐数(各局面の有効な合法手の数だと思ってください)が2だとすると、2倍になるごとに1手深く読めます。同じような読み筋で、1手深く読んだ側の勝率が常に8割ぐらいの、一定の勝率をキープするというのは、さほど不自然な想定ではないように思います。

      まあ、なので、思考時間(or 探索ノード数)を2倍にした時に、+Rxxx上がり続けるというのは、かなりの範囲で成り立つ可能性が高いです。

  3. たとえば、「1→2→3→4で先手勝ち」のような棋譜があって、同じソフトでの対戦では先手と後手の入れ替わりで同じことをやらかして1勝1敗のRの差が±0ということになるということだと思うんですけど、片方を2倍思考させてもそういう棋譜がまだたくさん発生してしまうようだと、Rに200も差をつけられないほど勝敗比が薄まってしまうということなんでしょうか?

    • 同系のソフトだと思考時間2倍にすると+R200増え続けるのであれば、そういうことは現時点で観測可能な範囲では起こらないということなんでしょうね…。

コメントを残す

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