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

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

第 31 回世界コンピュータ将棋選手権参加記録

本ブログエントリは、2021年5月3日~5日に開催された、第 31 回世界コンピュータ将棋選手権参加記録 (以下 wcsc31) の参加記録です。

たぬきち

tanuki- チームは、大会前に参加名を変えています。今回の参加名は、どうぶつの森シリーズの登場キャラクター「たぬきち」からお借りしました。

評価関数

今回も前回同様 halfkp_256x2-32-32 NNUE 評価関数を使用しました。また、 Weighted Loss をランダムパラメーターからの学習で使いたかったため、 1 から学習させました。 Weighted Loss の重みには、 (1.0 - 進捗度) という式を用いました。これは、終盤の学習データの重みを減らし、中盤を中心に学習させることを意図しています。進捗度の推定には、 KP 特徴量を用いたロジスティック回帰を用いています。学習データには、水匠 2 の評価関数を用いて生成した、 50 億局面を使用しました。
結果から言うと、 Weighted Loss を使用した場合と使用していない場合とで、レーティングは変わりませんでした。ただし、評価値のスケールは、 Weighted Loss ありのほうが小さくなりました。過度な枝刈りによる読み抜けを防ぐ事を意図し、本番では Weighted Loss ありの評価値を使用しました。

定跡

今回は、人造棋士 18 号のたまさんや、水匠の杉村さんから教えていただいた方法を試しました。この手法は、 floodgate の棋譜のうち、一定以上のレーティングのソフト同士の棋譜を使用したり、自己対局の棋譜のうち、指し手を指した場合の勝率が一定値より高いものを、定跡として使用するというものです。出来上がった定跡データベースは、収録手数 1000 万手、ファイルサイズ 1 GB 超となりました。
この定跡を練習対局で使用したところ、定跡を抜けた段階で、たぬきちが敗勢になりました。短い時間の自己対局の指し手から生成したため、指し手を的確にとがめられてしまったのだと思います。
応急処置として、指された回数が 10 回未満の指し手を削除した定跡を作成し、本番で使用しました。ところが、この定跡を使用しても、定跡を抜けた段階でたぬきちが不利になる場面がありました。このため、 2 日目の 4 曲目からは、定跡なしで対局しました。ただし、 9 回戦のみ元の定跡データベースを使用しています。

結果

5 勝 4 敗で、二次予選敗退となりました。悔しいです。来年に向けて開発を再開したいと思います。