nodchipのコンピューター将棋ブログ

コンピューター将棋ソフト「tanuki-」シリーズの実験結果を掲載しています。

tanuki- 2023-09-21 角換わり水匠定跡生成手法追試

tanuki- 2023-09-21 角換わり水匠定跡生成手法追試

実験内容

  • 角換わり水匠定跡の生成手法を追試する。

定跡生成

スクリプト https://github.com/tayayan/HiraganaSuisho/blob/main/makebook.py
思考エンジン tanuki-wcsc33
開始局面 角換わり基本図 position startpos moves 2g2f 8c8d 2f2e 8d8e 7g7f 4a3b 8h7g 3c3d 7i8h 2b7g+ 8h7g 3a2b 1g1f 1c1d 6i7h 2b3c 3i4h 7c7d 4g4f 7a6b 4h4g 5a4b 3g3f 6c6d 2i3g 8a7c 5i6h 6b6c 9g9f 9c9d 4i4h 6a6b 2h2i 8b8a 4g5f 6c5d 6g6f
思考ノード数 20000000
投了値 300
並列並列数 28
生成期間 約 2 週間

レーティング測定

対局相手 tanuki-wcsc33 + 定跡なし
思考時間 持ち時間 300 秒 + 1 手 2 秒加算
対局数 5000
同時対局数 64
ハッシュサイズ 512
開始局面 角換わり基本図

実験結果

角換わり水匠定跡のファイルサイズ … 3,712,513 バイト

作成した定跡 (book20230919101806.db) のファイルサイズ … 159,827 バイト

レーティング測定

対局数=5000 同時対局数=64 ハッシュサイズ=512 開始手数=37 最大手数=320 開始局面ファイル=C:\Jenkins\workspace\TanukiColiseum.2023-04-16\TanukiColiseum\bishop_exchange.2023-06-25.sfen NUMAノード数=1 表示更新間隔(ms)=3600000

思考エンジン1 name=YaneuraOu NNUE 7.63 64ZEN2 TOURNAMENT author=by yaneurao exeファイル=C:\Jenkins\workspace\TanukiColiseum.2023-04-16\engine1\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス=D:\hnoda\tanuki-wcsc33-2023-05-04\eval 定跡手数=256 定跡ファイル名=book20230919101806.db 思考ノード数=0 思考ノード数に加える乱数(%)=0 思考ノード数の乱数を1手毎に変化させる=False 持ち時間(ms)=300000 秒読み時間(ms)=0 加算時間(ms)=2000 乱数付き思考時間(ms)=0 スレッド数=1 BookEvalDiff=30 定跡の採択率を考慮する=true 定跡の手数を無視する=true SlowMover=100 DrawValue=-2 BookEvalBlackLimit=0 BookEvalWhiteLimit=-140 FVScale1=16 Depth1=0

思考エンジン2 name=YaneuraOu NNUE 7.63 64ZEN2 TOURNAMENT author=by yaneurao exeファイル=C:\Jenkins\workspace\TanukiColiseum.2023-04-16\engine2\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス=D:\hnoda\tanuki-wcsc33-2023-05-04\eval 定跡手数=256 定跡ファイル名=no_book 思考ノード数=0 思考ノード数に加える乱数(%)=0 思考ノード数の乱数を1手毎に変化させる=False 持ち時間(ms)=300000 秒読み時間(ms)=0 加算時間(ms)=2000 乱数付き思考時間(ms)=0 スレッド数=1 BookEvalDiff=30 定跡の採択率を考慮する=true 定跡の手数を無視する=true SlowMover=100 DrawValue=-2 BookEvalBlackLimit=0 BookEvalWhiteLimit=-140 FVScale2=16 Depth2=0

対局数5000 先手勝ち3019(65.0%) 後手勝ち1624(35.0%) 引き分け357

engine1

勝ち2413(52.0% R12.7 +-9.6) 先手勝ち1569(33.8%) 後手勝ち844(18.2%)

宣言勝ち66 先手宣言勝ち32 後手宣言勝ち34 先手引き分け205 後手引き分け152

engine2

勝ち2230(48.0%) 先手勝ち1450(31.2%) 後手勝ち780(16.8%)

宣言勝ち62 先手宣言勝ち31 後手宣言勝ち31 先手引き分け152 後手引き分け205

2413,357,2230

定跡の生成中、連勝数は最大で 100 程度だった。生成の終盤は連勝数が 10~20 程度しかなかった。

今回作成した定跡のファイルサイズは、角換わり水匠定跡のファイルサイズに比べて、非常に小さかった。

今回作成した定跡を搭載した tanuki-wcsc33 と、定跡なしの tanuki-wcsc33 を対局させたところ、 R12.7 のレーティング差があり、有意な差があった。

考察

連勝数が伸びなかったことより、定跡生成が収束していなかったのだと考える。一方、杉村氏が定跡を生成した際は 1 週間程度で収束したと聞いている。これらの違いは、思考エンジンの違いによるものだと考える。

今回作成した定跡のファイルサイズが小さかった理由は、定跡生成が収束しておらず、負けと判定されたノードが多かったことだと考える。

レーティングは定跡なしと比べて R12.7 高かったが、角換わり水匠定跡の R69.5 に比べると低い。これは、定跡がカバーしている局面の範囲が小さかったことが原因だと考える。

まとめ

角換わり水匠定跡の生成手法を追試した。

結果、定跡なしの場合と比較し、有意に強かった。一方、角換わり水匠定跡に比べ、レーティング差は低かった。

次回は、角換わり水匠定跡と、たややん定跡生成手法 2023 で生成した定跡のレーティングを比較したい。