読者です 読者をやめる 読者になる 読者になる

daruma3940の日記

理解や文章に間違い等あればどんなことでもご指摘お願いします

Squirrelについて2!

f:id:daruma3940:20160520223745p:plain
そろそろ開発にもめどが立ってきたのじぇ。
ここらで今のSquirrelの特徴をまとめておくのじぇ。
今日は眠いので詳しくは明日なのじぇ。

Squirrel!!!!
f:id:daruma3940:20160709192554j:plain
基本となっているのはやねうら王ナノ!
探索部の基本設計はstockfish7!

独自性!
f:id:daruma3940:20160520223530p:plain
進行度を絶対PとKEの線形和で評価!
KEのEは王の周りの升に効きがある升が何マスあるかを調べる!
    王の周りに壁がなかった場合→王の周り8マスの計算
    王の周りに壁がありかつ王のいる場所が盤の4隅でなかった場合→盤内の5マス
    王が4隅にいた場合→その周りの3マスのみの計算だけではなく、王の2マス前と王のいる位置に桂馬をおいた場合に効きが発生する場所における相手の利き
進行度の学習はfloodgateでrating 2800以上のソフトの棋譜からadadelta!!
進行度によって王手を延長して探索するか、静止探索で王手も探索するかを決めている!
また指し手のorderingについてもorderingに用いられる点数が格納された局面との進行度の差によってorderingに用いられる点数を補正している!
f:id:daruma3940:20160521003616p:plain
定跡は多腕バンディット問題のucbを用いて作成!ucbそのままでは初手の方の定跡手が少なくなってしまい、数手で定跡が外されるということがあったが、ucbに初手からの手数の逆数に比例する項を加えたことで初手の方の定跡も豊富にした!

3手詰関数、1手詰関数は積んでいない!

評価関数はそのままでいくか、学習に挑戦した結果1手目から56玉を指すような読み筋になってしまった評価関数で出場するか悩み中..
評価関数の学習方法は棋譜の局面で3手探索をした評価値と今の局面での静的評価値をすり合わせるようにパラメーターを動かす方法で実装した!しかし実装方法は滅茶苦茶で、次元下げもしていなければ(KPPのPP対称性だけは考慮した)パラメーターを動かすのは傾きが負の方向にパラメーターを0.01動かすだけ!そりゃ、弱くなりますわ...

f:id:daruma3940:20160520223745p:plain
ざっとこんなもんなのじぇ。
前までは独自性を入れる度に強くなってるか弱くなってるか図ってたけど、焼肉オフ会に行ってからは自分のソフトの独自性がなさすぎることに焦りを感じてもう強さを図らずに独自性をバンバン入れていくことにしたのじぇ
f:id:daruma3940:20160520223745p:plain
ライブラリ勢じゃない人もsquirrelくんの独自性を認めてくれると嬉しいのじぇ