オプティミスティック初期値はやめ&評価関数修正
非定常*1みたいな環境では上手く働かないし、逆に、勝った時でもTD誤差が負になって、大きくなって欲しいパラメータが小さくなるという困った現象も起きそうなので、オプティミスティック初期値*2は削除しました。
んでもって、それだけだと「成り駒より生駒の方が評価値が高くて全然成らない&学習が進まない」と言う現象が再発するので、評価関数も少し修正。
やったのは単純で、例えば成香の価値は「金の価値+成香の差分」、龍の価値は「飛車の価値+龍の差分」にしただけです。
要するに「金と同じ動きの成り駒の価値は金の価値と近い」「龍の価値は飛車+α」という人間の知識を評価関数の実装に反映しただけです。
本当はこういう事*3はあまりやりたくなかったのですが、他にいい解決方法が思いつかなかったのでこうしました。
まぁ、別の解決法があればそっちを使うかもしれません。それが他のパラメータにも使用可能な方法であれば言う事無しなんですが。