上手く行ってるのかいないのか
本将棋で非MDP環境の報酬設定にして、ちゃんと学習してくれるのか試してみました。
まず最初は「勝っても負けても、駒の前進ボーナス(1回あたり+1)を与える」&「探索無し」って条件で学習。勝ち負けに応じた報酬を与えていないので、だらだら対局を長引かせて駒を前進させまくれば高い報酬が得られます。
んで、一晩分の結果がこれです。横軸が対局数/100で、縦軸が1局あたりの報酬の平均値。
一度取って打った駒は前進ボーナスの計算対象外としているので、理論上は金銀桂馬6枚全部が敵陣1段目まで進むと報酬の量が最高になります。その時の値は4x8+2x4で40桂馬が1段目に行く場合は必ず成るので、その時の値は4x8+2x3で38。学習結果は37付近で収束していますので、ほぼ最適解を見つけれたと考えていいでしょう。
(2012/10/02 計算が間違っていたので修正しました。)
もう一つは、「勝ったら報酬+1、負けたら-1で、更に駒の前進ボーナス(1回あたり+0.01)を与える」&「探索あり(静止探索6手のみ)探索無し(ソース見なおしたらこうなってました)」です。
そっちの結果は下記の通り。
こっちは、理論上は+1.4と-0.6まで行くはずですが、それよりは大分下がってますね。 ただ、徐々にではありますが上昇傾向にあるので、時間をかければひょっとしたら理論値に近くなるかもしれません。