1.2くらいから考える将棋ブログ

わかった気になるも、よくわからないことを考えていく?

ソフトレーティングと局面評価値とのあれこれ(雑記)

ソフトのレーティング差による勝率差と初期局面での形勢差の関係


同じソフト同士なら勝率xとされる局面で(※というのはだれが判定するのか、対局ソフトの自己申告?第三者ソフトの連続対局などで判定?)、勝率0.5付近に調整するにはレート差ΔRが必要とする。

ΔRとxに相関はあるのか


簡易化、別視点で考えると、、同ソフトで勝率x%となる局面において、
平手(orいわゆる互角局面)で

 

たしかLFICSなどに参考記事があったかも

 

書きかけ

やねうら王のテラショック定跡コマンドで遊ぶー6

ガッツリ遊ぶことはなくなりましたが、たまにいじったり、軽く動かしたりはしていたので、その時感じたことの忘備録としてのメモです。

 

extend_treeで伸ばしたsfenをkifにして、ShogiGUIなどの定跡の素材にしてはどうか

extend_tree時の評価値での延長打ち切りオプションの範囲を広げると幅広い定跡になるのでは。例えば後手番定跡をつくるとして、先手番では最善手以外のー500になるような手も延長させてば、その局面を後手番で思考させることで後手番のつよつよ定跡になるのではないだろうか。


まず、指したい手を指す。
相手の応手として、dlshogi, gikou, Aobazero, MiacisなどDL系ソフトのポリシー上位の手を登録したり、MultiPV10以上で思考させる。makebook extend_treeで後手の閾値を-32000など極端に下げることで、相手のどんな手も登録される。
これらの手に対して、こちら側は上位3手くらいを登録し、それに対して相手の応手は…(繰り返し)

http://live4.computer-shogi.org/wcsc32/kifu/WCSC32_F7_YAN_TNK_1.html

的には一桁手数を乗り切れれば無難か…?

(dlshogiベンチマーク)GPUによるdlshogiのNPSの違い

今夏、dlshogi(wcsoc2020版)を導入した際に手持ちの何枚かのGPUでどれくらいNPSが変わるのか確かめました。

今では電竜戦版がより良い性能のはずなのであくまで参考記録ですが、dlshogiを導入したいと思っているけど今手持ちのグラボでどの程度読めるんだろうと思っている方の参考になれば幸いです。

 

実施条件

エンジンオプション:デフォルトのまま

エンジンへの送信コマンド:

isready

position startpos moves 7g7f 3c3d 6g6f 8c8d 2h6h 7a6b 1g1f 1c1d 3i3h 5a4b 7i7h 4b3b 7h6g 6a5b 5i4h 5c5d 4h3i 6b5c 4g4f 7c7d 3i2h 8d8e 8h7g 2c2d 6i5h 3b2c 3g3f 3a3b 2g2f 8b7b 6h7h 4c4d 5h4g 5b4c 2i3g 5c4b 7h8h 8a7c 6g5f 4b3c 3h2g 2b3a 4i3h 9c9d 6f6e 5d5e 7g5e 4c5d 4f4e 4d4e 5e6f 3c4d P*4f 3a2b 4f4e 4d5e 5f5e 5d5e 6f5e 2b5e 8h9h 8e8f 2f2e 2d2e 4g5f 5e2b 4e4d 2b4d 5f4e 7b4b 4e3d 2c3d S*4e 3d2c P*2d 2c1b G*2c 3b2c 2d2c+ 1b2c P*4c 4b5b 4e4d 5b5g+ S*2d 2c3d 2d3e 3d2c B*4b 4a4b 4c4b+ B*6f 8g8f 2c1b P*2d G*2b 4d4c 5g3g 3h3g B*3i 2h2i

go btime 0 wtime 0 byoyomi 600000

 

検討局面は指し手生成祭りとして一部界隈で有名な下の局面、dlshogiは過去の指し手も必要なのでl6nl/5+P1gk/2np1S3/p1p4Pp/3P2Sp1/1PPb2P1P/P5GS1/R8/LN4bKL w RGgsn5p 102のUSI局面形式ではなく、上記USI棋譜形式を用いました。

 

結果

GTX1050Ti

info nps 2772 time 292549 nodes 811078 hashfull 524 score cp -3124 depth 29 pv G*3c G*3b 2b3b 4b3b N*1g 1i1g S*2h 9h2h 3i2h+ 2i2h R*5h G*3h 5h3h+ 3g3h 6f5e S*4f 5e4f 3e4f S*1i 2h1i G*2i 1i2i G*1i 2i1i 3c3b G*2c 3b2c 2d2c+ 1b2c
bestmove G*3c

GTX1660
info nps 12196 time 79528 nodes 969968 hashfull 617 score cp -3154 depth 29 pv G*3c G*3b 2b3b 4b3b N*1g 1i1g S*2h 9h2h 3i2h+ 2i2h R*5h G*3h 5h3h+ 3g3h 6f5e S*4f 5e4f 3e4f S*1i 2h1i G*2i 1i2i G*1i 2i1i 3c3b G*2c 3b2c 2d2c+ 1b2c
bestmove G*3c

RTX2070 SUPER

info nps 16821 time 63693 nodes 1071424 hashfull 674 score cp -3180 depth 29 pv G*3c G*3b 2b3b 4b3b N*1g 1i1g S*2h 9h2h 3i2h+ 2i2h R*5h G*3h 5h3h+ 3g3h 6f5e S*4f 5e4f 3e4f S*1i 2h1i G*2i 1i2i G*1i 2i1i 3c3b G*2c 3b2c 2d2c+ 1b2c
bestmove G*3c

1050Tiから1660で飛躍的に上昇しましたが、1660から2070はそれほど上昇した感じはありませんでした、値段を考えると1660が中庸といった感じでいいのかもしれません。

手順は上に書いた通りなので、いつか30番代が手に入れればシリーズでのNPSも見てみようと思います。

 

おまけ

別の局面もやっていたのですが、たいして変わりないので表で置いておきます。

send info GTX1050Ti GTX1660 RTX2070S
position startpos moves 2g2f 8c8d 7g7f 4a3b 2f2e 8d8e 8h7g 3c3d 7i6h 2b7g+ 6h7g 3a2b 3i4h 7a6b 1g1f 1c1d 3g3f 6c6d 6i7h 2b3c 5i6h 6b6c 2i3g 5a4b 4g4f 7c7d 9g9f 9c9d 4h4g 8a7c 4i4h 8b8a 2h2i 6a6b 4g5f 6c5d 6g6f info nps 1566 time 318297 nodes 498732 hashfull 474 score cp -5 depth 42 pv 4b3a 6h7i 6d6e 2i6i 6e6f 7g6f P*6e 6f5e 5d5e 5f5e 7d7e P*6c 6b7b 3g4e 3c4b B*2f 8e8f 8g8f 7e7f 4e5c+ B*3c S*5f P*8g 7h8g S*6f 6c6b+ 7b6b 5c4b 3b4b 2f6b+ N*7e 7i6h 6f5e 5f5e S*6g 6h5i 3c5e 2e2d S*6h 6i6h 6g6h+ 5i4i info nps 7235 time 68842 nodes 498109 hashfull 473 score cp 5 depth 39 pv 4b3a 6h7i 6d6e 2i6i 6e6f 7g6f P*6e 6f5e 5d5e 5f5e 7d7e P*6c 6b7b 3g4e 3c4b B*2f 8e8f 8g8f 7e7f 4e5c+ B*3c S*5f P*8g 7h8g S*6f 5e6f 6e6f P*7d S*7e 7d7c+ 7e8f 8g7f 8f8g P*8b 8g7f+ 8b8a+ P*7g 7i6h 7g7h+ info nps 11511 time 59996 nodes 690652 hashfull 655 score cp 0 depth 46 pv 4b3a 6h7i 6d6e 2i6i 6e6f 7g6f P*6e 6f5e 5d5e 5f5e 7d7e P*6c 6b7b 3g4e 3c4b B*2f 7e7f 4e5c+ 8e8f 8g8f B*3c S*5f P*8g 7h8g S*6f 5e6f 6e6f P*7d 7c6e 5f6e 6f6g+ 6i6g S*6f 5c4b 3b4b 6g6f 3c6f N*5d R*2i 7i6h 2i2f+ 5d4b+ 3a4b 6e5d N*5f 6h6g
position startpos moves 2g2f 8c8d 7g7f 4a3b 2f2e 8d8e 8h7g 3c3d 7i6h 2b7g+ 6h7g 3a2b 3i4h 7a6b 1g1f 1c1d 3g3f 6c6d 6i7h 2b3c 5i6h 6b6c 2i3g 5a4b 4g4f 7c7d 9g9f 9c9d 4h4g 8a7c 4i4h 8b8a 2h2i 6a6b 4g5f 6c5d 6g6f 4b3a 3f3e 3d3e info nps 1561 time 264870 nodes 454676 hashfull 468 score cp 260 depth 43 pv 3g4e 3c3d 2e2d 2c2d 2i2d 3b2c 2d2i P*2e 7f7e 7d7e P*7d 3a4b 8i9g B*2f 4h4g 3e3f 2i3i 7c6e 6f6e 6d6e 3i3f 4c4d P*6c 6b6c N*5e 6c6b 7d7c+ 6b7c B*6b 4d4e 6b7c+ N*4d 3f2f 4d5f 5g5f 2e2f 5e6c+ R*2h N*5h S*4i G*5i 4i5h+ 5i5h info nps 7073 time 60000 nodes 465254 hashfull 489 score cp 226 depth 54 pv 3g4e 3c3d 2e2d 2c2d 2i2d 3b2c 2d2i P*2d 7f7e 7d7e P*7d 3a4b 7d7c+ 6b7c 6h7i 4c4d B*6b 7c6c 4e5c+ 6c5c P*7d P*5e 5f6g 3e3f 7d7c+ N*2e N*4i 3d4c 7c7d B*9b 6b7c+ 8a7a 7c8d 9b7d 2i3i 5c6c 5g5f 7a3a 5f5e 5d5e 7i8h 5e4f 8d7d 6c7d B*5f B*4a P*3b 4c3b 3i3f 4f5e 5f2c+ 3b2c P*4c 4b4c info nps 10250 time 59999 nodes 661191 hashfull 665 score cp 244 depth 56 pv 3g4e 3c4b 2e2d 2c2d 1f1e 4c4d 7f7e 7d7e 1e1d 4d4e P*7d 4e4f 7d7c+ 6b7c 1d1c+ 1a1c 1i1c+ 2a1c 2i1i P*1b N*4d 3b3c L*5e 5d6c B*4e N*3d 4e6c+ 7c6c S*7b 3c4d 7b8a+ 3a3b R*1a B*2c 1a6a+ N*5a 8a9a 3d2f L*5b 2c3d 6a7b 5a4c 7b6c 4c5e 5b5a+ 4f4g+ 5a5b 4g4h 5b4b 3b4b 5f5e 4d5e G*4d 4h5h 6h7i 3d7h+
position startpos moves 2g2f 8c8d 7g7f 4a3b 2f2e 8d8e 8h7g 3c3d 7i6h 2b7g+ 6h7g 3a2b 3i4h 7a6b 1g1f 1c1d 3g3f 6c6d 6i7h 2b3c 5i6h 6b6c 2i3g 5a4b 4g4f 7c7d 9g9f 9c9d 4h4g 8a7c 4i4h 8b8a 2h2i 6a6b 4g5f 6c5d 6g6f 6d6e 6f6e 5d6e info nps 1557 time 309028 nodes 481253 hashfull 458 score cp 300 depth 48 pv 6h5h 4c4d 2i6i P*6d 5f5e B*2g 5h4g 3d3e 3f3e 2g7b+ B*3f 6e5d 5e6d 4b3a P*6c 6b5b 4g5h 3a2b 1f1e 1d1e P*1c 1a1c 2e2d 3c2d P*1d 1c1d 3f1d 2d3e 6i2i 5d4c L*2h 4c3d 1i1e P*3f 3g2e P*1c 2e1c+ 2a1c P*3g N*2e 3g3f 3e2d 3f3e 2d3e 2h2e 1c2e 1d2e 3d2e info nps 7096 time 67823 nodes 481325 hashfull 458 score cp 311 depth 47 pv 6h5h 6e5f 5g5f 7c6e 7g6f P*6d 8i7g 4b3a P*6c 6b7b 3g4e 3c4d S*5b 8e8f 8g8f B*9c 7f7e 8a8f 2e2d 2c2d 7g6e 6d6e N*5e S*5d 5e4c+ 5d4c 5b4c+ 3b4c B*6a S*3b P*2c 6e6f 2i2d S*1c S*2b 3a4b 2b1c+ 7b7a 2c2b+ 7a6a 2b3b 4b5b S*6d 6f6g+ 7h6g 8f8h+ 5h4g info nps 11310 time 60002 nodes 678638 hashfull 646 score cp 322 depth 51 pv 6h5h 4c4d 2i6i P*6d 5f5e B*2g 5h4g 3d3e 3f3e 2g7b+ B*3f 6e5d 5e6d 4b3a P*6c 6b5b 4g5h 3a2b 1f1e 1d1e P*1c 1a1c 2e2d 3c2d P*1d 1c1d 3f1d P*6e 6i2i 5d6c 6d5e 6c5d 5e4d P*4c L*3d P*3c 3d3c 2a3c 4d3c+ 3b3c N*4e 5b4b 4e3c+ 4b3c G*3d S*1c 1d3f N*4d 3d3c 2b3c 3f5d
position startpos moves 2g2f 8c8d 7g7f 4a3b 2f2e 8d8e 8h7g 3c3d 7i6h 2b7g+ 6h7g 3a2b 3i4h 7a6b 1g1f 1c1d 3g3f 6c6d 6i7h 2b3c 5i6h 6b6c 2i3g 5a4b 4g4f 7c7d 9g9f 9c9d 4h4g 8a7c 4i4h 8b8a 2h2i 6a6b 4g5f 6c5d 6g6f 6d6e 6f6e 7c6e info nps 1560 time 304723 nodes 475593 hashfull 452 score cp 306 depth 46 pv 7g6f P*6d 4f4e 4b3a B*4f B*7c 2e2d 3c2d 6f5e 5d6c 4e4d 4c4d P*6f 5c5d 5e4d P*4c 4d4c+ 3b4c 6f6e 3a3b P*4e 4c5c N*4d 3b2b 4f2d 2c2d P*2e 2b3c 2e2d P*2h 2i2h S*3i 2d2c+ 3c4c S*3b 4c4b 2c3c 2a3c 2h2b+ 3i4h 6e6d 7c6d 3b4a+ 4b4a 2b6b S*5b info nps 7140 time 66695 nodes 476207 hashfull 452 score cp 301 depth 43 pv 7g6f P*6d 4f4e 4b3a B*4f B*7c 2e2d 3c2d 6f5e 5d6c 4e4d 4c4d P*6f 5c5d 5e4d P*4c 4d4c+ 3b4c 6f6e 3a3b P*4e 4c5c N*4d 3b2b 4f2d 2c2d P*2e 2d2e S*3b S*2d 3g2e P*2h P*2c 2b1b 2i2h 6d6e 2h2f 7c1i+ 3b2a 8a2a 4d3b+ 2a2c 2e3c+ info nps 10615 time 60003 nodes 636951 hashfull 604 score cp 334 depth 57 pv 7g6f P*6d 4f4e 8e8f 8g8f 3d3e 3f3e 8a8f 6f6e 5d6e 5f6e S*4g 6h7g 8f8a P*8b 8a8b S*7a B*5e P*6f 4g4h 7a8b 6d6e R*8a G*6a 8a9a+ P*8a N*7c 6a5a 9a8a P*8e 7g8h 4h5g+ L*5i 5e6f B*7g S*6g 7g6f 6g7h+ 8h7h 6e6f 5i5g B*6g 7h7g 6g5h+ 7g6f P*6e 6f5f 6b6c 2i2f 6c6d S*5e 6d5e 5f5e S*5d 5e4f G*4g 4f3f
position startpos moves 2g2f 8c8d 7g7f 4a3b 2f2e 8d8e 8h7g 3c3d 7i6h 2b7g+ 6h7g 3a2b 3i4h 7a6b 1g1f 1c1d 3g3f 6c6d 6i7h 2b3c 5i6h 6b6c 2i3g 5a4b 4g4f 7c7d 9g9f 9c9d 4h4g 8a7c 4i4h 8b8a 2h2i 6a6b 4g5f 6c5d 6g6f 8a4a 6h7i 4c4d info nps 1880 time 346354 nodes 651432 hashfull 511 score cp 68 depth 21 pv 4f4e 4b5b 4e4d 4a4d P*4g 4d4a 7i8h 6b6c 7h6h 5b6b 6h7h 6b5b 5f6g 3d3e 2i2f 3e3f 2f3f B*2h 2e2d 2c2d P*3d info nps 8536 time 109839 nodes 937670 hashfull 748 score cp 87 depth 31 pv 7g6h 4b3a 6h6g 3a2b 7i8h 2b3a 8i7g 3a2b 8h7i 2b3a 7i8h 3a2b 8h7i 2b3a 7i8h 3a2b 8h7i 4a8a 4f4e 4d4e 3f3e 8a4a 3e3d 3c3d 2e2d 2c2d 2i2d 3b2c 2d2i P*2d 7f7e info nps 14386 time 59963 nodes 862687 hashfull 655 score cp 66 depth 33 pv 4f4e 4b5b 4e4d 4a4d P*4g 4d4a 7i8h 6b6c 5f6g 3d3e B*2g 3c4d 5g5f 5b6b 4g4f 3e3f 2g3f 4d3e 5f5e 5d4c 3f6c+ 6b6c 3g4e P*4d 7f7e 4d4e 7e7d 6c7d 4f4e 7d6c P*7d 6c7d P*3f
position startpos moves 2g2f 8c8d 7g7f 4a3b 2f2e 8d8e 8h7g 3c3d 7i6h 2b7g+ 6h7g 3a2b 3i4h 7a6b 1g1f 1c1d 3g3f 6c6d 6i7h 2b3c 5i6h 6b6c 2i3g 5a4b 4g4f 7c7d 9g9f 9c9d 4h4g 8a7c 4i4h 8b8a 2h2i 6a6b 4g5f 6c5d 6g6f 8a4a 3g4e 3c2b info nps 1565 time 411267 nodes 643734 hashfull 613 score cp 107 depth 36 pv 3f3e 3d3e 2e2d 4c4d 1f1e 2c2d 1e1d 4d4e 7f7e B*6c 1d1c+ 2a1c 7e7d 6c7d P*7e 7d6c 2i2d 2b2c 2d2i P*2h 2i3i P*1d 4f4e 3b3c P*2d 3c2d 4h4g 4a2a 4g4f 2d3d 6h7i 8e8f 8g8f P*8e 4f3e 3d3e info nps 7109 time 90856 nodes 645905 hashfull 615 score cp 107 depth 36 pv 3f3e 3d3e 2e2d 4c4d 7f7e 7d7e 2d2c+ 2b2c P*7d 4a8a 7d7c+ 6b7c 6h7i 4d4e 5f4e 5d4e P*2d 2c3d N*4d 3b3c 4f4e B*7d 6f6e P*2b 2d2c+ 2b2c S*2b 7d6e 2i2f S*4c 7g6f 6e5d 6f5e 5d4e B*3a 8a3a info nps 11380 time 59996 nodes 682796 hashfull 650 score cp 109 depth 41 pv 3f3e 3d3e 2e2d 4c4d 7f7e 7d7e 2d2c+ 2b2c P*7d 4a8a 7d7c+ 6b7c 6h7i 4d4e 5f4e 5d4e P*2d 2c3d N*4d 3b3c 4f4e P*2h 2i2h 8e8f 8g8f N*3f P*7d 7c7b S*7c 7b7a 2h2i P*2h 2i4i 7e7f 7g7f 3f4h+ 4i4h B*3i 4h4g P*4f 4g2g
position startpos moves 2g2f 8c8d 7g7f 4a3b 2f2e 8d8e 8h7g 3c3d 7i6h 2b7g+ 6h7g 3a2b 3i4h 7a6b 1g1f 1c1d 3g3f 6c6d 6i7h 2b3c 5i6h 6b6c 2i3g 5a4b 4g4f 7c7d 9g9f 9c9d 4h4g 8a7c 4i4h 8b8a 2h2i 6a6b 4g5f 6c5d 6g6f 8a4a 3g4e 3c4d info nps 1564 time 323815 nodes 506561 hashfull 482 score cp 387 depth 41 pv 6h7i 6d6e 6f6e 7c6e 7g6h B*8d P*6d 2a3c 2e2d 2c2d 2i2d 3c4e 4f4e P*2c 2d2e N*3c 2e2g 4d4e 5f6e 5d6e N*5e S*5d 6d6c+ 6b6c 5e6c+ 5d6c P*6d 6c5d 3f3e 3d3e B*7b P*6b 7b8c+ 8d6f 8i7g N*5f 5g5f 6f4h+ 7g6e 5d6e 6d6c+ info nps 7112 time 71408 nodes 507890 hashfull 483 score cp 392 depth 41 pv 6h7i 6d6e 6f6e 7c6e 7g6h B*8d P*6d 2a3c 2e2d 2c2d 2i2d 3c4e 4f4e P*2c 2d2e N*3c 2e2g 4d4e 5f6e 5d6e N*5e 6e5d 6d6c+ 5d6c 5e6c+ 6b6c P*4d 4c4d N*5e 6c6b S*6c 6b6a B*8b N*5f 8b9a+ 5f4h+ L*4c 3b4c 2g2c+ S*3b 5e4c+ info nps 11191 time 59969 nodes 671139 hashfull 638 score cp 373 depth 45 pv 6h7i 6d6e 6f6e 7c6e 7g6h B*9c 8i7g 6e7g+ 6h7g N*6d 2i6i P*6f 7g6f 6d5f 5g5f 2a3c N*5g 3c4e 4f4e 5d4e 5g4e 4d4e P*4d P*6g N*5e N*5a 7h6g 4c4d P*4c 5a4c 5e4c+ 4b4c N*5e 4c3c S*4c 3b4c 5e4c+ 3c4c N*5e 4c3b G*4c 4a4c 5e4c+ 3b4c R*4a
position startpos moves 2g2f 8c8d 7g7f 4a3b 2f2e 8d8e 8h7g 3c3d 7i6h 2b7g+ 6h7g 3a2b 3i4h 7a6b 1g1f 1c1d 3g3f 6c6d 6i7h 2b3c 5i6h 6b6c 2i3g 5a4b 4g4f 7c7d 9g9f 9c9d 4h4g 8a7c 4i4h 8b8a 2h2i 6a6b 4g5f 6c5d 6g6f 8a4a 3f3e 3d3e info nps 1560 time 311384 nodes 485780 hashfull 462 score cp 67 depth 51 pv 3g4e 3c3d 2e2d 2c2d 2i2d 3b2c 2d2i P*2e 7f7e 7d7e P*7d 4c4d 7d7c+ 6b7c 6h7i 4a8a B*6b 7c6c 4e5c+ 6c5c P*7c 7e7f 7g7f P*7a 7c7b+ 7a7b P*7c 7b7c 6b7c+ 4b3c P*7d 6d6e 7c7b 8a3a 6f6e N*3f 4h5h B*3g P*3h 3g4f+ N*3g 3f2h+ 2i2h 3e3f 5h4g 3f3g+ 3h3g 4f1c 7d7c+ 3c2b N*4f info nps 7056 time 70983 nodes 500875 hashfull 476 score cp 77 depth 55 pv 3g4e 3c3d 2e2d 2c2d 2i2d 3b2c 2d2i P*2e 7f7e 7d7e P*7d 4c4d 7d7c+ 6b7c 6h7i 7c6c N*5e 6c6b B*8d 4a6a 4e5c 6b5c 8d7c+ 4b3c 7c7b 6a3a P*7d N*3f 4h3h 5d5e 5f5e N*2f 7b6b P*5b 3h3i B*4g 7d7c+ 3f4h+ 7c6c 5c4c 6c5b 2f3h+ 3i4h 3h4h 2i2h 4h3h 2h1h 2e2f S*5f 4g5h+ 1h3h 5h5g N*6h 2f2g+ 5b5c info nps 10884 time 59970 nodes 652721 hashfull 621 score cp 36 depth 60 pv 3g4e 3c3d 2e2d 2c2d 2i2d 3b2c 2d2i P*2e 7f7e 7d7e P*7d 4c4d 6h7i 4a8a 7d7c+ 6b7c B*6b 7c6c 4e5c+ 6c5c P*7d P*5e 5f6g B*2f 4h4g 3e3f 7i8h 3f3g+ 2i2f 3g4g 2f2g N*3e 2g2i 4g5g 7d7c+ G*5b 7c7b 8a3a 6b8d+ 4b3c 7b6b 5b4b 8d8e 3e4g+ B*5a 3a5a 6b5a P*8d 8e7d 5d6c 7d8d 5g6g 7h6g 5e5f P*3e 3d3e 5a4a 4b4a R*5e 6c5b
position startpos moves 2g2f 8c8d 7g7f 4a3b 2f2e 8d8e 8h7g 3c3d 7i6h 2b7g+ 6h7g 3a2b 3i4h 7a6b 1g1f 1c1d 3g3f 6c6d 6i7h 2b3c 5i6h 6b6c 2i3g 5a4b 4g4f 7c7d 9g9f 9c9d 4h4g 8a7c 4i4h 8b8a 2h2i 6a6b 4g5f 6c5d 6g6f 4c4d 4f4e 6d6e info nps 1576 time 365122 nodes 575515 hashfull 544 score cp 118 depth 52 pv 6h7i 7d7e 7f7e 6e6f 7e7d 7c6e 7g6f 8e8f 8g8f P*8h 7h8h 8a8f P*6g P*8g 8h9h 8f7f B*7h 7f7d 9h8g P*6d P*7f 7d7a 6f7e 3d3e 3f3e 9d9e 6g6f 9e9f 6f6e P*3f 3e3d 3c3d N*4f 3d3e 4f5d 5c5d 4e4d 3f3g+ 4h3g 3e4d 2e2d 2c2d P*4c 3b4c P*4e 4d3c P*3d 4c3d P*3e 3d3e 4e4d P*4c info nps 7241 time 83749 nodes 606507 hashfull 573 score cp 116 depth 52 pv 6h7i 7d7e 7f7e 6e6f 7e7d 7c6e 7g6f 8e8f 8g8f P*8h 7h8h 8a8f P*6g P*8g 8h9h 8f7f B*7h 7f7d 9h8g P*6d P*7f 7d7a 6f7e 3d3e 3f3e 9d9e 6g6f 9e9f 6f6e P*3f 3e3d 3c3d N*4f 3d3e 4f5d 5c5d 4e4d 3f3g+ 4h3g 3e4d 2e2d 2c2d P*4c 3b4c P*4e 4d3c P*3d 4c3d P*3e 3d3e 4e4d P*4c info nps 11378 time 59969 nodes 682343 hashfull 644 score cp 102 depth 48 pv 6h7i 7d7e 7f7e 6e6f 7e7d 7c6e 7g6f 8e8f 8g8f P*8h 7h8h 8a8f P*6g P*8g 8h9h 8f7f B*7h 7f7d 9h8g P*6d P*7f 7d7a P*8c 7a8a 6f7e 3d3e 3f3e B*4f 7i6h 8a8c 6g6f 6e5g+ 4h5g 4f3g+ 4e4d 3c4d 2e2d 3g3h 2i6i 2c2d P*8d 8c8a P*2b 2a3c 2b2a+ 8a2a 8d8c+ 3c4e
position startpos moves 2g2f 8c8d 7g7f 4a3b 2f2e 8d8e 8h7g 3c3d 7i6h 2b7g+ 6h7g 3a2b 3i4h 7a6b 1g1f 1c1d 3g3f 6c6d 6i7h 2b3c 5i6h 6b6c 2i3g 5a4b 4g4f 7c7d 9g9f 9c9d 4h4g 8a7c 4i4h 8b8a 2h2i 6a6b 4g5f 6c5d 6g6f 4c4d 4f4e 4d4e info nps 1561 time 311596 nodes 486452 hashfull 462 score cp 217 depth 58 pv 5f4e 5d5e 3f3e 3d3e P*3d 3c2b 2i2f P*4c 5g5f 5e4d 6h7i 8e8f 7g8f 4d4e 3g4e S*5d S*3c 2a3c 3d3c+ 2b3c 4e3c+ 3b3c P*3d 3c4d 2e2d 4b5b 2d2c+ 3e3f S*6h 3f3g+ 4h3g B*4h 2c3c 4h3g+ 2f2b+ 5b6c P*4e 4d4e 3c4c 5d4c 3d3c+ 4c5d 3c4b N*8d B*5b 6b5b 4b5b 5d4c N*5e 4e5e 5b6b 6c5d 5f5e 3g5e 2b2e B*4g 2e5e 5d5e info nps 7083 time 68733 nodes 486851 hashfull 463 score cp 222 depth 54 pv 5f4e 5d5e 3f3e 3d3e P*3d 3c2b 2i2f P*4c 5g5f 5e4d 6h7i 8e8f 7g8f 4d4e 3g4e S*5d S*3c 2a3c 3d3c+ 2b3c 4e3c+ 3b3c P*3d 3c4d 2e2d 4b5b 2d2c+ 3e3f S*6h 3f3g+ 4h3g B*4h 2c3c 4h3g+ 2f2b+ 5b6c P*4e 4d4e 3c4c 5d4c 3d3c+ 4c5d 3c4b N*8d 8f7g 7c8e B*5b 6c7c 7f7e 6b5b 4b5b P*8h 5b5c 8h8i+ info nps 10820 time 59967 nodes 648866 hashfull 617 score cp 256 depth 66 pv 5f4e 5d5e 3f3e 3d3e P*3d 3c2b 2i2f P*4c 5g5f 5e4d 6h7i 8e8f 7g8f 4d4e 3g4e S*5d S*3c 2a3c 4e3c+ 2b3c 3d3c+ 3b3c P*3d 3c4d 2e2d 4b5b 2d2c+ 3e3f 7i8h B*3e 2f3f N*8d S*6g 6d6e N*5h S*5i 3f3e 4d3e 4h4i P*8e 8f7g R*6i 4i5i 6i5i+ B*6h 5i1i 6h3e 9d9e B*4f 1i4i S*6d 8d9f 8h9h G*6c 6d6c+ 5d6c 3d3c+ L*9g 9h9g 4i8i 3c4c 5b4c 4f7c+ 6b7c N*5e 4c5b
position startpos moves 2g2f 8c8d 7g7f 4a3b 2f2e 8d8e 8h7g 3c3d 7i6h 2b7g+ 6h7g 3a2b 3i4h 7a6b 1g1f 1c1d 3g3f 6c6d 6i7h 2b3c 5i6h 6b6c 2i3g 5a4b 4g4f 7c7d 9g9f 9c9d 4h4g 8a7c 4i4h 8b8a 2h2i 6a6b 4g5f 6c5d 6g6f 5d6c 6h7i 4b5b info nps 1781 time 285779 nodes 509107 hashfull 423 score cp 151 depth 43 pv 7i8h 5b4b 4f4e 6c5d B*4f 5d6c 5f4g 4b3a 2i6i 4c4d 4e4d 3c4d P*4e 4d3c 4h5h P*4d 4e4d 3c4d P*4e 4d3c 5g5f 3a4b 6i2i P*4c 7h6g 4b5b 8h7h 5c5d 7g8h 8e8f 8g8f 8a8f 8h8g 8f8a P*8f B*5c 8i7g 1d1e 1f1e P*1g 3f3e 5c3e 4f3e info nps 8169 time 63766 nodes 520913 hashfull 440 score cp 149 depth 42 pv 7i8h 5b4b 4f4e 6c5d B*4f 5d6c 5f4g 4b3a 2i6i 4c4d 4e4d 3c4d P*4e 4d3c 4h5h P*4d 4e4d 3c4d P*4e 4d3c 5g5f 3a4b 6i2i P*4c 7h6g 4b5b 8h7h 5c5d 7g8h 8e8f 8g8f 8a8f 8h8g 8f8a P*8f B*5c 8i7g 1d1e 1f1e P*1g 3f3e 3d3e info nps 13498 time 60002 nodes 809963 hashfull 676 score cp 150 depth 43 pv 7i8h 5b4b 4f4e 6c5d B*4f 5d6c 5f4g 4b3a 2i6i 4c4d 4e4d 3c4d P*4e 4d3c 4h5h P*4d 4e4d 3c4d P*4e 4d3c 5g5f 3a4b 6i2i P*4c 7h6g 4b5b 8h7h 5c5d 7g8h 8e8f 8g8f 8a8f 8h8g 8f8a P*8f B*5c 8i7g 1d1e 1f1e P*1g 3f3e 5c3e 4f3e
position startpos moves 2g2f 8c8d 7g7f 4a3b 2f2e 8d8e 8h7g 3c3d 7i6h 2b7g+ 6h7g 3a2b 3i4h 7a6b 1g1f 1c1d 3g3f 6c6d 6i7h 2b3c 5i6h 6b6c 2i3g 5a4b 4g4f 7c7d 9g9f 9c9d 4h4g 8a7c 4i4h 8b8a 2h2i 6a6b 4g5f 6c5d 6g6f 4b5b 6h7i 4c4d info nps 1592 time 372848 nodes 593690 hashfull 555 score cp 197 depth 40 pv 7i8h 5b4b 4f4e 6d6e 6f6e 7d7e 6e6d 4d4e 6d6c+ 5d6c 7f7e 8e8f 7g8f P*7f 7h6g B*4d B*5e 4d5e 5f5e 9d9e 9f9e P*8e 8f9g 4b3a 6g7f 4e4f 5e4f B*5d 8h7g 6c6d P*6f 3c4d 5g5f 9a9e P*9f 8e8f 8g8f P*6e 7e7d 6e6f info nps 7371 time 81903 nodes 603744 hashfull 561 score cp 187 depth 43 pv 7i8h 5b4b 4f4e 6d6e 6f6e 7d7e 6e6d 4d4e 6d6c+ 5d6c 7f7e 8e8f 7g8f P*7f 7h6g B*4d B*6f 4d6f 6g6f B*4d B*5e 4d5e 5f5e 9d9e 9f9e P*8e 8f9g 4b3a 6f7f 4e4f 5e4f B*5d B*5h 6c6d 2i6i 6d6e 7f7g 9a9e P*9f P*7f 7g7h 9e9f 9g9f info nps 11691 time 59972 nodes 701155 hashfull 654 score cp 174 depth 56 pv 7i8h 5b4b 4f4e 6d6e 6f6e 7d7e 6e6d 4d4e 6d6c+ 5d6c 7f7e 8e8f 7g8f P*7f 7h6g B*4d B*6f 4d6f 6g6f B*4d B*5e 4d5e 5f5e 9d9e 9f9e P*8e 8f9g 5c5d P*6d 6c5b B*1g 5b5c 7e7d 7c6e 7d7c+ 9a9e P*9f 5d5e 6f6e 6b7c 3g4e 5c4d 4e3c+ 4b3c P*4e 4d4e 1g5c+ S*4d 5c6b N*5c 6e6f 7c6d P*4f 4e5d 3f3e 5d6e
position startpos moves 2g2f 8c8d 7g7f 4a3b 2f2e 8d8e 8h7g 3c3d 7i6h 2b7g+ 6h7g 3a2b 3i4h 7a6b 1g1f 1c1d 3g3f 6c6d 6i7h 2b3c 5i6h 6b6c 2i3g 5a4b 4g4f 7c7d 9g9f 9c9d 4h4g 8a7c 4i4h 8b8a 2h2i 6a6b 4g5f 6c5d 6g6f 4b5b 6h7i 5b4b info nps 1788 time 321621 nodes 575364 hashfull 476 score cp 116 depth 37 pv 7i8h 5d6c 4f4e 6c5d B*4f 5d6c 5f6g 4b3a 5g5f 9a9b 2i2h 3a4a 2h2i 4a3a 2i2f 3a4b 5f5e 6d6e 6f6e 7c6e 7g6h 7d7e P*6f 7e7f 6f6e 9d9e 9f9e P*9g 9i9g 8e8f 8g8f P*9f 9g9f 8a8f 7h8g B*9i 8h7h info nps 7943 time 70794 nodes 562326 hashfull 488 score cp 167 depth 38 pv 7i8h 5d6c 4f4e 6c5d B*4f 5d6c 5f4g 4b3a 2i6i 4c4d 4e4d 3c4d P*4e 4d3c 4h5h P*4d 4e4d 3c4d P*4e 4d3c 5g5f 3a4b 3f3e 3d3e 4f3e P*3d 3e4f 4b5b 6i2i 5b6a 4e4d 6a7b 2e2d 2c2d 4d4c+ 3b4c 3g4e 3c2b info nps 12710 time 59969 nodes 762242 hashfull 668 score cp 162 depth 45 pv 7i8h 5d6c 4f4e 6c5d B*4f 5d6c 5f4g 4b3a 2i6i 4c4d 4e4d 3c4d P*4e 4d3c 4h5h P*4d 4e4d 3c4d P*4e 4d3c 5g5f 3a4b 3f3e 3d3e 4f3e P*3d 3e4f P*4c 6i2i 4b5b 5f5e 5b4b 7h6g 4b5b 8h7h 5b4b 6g5f 4b5b 5f5g 6d6e 5g5f 6e6f 5f6f P*6d 6f6g
position startpos moves 2g2f 8c8d 7g7f 4a3b 2f2e 8d8e 8h7g 3c3d 7i6h 2b7g+ 6h7g 3a2b 3i4h 7a6b 1g1f 1c1d 3g3f 6c6d 6i7h 2b3c 5i6h 6b6c 2i3g 5a4b 4g4f 7c7d 9g9f 9c9d 4h4g 8a7c 4i4h 8b8a 2h2i 6a6b 4g5f 6c5d 6g6f 6b7b 6h7i 6d6e info nps 1579 time 350090 nodes 553106 hashfull 521 score cp 143 depth 55 pv 2i6i 6e6f 6i6f P*6e 6f6i B*6d P*6f 6e6f 7g6f P*6e 6f6e 5d6e 5f6e 7c6e 6i6e S*6c S*7g S*5d 6e6i 6d4f P*4g 4f6d N*4f P*6e 4f5d 6c5d S*5f N*7c B*4f 6d4f 4g4f B*6d P*6f 6e6f 7g6f 8e8f 8g8f P*6e 5f6e 5d6e 6f6e 6d8f P*8g P*6h 6i2i 7c6e 8g8f S*6f B*4e S*5d 4e5d 5c5d 3g4e 3c4d B*6d info nps 7343 time 76041 nodes 558394 hashfull 525 score cp 143 depth 39 pv 2i6i 6e6f 7g6f 8a6a P*6e 3c4d 3g4e 2a3c 4e3c+ 4d3c N*6d 7b6b B*8c 6a8a 8c7b+ 6b7b 6d7b+ 8a8c G*6d B*2f 4h5h 8e8f 7b7c 8f8g+ 7c8c P*8f 6i2i 2f3g+ R*6a 3c4d 2e2d 2c2d 6a1a+ 8g7h 7i7h B*8g 7h7g G*8e N*6h info nps 11762 time 60010 nodes 705875 hashfull 661 score cp 130 depth 37 pv 2i6i 6e6f 7g6f 8a6a P*6e 3c4d 4f4e 4d3c B*4f 4b3a 6e6d P*6e 6f7g 3a2b 6i2i 7b6b 7i8h 6a8a 8h7i B*8d 4h5h 6e6f 2i6i 9d9e 9f9e 9a9e P*9g 7d7e 7f7e 8d7e P*7f 8e8f 8g8f 7e8f 7g8f 8a8f P*8g
       
position startpos moves 2g2f 3c3d 7g7f 8c8d 2f2e 8d8e 6i7h 4a3b 2e2d 2c2d 2h2d 8e8f 8g8f 8b8f 2d3d 2b3c 5i5h 5a6b 3d3f 8f8d 3f2f 3c8h+ 7i8h B*4d 2f2a+ 4d8h+ B*9e 8h8i 9e8d 8i7h P*8b P*8c 8b8a+ 8c8d 8a7a 6a7a 5h4h P*3h 3i3h B*1b 2a2f 1b6g+ P*6d P*2g 3h2g N*6e 4h3h 6g4i 3h4i 7h6g N*5h 6e5g+ 6d6c+ 6b6c N*7e 6c6b P*6c 6b5a B*2d P*3c 2d5g 6g5g info nps 1575 time 440840 nodes 694670 hashfull 648 score cp -372 depth 63 pv S*4h G*5i 4i5i G*6h 5i4i 6h5h 4i3i 5h4h 3i2h S*6a 6c6b+ 7a6b P*6c 6b7b R*8a S*7a P*5d 5c5d P*5c N*1d 2f2a P*2f N*6d 2f2g+ 2a2g S*3i 2h1h 3b4b 2g2a B*4e 3g3f 4e3f G*2g 1d2f 2a2f 5g4g 6d7b+ 7a7b 8a7a+ 4b5c 6c6b+ 5a4b P*3d 4h3h 3d3c+ 4b3c 2f3e N*3d N*2e 3f2e G*2d 3c2b 2d2e 5c4d P*2c 2b1b 2e3d 4d3d N*2d 3d2d B*2a 1b2a 3e3a info nps 5720 time 105604 nodes 604153 hashfull 563 score cp -331 depth 62 pv S*4h G*5i 4i5i G*6h 5i4i 6h5h 4i3h 5h4h 3h2h S*6a 6c6b+ 7a6b P*6c 6b7b R*8a S*7a P*5d 5c5d 6c6b+ 5a6b 8a8d+ B*7d P*6d N*1d 8d7d 7c7d B*8d 6b5c 7e6c+ 7b6c 6d6c+ 5c6c G*7c 6c5b 8d5g 1d2f 5g4h 3b2b B*6c 5b4b G*4a 4b3b N*2d 3b2c 4a3a R*6h G*5i R*5h 5i5h 6h5h+ S*3i N*3e R*2e 2c3d 2e3e 3d3e P*5i 5h4g 6c5d+ R*4i 5d3f 4g3f info nps 7292 time 80303 nodes 585618 hashfull 545 score cp -388 depth 68 pv S*4h G*5i 4i5i G*6h 5i4i 6h5h 4i3h 5h4h 3h2h S*6a 6c6b+ 7a6b P*6c 6b7b R*8a S*7a P*5d 5c5d P*5c N*1d 2f2a P*2f N*6d 2f2g+ 2a2g S*3i 2h1h 3b4b 2g2a B*4e 3g3f 4e3f G*2g 1d2f 2a2f 5g4g 6d7b+ 7a7b 8a7a+ 4b5c 6c6b+ 5a4b P*3d P*2e 3d3c+ 4b3c 2f3e P*3d N*4e 3f4e G*2d 3c2b 3e4e N*2f 2g2f 2e2f P*2c 2b1b 2c2b+ 3a2b B*2c 2b2c 2d2c 1b2c N*1e 2c3c 1e2c+ 3c2c
position startpos moves 2g2f 3c3d 7g7f 8c8d 2f2e 8d8e 6i7h 4a3b 2e2d 2c2d 2h2d 8e8f 8g8f 8b8f 2d3d 2b3c 5i5h 5a6b 3d3f 8f8d 3f2f 3c8h+ 7i8h B*4d 2f2a+ 4d8h+ B*9e 8h8i 9e8d 8i7h P*8b P*8c 8b8a+ 8c8d 8a7a 6a7a 5h4h P*3h 3i3h B*1b 2a2f 1b6g+ P*6d P*2g 3h2g N*6e 4h3h 6g4i 3h4i 7h6g N*5h 6e5g+ 6d6c+ 6b6c N*7e 6c6b P*6c 6b5a B*2d P*3c 2d5g 6g5g S*4h info nps 1594 time 60267 nodes 602627 hashfull 568 score cp 281 depth 48 pv G*5i 4i5i G*6h 5i4i 6h5h 4i3i 5h4h 3i2h S*6a 6c6b+ 7a6b P*6c 6b7b R*8a S*7a P*5d 5c5d 6c6b+ 5a6b 8a8d+ B*7d P*6d N*1d 8d7d 7c7d B*8d 6b5c 6d6c+ 7b6c N*4e 5c4d 7e6c+ R*4i 8d6f 5d5e 2f2e 5g3e 2e3e 4d3e 6f5g 3e3d 2h1h P*2f 2g3f R*3h P*2h 2f2g+ 1h2g info nps 5190 time 57879 nodes 960094 hashfull 900 score cp 197 depth 61 pv G*5i 4i5i G*6h 5i4i 6h5h 4i3h 5h4h 3h2h S*6a 6c6b+ 7a6b P*6c 6b7b R*8a S*7a P*5d 5c5d 6c6b+ 5a6b 8a8d+ B*7d P*6d N*1d 8d7d 7c7d B*8d 6b5c 6d6c+ 7b6c 7e6c+ 5c6c G*7c 6c5b 8d5g 1d2f 5g4h 3b2b B*6c 5b4b G*4a 4b3b N*2d 3b2c 4a3a R*6h S*4i N*3e G*2e 3c3d 6c4a+ 2c3c 2e2f 3c4d 4a7d R*6i P*5i P*2e 2f2e 6i5i+ 2e3e 3d3e info nps 6986 time 47752 nodes 962157 hashfull 900 score cp 159 depth 60 pv G*5i 4i5i G*6h 5i4i 6h5h 4i3h 5h4h 3h2h S*6a 6c6b+ 7a6b P*6c 6b7b R*8a S*7a P*5d 5c5d 6c6b+ 5a6b 8a8d+ B*7d P*6d N*1d 8d7d 7c7d B*8d 6b5c 7e6c+ 7b6c 6d6c+ 5c6c G*7c 6c5b 8d5g 1d2f 5g4h 3b2b B*8f 3a4b N*4e 5b4a G*5c 4b5c 4e5c+ 4a3b P*2d N*7e 2g2f P*2g 2h2g P*2e S*2c 2b2c 2d2c+ 3b2c P*2d 2c2d 8f6h 2d3d G*2d
position startpos moves 2g2f 3c3d 7g7f 8c8d 2f2e 8d8e 6i7h 4a3b 2e2d 2c2d 2h2d 8e8f 8g8f 8b8f 2d3d 2b3c 5i5h 5a6b 3d3f 8f8d 3f2f 3c8h+ 7i8h B*4d 2f2a+ 4d8h+ B*9e 8h8i 9e8d 8i7h P*8b P*8c 8b8a+ 8c8d 8a7a 6a7a 5h4h P*3h 3i3h B*1b 2a2f 1b6g+ P*6d P*2g 3h2g N*6e 4h3h 6g4i 3h4i 7h6g N*5h 6e5g+ 6d6c+ 6b6c N*7e 6c6b P*6c 6b5a B*2d P*3c 2d5g 6g5g S*4h G*5i 4i5i info nps 1559 time 60246 nodes 731420 hashfull 683 score cp 194 depth 46 pv G*6h 5i4i 6h5h 4i3i 5h4h 3i2h S*6a 6c6b+ 7a6b P*6c 6b7b R*8a S*7a P*5d 5c5d 6c6b+ 5a6b 8a8d+ B*7d P*6d N*1d 8d7d 7c7d B*8d 6b5c 6d6c+ 7b6c N*4e 5c4d 7e6c+ R*4i 8d6f 5d5e 2f2e 5g3e 2e3e 4d3e 6f5g 3e3d 2h1h P*2f 2g3f R*3h P*2h 2f2g+ 1h2g info nps 5567 time 85645 nodes 476866 hashfull 444 score cp 464 depth 46 pv G*6h 5i4i 6h5h 4i3i 5h4h 3i2h S*6a 6c6b+ 7a6b P*6c 6b7b R*8a S*7a P*5d 5c5d P*5c N*1d 2f2e P*2f N*6d 2f2g+ 2h2g B*3h 2g1h S*2g 2e2g 3h2g+ 1h2g 3b4b P*2f R*2b S*1e 1d2f 1e2f 5a4a 5c5b+ 4b5b N*2e 5b4b 6d7b+ 7a7b 8a9a+ N*3d 6c6b+ 3d2f G*3f info nps 5643 time 1135 nodes 967614 hashfull 900 score cp 192 depth 58 pv G*6h 5i4i 6h5h 4i3h 5h4h 3h2h S*6a 6c6b+ 7a6b P*6c 6b7b R*8a S*7a P*5d 5c5d 6c6b+ 5a6b 8a8d+ B*7d P*6d N*1d 8d7d 7c7d B*8d 6b5c 7e6c+ 7b6c 6d6c+ 5c6c G*7c 6c5b 8d5g 1d2f 5g4h 3b2b B*8f 3a4b N*4e 5b4a G*5c 4b5c 4e5c+ 4a3b P*2d N*7e 2g2f P*2g 2h2g P*2e S*2c 2b2c 2d2c+ 3b2c P*2d 2c2d 8f6h 2d3d G*2d
position startpos moves 2g2f 3c3d 7g7f 8c8d 2f2e 8d8e 6i7h 4a3b 2e2d 2c2d 2h2d 8e8f 8g8f 8b8f 2d3d 2b3c 5i5h 5a6b 3d3f 8f8d 3f2f 3c8h+ 7i8h B*4d 2f2a+ 4d8h+ B*9e 8h8i 9e8d 8i7h P*8b P*8c 8b8a+ 8c8d 8a7a 6a7a 5h4h P*3h 3i3h B*1b 2a2f 1b6g+ P*6d P*2g 3h2g N*6e 4h3h 6g4i 3h4i 7h6g N*5h 6e5g+ 6d6c+ 6b6c N*7e 6c6b P*6c 6b5a B*2d P*3c 2d5g 6g5g S*4h 5g4h 4i4h info nps 1575 time 330668 nodes 520918 hashfull 486 score cp 119 depth 54 pv B*6h 2g3f P*2g P*2h 2g2h+ 2f2h P*2g 2h2g S*5g 4h3h 6h5i+ 3h2h 5i4i 2h1h S*3i P*2h 5a4b 2g2e P*2f 2e2f G*3h 1g1f 3i2h+ 2f2h 3h2h 1h2h R*6h 2h1g P*2e P*2h 3b2b P*5d G*2f 1g1h 2f3f 5d5c+ 4b5c R*5f 5c4b B*5c 4b3b 5c3a+ 3b3a 5f5a+ 3a3b 5a5b 3b2a 3g3f S*2g 2h2g 6h5h+ N*2h 4i2g 1h2g info nps 6009 time 88272 nodes 530459 hashfull 496 score cp 95 depth 51 pv B*6h 2g3f P*2g 2f2g S*5g 4h3i 6h5i+ 3i2h 5i4i 2h1h S*3i P*2h 5a4b 2g2e P*2f 2e2f G*3h 1g1f 3i2h+ 2f2h 3h2h 1h2h R*6h 2h1g P*2e P*2h 3b2b P*5d G*2f 1g1h 2f3f 5d5c+ 4b5c R*5f 5c4b B*5c 4b3b 3g3f 6h5h+ 5c3a+ 3b3a 5f5a+ B*4a G*4b 3a2a 5a4a S*3a 4a3a 2a1b 3a2b 1b2b info nps 9026 time 60007 nodes 541683 hashfull 508 score cp 230 depth 44 pv B*6h 4h3h 6h5i+ B*6f P*6e 2f5f 5a4a 6c6b+ 7a6b R*8a S*5a 5f6e S*7b P*6c 6b6a 8a9a+ G*8a 9a9c P*2h 3h2h 5i5h N*3i P*6d 6e6d 5h7f 9c9f G*8e 9f7f 8e7f 6f4h R*5h L*4i N*5f P*5i 5h8h+ P*8i 5f4h+ 8i8h 4h4i B*9f L*7d 7e8c+ B*5g R*3h
position startpos moves 2g2f 3c3d 7g7f 8c8d 2f2e 8d8e 6i7h 4a3b 2e2d 2c2d 2h2d 8e8f 8g8f 8b8f 2d3d 2b3c 5i5h 5a6b 3d3f 8f8d 3f2f 3c8h+ 7i8h B*4d 2f2a+ 4d8h+ B*9e 8h8i 9e8d 8i7h P*8b P*8c 8b8a+ 8c8d 8a7a 6a7a 5h4h P*3h 3i3h B*1b 2a2f 1b6g+ P*6d P*2g 3h2g N*6e 4h3h 6g4i 3h4i 7h6g N*5h 6e5g+ 6d6c+ 6b6c N*7e 6c6b P*6c 6b5a B*2d P*3c 2d5g 6g5g S*4h G*5i 4i5i G*6h 5i4i 6h5h 4i3h 5h4h 3h2h info nps 1567 time 305451 nodes 478918 hashfull 446 score cp 426 depth 46 pv S*6a 6c6b+ 7a6b P*6c 6b7b R*8a S*7a P*5d 5c5d 6c6b+ 5a6b 8a8d+ B*7d P*6d N*1d 2f2e 5g4g 6d6c+ 7b6c 7e6c+ 6b6c N*6e 7d6e G*6d 6c5b 2e6e 3b4b B*8e 5b5a 6e5d P*5b P*5c N*2f G*4i 4h4i 2g2f 1d2f 5c5b+ 6a5b 8e5b+ 4b5b 5d5b 5a5b 6d5c 5b5c N*4e info nps 6424 time 2734 nodes 964009 hashfull 900 score cp 218 depth 61 pv S*6a 6c6b+ 7a6b P*6c 6b7b R*8a S*7a P*5d 5c5d 6c6b+ 5a6b 8a8d+ B*7d P*6d N*1d 8d7d 7c7d 6d6c+ 7b6c B*8d 6b5c N*4e 5c6d 7e6c+ 6d6c P*6d 6c7b G*7c 7b8a 8d5g 4h4g B*6c N*7b 6c7d+ R*8h G*6h 4g5g 2f6f B*4g 6f5g 4g7d+ 7c7d P*2f 2g3h B*3e P*4f 3e4f 5g4f 8h6h+ G*4h P*7c 7d7c 6h6d P*8b 7a8b 7c8b 8a8b B*5c 6d6i B*4g 6i8i info nps 7740 time 62421 nodes 483198 hashfull 451 score cp 486 depth 54 pv S*6a 6c6b+ 7a6b P*6c 6b7b R*8a S*7a P*5d 5c5d P*5c N*1d 2f2a P*2f N*6d 2f2g+ 2a2g 3b4b 2g2a P*2g 2h1h 1d2f 2a2f 4h3h 2f2g P*2f 2g2f B*4e N*3f P*2d 6c6b+ 5a6b 6d7b+ 7a7b 8a9a+ 4b5c G*7a N*3e P*2h 5g3i 7a6a 7b6a P*6c 5c6c 7e6c+ 6b6c 9a6a P*6b L*6i N*6g 6i6g 4e6g+ S*7b 6c7d S*7e

 

dlshogiで検討するときのTipsを説明してみた。

 前の記事でdlshogiを動かせる状況になったが、検討するにはちょっとしたコツがあったので、忘れないように書いておく

やねうら王をよく使う人がdlshogiを使う際に躓いたところなので、やねうら王系ユーザーには参考になるかも?

jotcut-jshakki.hatenablog.com

 

0.(自分だけ?)

新しいバージョンのdlshogi用の環境をセットアップすると、前のバージョンのdlshogiが動かなくなる。

これは人によるのかもしれませんが、私のパソコンでは、新しいdlshogi用にCUDAやcuDNNやTensorRTをいろいろ設定すると、それまで動いていた直前バージョンのdlshogiが初期化エラーで動かなくなります。

多分いろいろPathとか設定したせいなんでしょうが、正直よくわかりません。

今のところ新しいバージョンの方が使い勝手がよくなっているので、そこまで大きな影響はありませんが、なんででしょうかね。

 

1.MultiPV未対応

現時点の配布実行ファイルはMultiPVに対応していない。GUI側でMultiPVを指定しても特に意味がない。

一応プルリクが出ているので、次の実行ファイルでは対応しているかも?(MultiPV対応しても、やねうら王などのそれとは挙動も意味合いもことなるが)

multipvの実装 by qhapaq-49 · Pull Request #20 · TadaoYamaoka/DeepLearningShogi · GitHub

 

2.無限検討はできない

やねうら王などでは、意味があるかは別として無制限に検討ができた。

一方dlshogiでは探索の仕様が根本的に違う関係で、予め決められたメモリ・ノード数に達すると探索は自動的に停止する。

そのため、例えば寝る前に検討をかけて朝起きて確認するなどの方法だと途中で探索が終了していて勿体無く感じるかもしれない。

見方を変えれば、dlshogi的にそれ以上検討しても無駄だということであり、あまりにも検討終了を早く感じるようであれば、パソコンのスペックを上げるなどしなければならないともいえる。

使うメモリの量はエンジンオプションのUCT_Hash(wcsoc2020版)、UCT_NodeLimit(電竜戦2020版)で設定できる。

3.ShogiGUIは設定変更が必要

ShogiGUIで使う場合、 オプションの「棋譜解析、検討モードで指し手をすべて送る」にチェックを入れないと直ぐに探索終了してしまう(wcsoc2020版のみ、電竜戦2020版ではどちらでも見かけに変更なし)

f:id:jotcutJshakki:20201222235343p:plain

これは、dlshogiが過去の手順も思考の入力に使っているのに対して、オプション非適応時のShogiGUI側は現在の局面だけをエンジンに送信しているため起きると思われる。

このオプション変更が宗教上の理由で不可能な場合は、将棋所で検討すると良い。

 

 

参考

tadaoyamaoka.hatenablog.com

yaneuraou.yaneu.com

dlshogiの導入を画像付きで説明してみた

※本記事は非開発者向けを意識した記事です。dlshogiを使って開発したいという方が見ても多分得られるものはないと思いますが、良ければ突っ込みいただけれると幸いです。

 

最近行われた電竜戦という大会で、チームdlshogiのGCTが優勝しました。DeepLearingベースの将棋エンジンとして初優勝おめでとうございます!

 

これを機にdlshogiを使ってみようという方も徐々に増えていくと思いますので、今回はWindowsユーザー向けに、dlshogiを動かすまでの手順を説明してみようと思います。

 

1. ダウンロードする

dlshogiはWindows向け実行ファイルがご厚意で公開されています。リンク先からダウンロードしましょう。

github.com

※他バージョンは以下のリンクから

Releases · TadaoYamaoka/DeepLearningShogi · GitHub

 

2. 展開する

ダウンロードしたファイルを展開しましょう。圧縮ファイルのままでは動きません。

 

f:id:jotcutJshakki:20201214002743p:plain

dlshogiの展開

3. 必要な外部ファイルを入手する。

 ※OnnxRuntime版を使う場合、以下は不要かもしれません。(未検証)

CUDA, cuDNN, TensorRT を入手します。

3-1 CUDA

先ほどダウンロードしたページに必要なバージョンのCUDAが記載されているので、リンク先からダウンロードしましょう。

(例えば、WCSOC2020版ならCUDA10.2、電竜戦バージョンならCUDA11.0です。) 

f:id:jotcutJshakki:20201214005437p:plain

f:id:jotcutJshakki:20201214005442p:plain

f:id:jotcutJshakki:20201214010149p:plain

 

3-2 cuDNN

CUDA同様、先ほどのReleaseページに必要なバージョンとリンクが記載されているので、リンク先からダウンロードしましょう。会員登録が必要です。

いろいろバージョンがあり迷いますが、ダウンロードしたCUDAのバージョンに対応するものを選びましょう。

(例えば、WCSOC2020版ならcuDNN7.6、電竜戦バージョンなら8.0です。) 

f:id:jotcutJshakki:20201220001709p:plain

f:id:jotcutJshakki:20201220002017p:plain

f:id:jotcutJshakki:20201220002100p:plain

f:id:jotcutJshakki:20201220002122p:plain

f:id:jotcutJshakki:20201220002148p:plain

f:id:jotcutJshakki:20201220002203p:plain

 

3-3 TensorRT

CUDA同様、先ほどのReleaseページに必要なバージョンとリンクが記載されているので、リンク先からダウンロードしましょう。

いろいろバージョンがあり迷いますが、ダウンロードしたCUDAのバージョンに対応するものを選びましょう。

(例えば、WCSOC2020版なら7.0、電竜戦バージョンなら7.2.1です。)

 

f:id:jotcutJshakki:20201220012255p:plain

f:id:jotcutJshakki:20201220012717p:plain

f:id:jotcutJshakki:20201220013001p:plain

f:id:jotcutJshakki:20201220013047p:plain

f:id:jotcutJshakki:20201220013126p:plain

 

例えば電竜戦版の場合最終的にダウンロードしたものはこんな感じ

f:id:jotcutJshakki:20201220013701p:plain

4. 展開、インストールする

4-1 CUDAのインストール

ダウンロードしたcudaのexeファイルをダブルクリックして、出てきた画面を確認しながらインストール。

dlshogi以外に使わないよって場合は、とりあえず推奨設定でインストールすればいいと思います。少なくとも私のパソコンでは問題が発生していません。

f:id:jotcutJshakki:20201220032039p:plain

f:id:jotcutJshakki:20201220024952p:plain

インストール後は再起動を要求されます。インストールに成功すると、以下の様にCドライブにCUDAフォルダが生成されています。

f:id:jotcutJshakki:20201220030622p:plain

4-2 cuDNNの移動

ダウンロードしたcuDNNを解凍すると、下画像右側の様にbin, inclide, libフォルダが現れますので、それらを先ほどインストールしたCUDAv11のフォルダの中に移動して上書きします。

f:id:jotcutJshakki:20201220031034p:plain

4-3 TensorRTの解凍

ダウンロードしたcuDNNを解凍すると、TensorRTのフォルダが展開されるので、それを任意の場所に置きます。

どこに置くかは私もよくわからないです。とりあえずdlshogi以外では使わないので、CUDAの近くに置いています。(いい方法があったら教えてください。)

f:id:jotcutJshakki:20201220031104p:plain

5. Pathを設定する

CUDAのbinとTensorRTのlibをPathに設定する。

 

jotcut-jshakki.hatenablog.com

 

システム環境変数だけでいいような気もするが、私のパソコンではユーザー環境変数も設定しないと動かなかった。

f:id:jotcutJshakki:20201220032635p:plain

 

終わり

以上で設定は終わりです。私はこれで動きました。

 

画像付きで説明しようと頑張りましたが、予想以上に画像が増えて後半失速し説明が雑になった感じがあります。

こういうのこそ動画で説明があるといいのかもしれませんね。

 

参考

tadaoyamaoka.hatenablog.com

 

Pathの通し方を画像付きで説明してみる

今回dlshogiの導入記事を作成するにあたり、環境変数Pathの設定方法を画像付きで説明しようとした。

そうすると思ったより画像数が増えたため、別記事として公開してみた。

今後別のプログラムを導入する際、Pathの設定で躓かないようになる副次的な効果も期待してみる。

1.環境変数の設定画面を開く

大きく分けて3通りの到達方法がある。

1-1.検索欄に「Path」と入力

f:id:jotcutJshakki:20201219205657p:plain

f:id:jotcutJshakki:20201219205836p:plain


1-2.設定→バージョン情報→システム情報→システムの詳細設定

f:id:jotcutJshakki:20201219205719p:plain

f:id:jotcutJshakki:20201219205735p:plain

f:id:jotcutJshakki:20201219205753p:plain

f:id:jotcutJshakki:20201219205836p:plain


1-3.コントロールパネル→システムとセキュリティ→システム→システムの詳細設定

 

f:id:jotcutJshakki:20201219210037p:plain

f:id:jotcutJshakki:20201219210053p:plain

f:id:jotcutJshakki:20201219205753p:plain

f:id:jotcutJshakki:20201219205836p:plain

2.システム環境変数の[Path]を編集し、[環境変数名の編集]に[新規][編集][参照]をして追加したいフォルダ名を入力する

f:id:jotcutJshakki:20201219213824p:plain

 

f:id:jotcutJshakki:20201219214411p:plain

 こっちのPathは違うらしい(よくわからない)

f:id:jotcutJshakki:20201219222006p:plain

 

参考にさせていただいたリンク

PATHが通っているか確認する方法とPATHの追加方法 | nikunimame

「パスを通す」の意味が分からない | Snagimo

パスが通っていない | 「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

「PATH を通す」の意味をできるだけわかりやすく説明する試み - Qiita

Windowsの環境パスを通す(path)

やねうら王のテラショック定跡コマンドで遊ぶー5.5

テラショック定跡を作成する際、まず makebook think の段階で与えた棋譜中の手には評価値がつく。これを build_tree で初期局面の方に伝播させていくわけなんだけども、その伝播はどこで止まるのかなと思い試してみた。

例えば読み抜けで高い評価になる局面があり、その局面が初期局面まで伝播してしまうと、実際は良い評価でないのに誤ってその変化に突っ込んでしまうことも考えられる。

こういったことを思いついた背景としては、棋譜をひとまず終局まで低Depthで解析させ、それをテラショック化させることでそれなりの定跡になるのではないかというネタを思いついたからである。この際相手の大ポカを誤認してなんでもない手を絶妙手と勘違いしてほしくないわけだ。

 

そんなわけでお題となる棋譜を適当に作った。

▲7六歩 △3四歩 ▲6八銀 △4二銀 ▲2二角成

position startpos moves 7g7f 3c3d 7i6h 3a4b 8h2b+

 

3手目の68銀は入門者が習うような大悪手であるけれども、この棋譜ではお相手が真似っこしたため、22角成として大成功したかのように見える。

この22角成の評価が伝播して、68銀は好手であると誤った評価にならないのか確かめようと思う。

 

実験条件

やねうら王バージョン: V5.00

評価関数: orqha1018

MultiPV: 3

Depth: 12

コマンド: makebook from_sfen Input.sfen output.db moves 6 depth 12

makebook build_tree output.db teraput.db

 

結果

テラショック化させた定跡teraput.dbにて、問題の3~5手目の登録手は以下の通り

 

lnsgkgsnl/1r5b1/pppppp1pp/6p2/9/2P6/PP1PPPPPP/1B5R1/LNSGKGSNL b - 3

2g2f 2b8h+ 101 0 1

6i7h 8c8d 83 0 1

1g1f 8c8d 33 0 1

7i6h 2b8h+ -3325 1 1

lnsgkgsnl/1r5b1//6p2/9/2P6/PP1PPPPPP/1B1S3R1/LN1GKGSNL w - 4

2b8h+ 8i7g 3325 0 1

4a3b 8h7g -2 0 1

8c8d 8h7g -27 0 1

3a4b 8h2b+ -3224 1 1

lnsgkg1nl/1r3s1b1/pppppp1pp/6p2/9/2P6/PP1PPPPPP/1B1S3R1/LN1GKGSNL b - 5

8h2b+ 4a3a 3224 1 1

6h7g 8c8d 60 0 1

8h7g 2b3c 41 0 1

 

3手目の結果から、5手目時点のポカに付け込んで得られた偽りの高評価(+3224)は3手目まで伝播せず、4手目時点で相手が正しく指した場合の手が伝播している。

指し手候補手は分岐局面から消えることはないが(オプション等未使用時)、誤った評価については相手番の局面で是正されるため、相手のポカで有利になった局面についてはそこまで気にしなくてもいいのかもしれない。

 

あたりまえのことかもしれんのだけど、久々に使おうとして不安になったのでわざわざ試した。どうせ数か月経つと忘れていそうなので、忘備録として記事にしておく。