評価関数を改める

今更大きな変更してる場合ではないのだけど orz


今まで

eval = 駒割 + (1-進行度)*序盤位置評価 + 進行度*終盤位置評価 + 進行度*脅威
※進行度は0〜1

みたいにしてましたが、
これだと中盤が猫の目のように評価が変ってPVに安定感がないので


eval = 駒割 + ((1/16) + 進行度)*位置評価 + 進行度*脅威
※進行度は0〜1

に改めます。


っていうか、ぶっちゃけ

eval = 駒割 + 位置評価/24 + 進行度*脅威
※進行度は0〜1

の方がPVが安定する
ただ、終盤の攻めがぬるいかもしれない。
位置評価がちゃんとそっぽ減点になっていれば大丈夫なんだろうけど。


で、Bona4は進行度無いわけですがそっぽは充分に減点される値になっているので
強いのでしょう。
金の価値が450として、そっぽを-300ぐらい減点するには、bona4は32で割ってるので
位置評価で-9600ぐらいつかないといかんわけで、
そういうわけだから、ペナルティのL2はなしにして、値はどんどん増えてOK!
ってことなんだろうと思う。



棚瀬さんの2007の自戦記を読むと棚瀬将棋(2007)には進行度がないみたいですね。
http://tanase.yasushi.googlepages.com/2007csa

しかしこれでもいい値が得られず進行度断念。
(中略)
仕方なく一番下がって欲しい部分の値のペナルティを弱めることで、強引に学習を誘導することにした。
具体的には相手玉から遠い位置の金銀などの値。
これの値があまり低い値に設定されていなかったせいで、終盤で無限と金作りにいそしんだりする問題が出ていた。

それで実質優勝なわけでしょうから、うまくやれば無くてもいいのかもしれない。
ただ、そっぽがより減点されるようにペナルティを変えて、学習の値を誘導していると書かれてましたが