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

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

オプティミスティック初期値はやめ&評価関数修正

 非定常*1みたいな環境では上手く働かないし、逆に、勝った時でもTD誤差が負になって、大きくなって欲しいパラメータが小さくなるという困った現象も起きそうなので、オプティミスティック初期値*2は削除しました。

 んでもって、それだけだと「成り駒より生駒の方が評価値が高くて全然成らない&学習が進まない」と言う現象が再発するので、評価関数も少し修正。

 やったのは単純で、例えば成香の価値は「金の価値+成香の差分」、龍の価値は「飛車の価値+龍の差分」にしただけです。

 要するに「金と同じ動きの成り駒の価値は金の価値と近い」「龍の価値は飛車+α」という人間の知識を評価関数の実装に反映しただけです。

 本当はこういう事*3はあまりやりたくなかったのですが、他にいい解決方法が思いつかなかったのでこうしました。

 まぁ、別の解決法があればそっちを使うかもしれません。それが他のパラメータにも使用可能な方法であれば言う事無しなんですが。

*1:環境の挙動が時間経過に応じて変化していく環境

*2:実際になりそうな値より大きな値をパラメータの初期値として設定する事で、学習初期に色々な行動を取らせる手法

*3:知識を実装に反映