ハッシュ表の再実装完了
C++のテンプレートを使って、ある程度汎用性のある実装に出来たと思います。多分。
前のはMTD(f)の通常探索用途に偏ってたんで、静止探索だとか他の探索ルーチンだとかと組み合わせるのが難しかったのですが、今度は多分大丈夫。多分。
ただ、ちゃんと動いてるかどうかのテストはまだです。明日か明後日くらいには静止探索を実装し直すので、その時に一緒にテストします。局面を1個2個保存しただけじゃ出てこないバグとかもあるでしょうし。
- 将棋の学習関連
TDLeaf(λ)エージェントを再実装。方策をエージェントから独立させる。
- 学習中の各種統計情報の収集・表示ルーチン実装。
- std::vectorあたりを勉強しとくこと。
- 王手将棋での予備実験。
εグリーディーとソフトマックス手法の比較。評価関数を非線型に修正して、従来バージョンと比較。- 先後入れ替えて収束するかテスト。
ハッシュ表の再実装。- MTD(f)再実装。静止探索部分でもハッシュを使用する。
- 対局部分の並列化。
- 評価項目の追加:王将との相対位置。
- 評価関数でのstd::mapの使用をやめる。
- ひょっとしたらテンプレートを使用する必要があるかも。ここら辺は要検討。
- 評価項目の追加:ピン。
- 他のソフトとの連続対戦アプリ実装(勝率での検証用)。
- 将棋のルールの細かい部分の実装。
- シンプルなメタ強化学習でメタパラメータの調整。
- クライアントサーバ方式なら、GAやUCB1部分はJavaでの実装がそのまま使えるかも。要検討。
- 王手将棋・後手ランダムだと条件が簡単すぎるかもしれないので、それについても検討。
- floodgate参戦
- 選手権での対局用
- USIにちゃんと対応。
- MTD-∞の実装。
- 思考時間制御。