W@nderER は W@ndre と別コンセプトの外伝ソフトです。 W@ndre との関連は(今のところ)ありません。
3/29追記: いろいろあって正直あまり開発していませんでした。
ベースとしてやねうら王(1)を利用していきます。入玉ステップ数(2-3)などの実装なども検討しましたが、結局現段階では未実装です。
入玉宣言勝ちは1局のみでした。
やりたいことが上手くできませんでしたが、来年は別のテーマで参加する可能性も高いので
忘れぬ内に今年試したことと言い訳を書いておきます。
W@nderERの青写真
序盤から玉が前線に出つつ中段玉から入玉を狙う将棋を指させたく、棋士でいうと間宮久夢斎六段を意識してました。
実際
入玉や中段玉を含みにした個性的な戦法自体は無数にあり、今回も久夢流、棒玉、灘流空中楼閣、カメレオン、二こ神流雁木、ラピュタ戦法、クラリスシステム、GAVA角、オザワシステム[*]など参考となる戦法は多数ありましたが、
棋譜が少ないのが課題で本番投入に間に合いませんでした。この手の独創的な戦法をどう組み込むかというのは次回も同じテーマで出る時の課題でしょうか。
本番では比較的入玉しやすいメジャー戦法と言われている矢倉、雁木、角換わりの定跡を投入したつもりでしたが、居飛車力戦も多く指すことになり、居飛車の定跡選択は難しいなぁという感想です。(W@ndre時代は振り専だったのでテーマを決めやすかった。)
*穴熊なので厳密には違うが金銀大駒の配置思想に近いものを感じた。
評価関数はNNUE型の評価関数をベースに、ネットワーク構成は(HalfKP+玉の段)-256x2-32-32です。tttakさんのHalfKPKfile[1]を参考にしました。
入玉ステップ数ですが実装が失敗したのか効果があるのかよくわからず、多くのエンジンで[2-4]で実績のある入玉位置にボーナスを与える方針を採用しています。
学習用教師局面の生成にはFloodgateやAlphaZero-elmo戦から片方が入玉した局面を抽出、初期局面とし、Apery190617[5]の評価関数と宣言用に詰みスコアに手を加えた学習用探索部でdepth8で7億局面生成しました。
初期値にorqha-1018[6]とKristallweizen[7]を用いて追加学習した形ですが、orqha-1018/YaneuraOuV4.88の組み合わせに対して以下のレート差となっています。[8]
ResignValue 500 | ResignValue 3000 | ResignValue 9999 | |
---|---|---|---|
15Mnode/move | ― | ΔR ≃ -107 | ΔR ≃ -56 |
45Mnode/move | ΔR ≃ -90 | ― | ΔR ≃ -200 |
エンジンは上記の評価関数を用いたものと、Apery190617を評価関数に用いた2種類を用意し、楽観合議で指させていました。
途中まで学習用のエンジンをそのまま対局で使っており、ichibinichi戦、スーパーうさぴょん2X戦、Novice戦ではいきなり頓死筋に突っ込むBlunderもありました。
序盤の入玉志向の駒組を目指す評価関数と終盤の積極的に宣言を目指す評価関数・探索が両立できるのか、入玉・宣言志向の強さをどう検証するのかというのが今後の主だった課題でしょうか。(蒸留しない方がいい説、DLの方がいい説etc.)
オンライン大会でしたので、大会と平行して家の残った計算機でレート測定をしてました。ギリギリまで評価関数の絞り込みができるという点ではよかったです。
今回はやねうら王、Apery190617、Kristallweizen、orqha−1018を利用させていただきました、公開してくださった開発者の皆様にこの場を借りて御礼申し上げます。