重ね合わせ理論
例えば、成銀、成桂、成香の価値を個別に学習させようとするとそれぞれかなり出現頻度が少ないので、
他の駒と比べるとどうしても値が狂いがち。
(自分は駒の価値学習はやってないけどねえ(^^;)
たしか初代Bonanzaは位置評価に関しては成銀、成桂、成香、と金を同じ駒とまとめて学習されてるんじゃなかったかな?
成銀の価値=成銀の価値+金の利きを持つ価値(共通要素) 成桂の価値=成桂の価値+金の利きを持つ価値(共通要素) 成香の価値=成香の価値+金の利きを持つ価値(共通要素)
ということで、各駒が個別に価値を持つと同時に、似てるから価値を共有して定義していた。
これをやると出現頻度が少ない特徴も慣らされるようです。
同じことは、持ち駒に応用できて
持ち駒金の価値(i枚)=持ち駒金の価値(i枚)+Σ{j=0,i-1}持ち駒金の価値(j)
と4枚の金は4枚自身の金の価値と、1〜3枚の金の価値の合算で評価する
2枚目の金の価値と4枚目の金の価値は違うでしょうから「持ち駒金の価値x枚数」で評価してはマズイわけです。
これも「金を4枚持っている場合」なんてのは出現回数が少ないので、その対策になるようです。
位置評価に関しては
王[x][y]金[x2][y2]=王[x][y]金[x2][y2]+王金[dx][dy] ただしdx=(x2-x1)、dy=(y2-y1)
こうやる。
これだと、王と駒の個別評価の足し算と違って、王同士の相対距離を考慮した位置評価が加わる
(前者だけだと相手の王が右にいようと左にいようと、唯我独尊で守り側の価値が決まりやすいと思います)
棚瀬さんが情報処理2008/8で紹介されていた位置評価は
王[x][y]金[x2][y2]=王金[dx][dy]+王[x]金[dx][dy]+王[y]金[dx][dy] ただしdx=(x2-x1)、dy=(y2-y1)
こういうの。
こっちは王と金の相対距離もあるし、王のXだけ、王のYだけがあるので、
入玉は王のYが異常状態で出現回数が少ないけど、Yで一般化して学習するので、[X][Y]の入玉軌道がづれても評価がされるんだと思う
それで、入玉も学習できるようです
次元が4次元から2次元+3次元になってるので、特徴の配列も小さくなるし、スパース対策にもなると
小さくなればメモリが減らないからキャッシュに乗るし、計算も速いと。
GPSおそろしす。。
http://d.hatena.ne.jp/issei_y/20090120/1232462785
追記 忘れてた。。金子さんに 「うまい特徴が発見できたら、さらにそれを分解するのが良い」 といわれた。 なるほどな〜
この分解は重ね合わせに分解せよってことかなあ?