「たこっと」は,電王戦を見てコンピュータ将棋に興味を持った筆者らが, フルスクラッチで実装した (している) 将棋プログラムです。
Web 上の解説記事や論文,Stockfish, Apery, やねうら王, Bonanza 6.0 のソースコードを 参考にしています。
第 4 回将棋電王トーナメント (SDT4) から進化した部分を中心に記述します。
SDT4 時点のたこっとには学習ルーチンがありませんでした。 そのため Apery の評価関数バイナリをやねうら王の学習ルーチンで強化学習していました。 今回,機械学習ルーチンを実装し,将棋プログラムに必要な機能の実装が完了しました。
以前のたこっとから引き継いでいる特徴については過去のアピール文書を参照してください。
Apery とやねうら王 コンピューター将棋フレームワークを使用ライブラリとして申請しています。 これはトラブルに備えて保険をかけているためで,実際には Apery の評価関数バイナリのみを使用する予定です。
以下に挙げるような近代的な機械学習の機能を一通り実装しました。
ゼロベクトルからの学習に取り組んでいます。が... 浮かむ瀬や技巧のレベルに到達できそうもないため, ライブラリ (Apery) の評価関数バイナリを強化学習し,大会に参加することになりそうです。
自分たちで学習ルーチンを実装したことにより,様々な実験が容易になりました。 何か新しい評価要素を増やせないかと実験を繰り返していますが, なかなか棋力の向上につながりません。
大会までに一つくらいは新しい評価要素を見つけたいと考えています。