sakurapyon’s blog

sakurapyon’s blog

昔のsakurapyonと探索速度を比較してみた

送りバントが成功できるまで見守るブログさんの勝手ルールで一人指し手生成祭をやってみたらゆっくりゆうちゃんだったの局面を実行してみた。

後手の持駒:なし
9 8 7 6 5 4 3 2 1

                                                        • +
v香v桂v銀v金v玉v金v銀v桂v香
・v飛 ・ ・ ・ ・ ・v角 ・
v歩 ・v歩v歩v歩v歩 ・v歩v歩
・v歩 ・ ・ ・ ・v歩 ・ ・
・ ・ ・ ・ ・ ・ ・ ・ ・
・ ・ 歩 ・ ・ ・ ・ 歩 ・
歩 歩 ・ 歩 歩 歩 歩 ・ 歩
・ 角 ・ ・ ・ ・ ・ 飛 ・
香 桂 銀 金 玉 金 銀 桂 香
                                                        • +

先手の持駒:なし
手数=4 ▽3四歩 まで

sakurapyon-41、探索深さ14手(延長探索は18手まで行ってます)での測定結果。

9/11: 0( 0): 8002 ▲68玉(59) △88角成(22)▲88銀(79)△65角打▲36角打 △62玉(51)▲75歩(76)△74歩(73)▲74歩(75)
探索中: depthMax/iter/max=14/9/11, time=0.195秒, 10357 nodes, 53009.520 nps, 97845 leaves, 9.4 l/n (2.79^9=10357), quiescount=221350, moves=106623 (mpn=10.29)
10/11: 0( 0): 13183 ▲68玉(59) △88角成(22)▲88銀(79)△65角打▲36角打 △62玉(51)▲75歩(76)△35歩(34)▲45角(36)△47角成(65)
探索中: depthMax/iter/max=14/10/11, time=0.370秒, 19444 nodes, 52528.920 nps, 166730 leaves, 8.6 l/n (2.68^10=19444), quiescount=389540, moves=183121 (mpn=9.42)
11/12: 0( 0): 24240 ▲68玉(59) △88角成(22)▲88銀(79)△65角打▲36角打 △62玉(51)▲75歩(76)△35歩(34)▲45角(36)△47角成(65) ▲23角成(45)
探索中: depthMax/iter/max=14/11/12, time=0.565秒, 32672 nodes, 57787.172 nps, 260964 leaves, 8.0 l/n (2.57^11=32672), quiescount=608276, moves=288790 (mpn=8.84)
12/14: 0( 0): 50757 ▲68玉(59) △88角成(22)▲88銀(79)△65角打▲36角打 △62玉(51)▲75歩(76)△35歩(34)▲45角(36)△47角成(65) ▲23角成(45)△51金(41)
探索中: depthMax/iter/max=14/12/15, time=1.478秒, 112249 nodes, 75924.101 nps, 873505 leaves, 7.8 l/n (2.64^12=112249), quiescount=1993618, moves=968532 (mpn=8.63)
13/17: 0( 0): 218395 ▲68玉(59) △42玉(51)▲78玉(68)△88角成(22)▲88銀(79) △32玉(42)▲79玉(78)△94角打▲77角打△22銀(31) ▲78飛(28)△35歩(34)▲68角(77)△14歩(13)
探索中: depthMax/iter/max=14/13/17, time=3.065秒, 247182 nodes, 80648.366 nps, 1875746 leaves, 7.6 l/n (2.60^13=247182), quiescount=4370864, moves=2085288 (mpn=8.44)
14/18: 0( 0): 290156 ▲68玉(59) △42玉(51)▲78玉(68)△88角成(22)▲88銀(79) △32玉(42)▲79玉(78)△94角打▲77角打△22銀(31) ▲78飛(28)△35歩(34)▲68角(77)△14歩(13)▲77銀(88)
探索中: depthMax/iter/max=14/14/18, time=4.785秒, 414826 nodes, 86698.888 nps, 3119370 leaves, 7.5 l/n (2.52^14=414826), quiescount=7272120, moves=3473294 (mpn=8.37)

「評価関数の呼び出し回数」ってことは、葉局面の数で数えていいのかな。それだと 3119370局面 なので 652k局面/sec という計算になる。 昔のsakurapyon-05は反復9回で11秒(秒未満不明),899094局面だから 約80k局面/sec。1桁近く早くなってるんだな…(枝刈りによって葉の展開数は変わってくるので、数値がでかければ速いわけじゃないとは思いますが)
静止探索も入れるともっと増えますが、このへんはどう計算したらいいんだろ。

20( 0):▲78金(69)△88角成(22)▲88銀(79)△65角打▲56角打 △56角(65)▲56歩(57)△32金(41)▲77銀(88)
depthMax=9(10), time=11 sec
bestVal:20 (20),te:▲78金(69)△88角成(22)▲88銀(79)△65角打▲56角打 △56角(65)▲56歩(57)△32金(41)▲77銀(88)
leafcount:899094, nodecount=198110, nullcount:7468, nullcount2=930, futilitycount=28873,
手数: 5 思考時間: 11秒 総思考時間:先手 0:13 後手 0:02

反復9回時点で比較すると、sakurapyon-05->41は 読んでいる局面数が1桁減ってる。昔は10秒で9手しか読めなかったのに今は14手以上読んでるので、たぶん速度向上分で2手ぐらい+探索効率改善で2手ぐらい深く読めるようになってるのだと思う。

レーティングは1300→1900なので、1手でR150ぐらい? ということは、もう0.5手ぐらい深く読めるとR2000台が見えてきそうだ。もう0.5手…ってどうすればいいんだろ……