一晩分
学習中の先手の勝率を表示させているのですが、学習率0.0001だと21%、それより下だと2〜3%と、明らかに低すぎる数値です。
ちなみに0.001だと42%。まぁ許容範囲かな、という所です。
んで、原因。バグの可能性もありますがそれ以外で。
おそらくε*1を固定しているのが悪影響を与えているんでしょう。先手は負けパターンにはまり続けているのに、評価関数の学習がなかなか進まないしランダムに行動して別のパターンに入ろうともしないし、結局ずるずると負け続けるって感じだと思います。
となるとメタ強化学習を早めに実装して何とかするのが一つの選択肢。
もう一つは学習率変えずに探索だけMTD(f)で高速化して対局数を増やすってのがもう一つの選択肢。
最後はεをもう少し高めにしてみるっていう選択肢。
今メタ強化学習を実装しちゃうと挙動を把握出来なくなるから、とりあえずεをちょっとだけ高めにしておいて、学習させつつ高速化のコーディングってのが安全っポイかなぁ。
MTD(f)自体は一回実装しているし、αβはFail-Softな実装になってるから、実質的に必要な実装はハッシュへの情報の保存・取出しのみ、と。
となると、今日は評価関数のデバッグして、明日〜金曜日*2の四日間あればMTD(f)は何とかなる、かな?
うーん、どうしよう。デバッグしながら考えるか。