GA将?開発日記~王理のその先へ~

ネタ勢最強を目指して絶賛開発中。

今すぐやるべき事、後でやる事、やらない事

 基本方針は「強化学習による評価関数の精度向上を最優先」で。

 んで、合議や並列探索はとりあえず無視。シングルスレッド動作で強くするのを目標とします。

選手権までのTODO

  • 学習ルーチン(PGLeaf・ソフトマックス方策)のデバッグ
    • エージェントと方策の連携部分でエンバグしてる可能性もあるので、その辺を重点的に。
  • 時間があれば、学習ルーチンを書き直す。
    • 方策のインタフェース変更・データ構造の修正等。
  • 報酬の与え方を再検討
    • 駒の前進・後退に応じた報酬を与えるのを、再度トライしてみる。
  • パラメータの使用回数に応じた学習率の調整
    • 出現頻度の高いパラメータの値が大きくなる傾向にあるので、それを補正する。

選手権後のTODO

  • 合議の実装・拡張
    • まずはシンプルな多数決合議を実装する。
    • クライアント間での情報共有を実装し、更に強化する。
    • 学習ルーチンも合議を前提としたものに書き換える。
    • 最終的には「局面に応じて動的にクライアントの投票数(重み)を調整する多数決合議」に拡張予定。
  • ABC探索
    • 精度の良い評価関数が出来たら、それを探索にも活用する為。

やるかもしれないけどやらないかもしれない事

  • BonanzaベースでPGLeafを実装
    • まずはソースを読んで実装の可能性を検討。
    • 特徴の数が多いので、方策勾配がメモリに載るかは要調査。
  • 将棋盤クラスのデータ構造から再検討
    • 将来合議を実装し、手生成や局面遷移がボトルネックになった場合は実施予定。

やらない事

  • 並列探索
    • ざっと実験した限りだと、GA将!!!!!!は探索ノード数の増加に対してレーティングの伸びが鈍いので。
    • CPUの並列度は合議の方で活用する方針で。
  • 枝刈りや探索の延長・短縮の拡張
    • 変に探索ルーチンをいじって、せっかく学習した評価関数を台無しにしたくないので。
    • あと、時間があればABC探索に手を出したい。