評価関数の出す値が-1から1になるはずがどうも変な値を出してると思ったら、学習率やλが影響していたみたいでした。
元々0.1と0.99だったのを、学習率だけ0.01にしたりλも0.7にしてみたらOKになりました。
結構色々と強化学習関連の経験値が不足している感じなので、じっくり腰をすえてやってみます。ニューロで評価関数作るのは次回選手権後に持ち越し。
んでもってTODOリストを更新。TDLeafを予定に入れたり、優先順位を変更したり。
- 将棋関連
- 将棋用の評価関数の実装
駒割
絶対位置による評価
王将との相対位置による評価 ← 結局実装した
二駒の位置関係
王将の動ける範囲
王将周辺の利きの数
将棋で使う為に強化学習関連のクラスをC++に移植
- TDLeaf(λ)
- 詰め将棋の実装
- 将棋のルールの細かい部分の実装
- 千日手・連続王手の千日手の検出
- 詰みとステイルメイトの区別
- 打ち歩詰めと打ち歩ステイルメイトの検出
- USI対応
- 他のソフトとの連続対戦(勝率での検証用)