tanuki- 2021-07-10 思考ノード数調整
実験内容
- 棋譜生成時の思考ノード数を、自動調整した場合としない場合を比較する
棋譜生成
生成ルーチン | tanuki-棋譜生成ルーチン |
評価関数 | tanuki-denryu-tsec-1 eval |
1手あたりの思考 | 思考ノード数 50,000 ノードをベースとし、自動調整する |
開始局面 | foodgate上の棋譜の24手目までから1局面ランダムに選択し、その局面を開始局面とした |
生成局面数 | 1 億局面× 3 セット |
生成条件 | 対局は打ち切らず詰みの局面まで学習データに出力した |
レーティング測定
対局相手 | tanuki-denryu-tsec-1 eval |
思考時間 | 持ち時間 900 秒 + 1 手 5 秒加算 |
対局数 | 2000 |
同時対局数 | 64 |
ハッシュサイズ | 768 |
開始局面 | たややん互換局面集 |
実験結果
機械学習
自己対局
17:36:38 対局数=2000 同時対局数=64 ハッシュサイズ=768 開始手数=24 最大手数=320 開始局面ファイル=D:\Jenkins\workspace\TanukiColiseum.2021-05-09\TanukiColiseum\taya36_2020-11-06.sfen NUMAノード数=2 表示更新間隔(ms)=3600000
17:36:38 思考エンジン1 name=YaneuraOu NNUE 6.03 64ZEN2 EVAL_LEARN author=by yaneurao exeファイル=D:\Jenkins\workspace\TanukiColiseum.2021-05-09\engine1\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス=D:\hnoda\shogi\eval\tanuki-denryu-tsec-1.iteration=1\final 定跡手数=256 定跡ファイル名=no_book 思考ノード数=0 思考ノード数に加える乱数(%)=0 思考ノード数の乱数を1手毎に変化させる=False 持ち時間(ms)=900000 秒読み時間(ms)=0 加算時間(ms)=5000 乱数付き思考時間(ms)=0 スレッド数=1 BookEvalDiff=30 定跡の採択率を考慮する=false 定跡の手数を無視する=false 評価値のスケール(%)=100
17:36:38 思考エンジン2 name=YaneuraOu NNUE 6.03 64ZEN2 EVAL_LEARN author=by yaneurao exeファイル=D:\Jenkins\workspace\TanukiColiseum.2021-05-09\engine2\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス=D:\hnoda\tanuki-denryu-tsec-1\eval 定跡手数=256 定跡ファイル名=no_book 思考ノード数=0 思考ノード数に加える乱数(%)=0 思考ノード数の乱数を1手毎に変化させる=False 持ち時間(ms)=900000 秒読み時間(ms)=0 加算時間(ms)=5000 乱数付き思考時間(ms)=0 スレッド数=1 BookEvalDiff=30 定跡の採択率を考慮する=false 定跡の手数を無視する=false 評価値のスケール(%)=100
17:36:38 対局数2000 先手勝ち926(54.6%) 後手勝ち771(45.4%) 引き分け303
17:36:38 engine1
17:36:38 勝ち660(38.9% R-66.3 +-15.5) 先手勝ち360(21.2%) 後手勝ち300(17.7%)
17:36:38 宣言勝ち88 先手宣言勝ち54 後手宣言勝ち34 先手引き分け135 後手引き分け168
17:36:38 engine2
17:36:38 勝ち1037(61.1%) 先手勝ち566(33.4%) 後手勝ち471(27.8%)
17:36:38 宣言勝ち28 先手宣言勝ち16 後手宣言勝ち12 先手引き分け168 後手引き分け135
17:36:38 660,303,1037
06:18:23 対局数=2000 同時対局数=64 ハッシュサイズ=768 開始手数=24 最大手数=320 開始局面ファイル=D:\Jenkins\workspace\TanukiColiseum.2021-06-29\TanukiColiseum\records2016_10818.sfen NUMAノード数=2 表示更新間隔(ms)=3600000
06:18:23 思考エンジン1 name=YaneuraOu NNUE 6.03 64ZEN2 EVAL_LEARN author=by yaneurao exeファイル=D:\Jenkins\workspace\TanukiColiseum.2021-06-29\engine1\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス=D:\hnoda\shogi\eval\tanuki-denryu-tsec-1.iteration=1.GeneratorAdjustNodesLimit=false\final 定跡手数=256 定跡ファイル名=no_book 思考ノード数=0 思考ノード数に加える乱数(%)=0 思考ノード数の乱数を1手毎に変化させる=False 持ち時間(ms)=900000 秒読み時間(ms)=0 加算時間(ms)=5000 乱数付き思考時間(ms)=0 スレッド数=1 BookEvalDiff=30 定跡の採択率を考慮する=false 定跡の手数を無視する=false 評価値のスケール(%)=100
06:18:23 思考エンジン2 name=YaneuraOu NNUE 6.03 64ZEN2 EVAL_LEARN author=by yaneurao exeファイル=D:\Jenkins\workspace\TanukiColiseum.2021-06-29\engine2\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス=D:\hnoda\tanuki-denryu-tsec-1\eval 定跡手数=256 定跡ファイル名=no_book 思考ノード数=0 思考ノード数に加える乱数(%)=0 思考ノード数の乱数を1手毎に変化させる=False 持ち時間(ms)=900000 秒読み時間(ms)=0 加算時間(ms)=5000 乱数付き思考時間(ms)=0 スレッド数=1 BookEvalDiff=30 定跡の採択率を考慮する=false 定跡の手数を無視する=false 評価値のスケール(%)=100
06:18:23 対局数2000 先手勝ち914(50.9%) 後手勝ち881(49.1%) 引き分け205
06:18:23 engine1
06:18:23 勝ち801(44.6% R-33.6 +-15.3) 先手勝ち409(22.8%) 後手勝ち392(21.8%)
06:18:23 宣言勝ち64 先手宣言勝ち29 後手宣言勝ち35 先手引き分け102 後手引き分け103
06:18:23 engine2
06:18:23 勝ち994(55.4%) 先手勝ち505(28.1%) 後手勝ち489(27.2%)
06:18:23 宣言勝ち17 先手宣言勝ち2 後手宣言勝ち15 先手引き分け103 後手引き分け102
06:18:23 801,205,994
まとめ
棋譜生成時の思考ノード数を、やねうら王の反復深化ルーチンに実装されている時間調整手法を応用して、自動調整した場合と、していない場合を比較した。
実験結果を確認したところ、自動調整の有無以外に、 eta の値も異なっており、公平な比較を行うことができなかった。また、いずれもレーティングが下がっており、判断の材料としては不適切だと思われる。レーティングが向上する実験条件を作り、その中で自動調整した場合としていない場合を比較すべきだと思われる。