floodgate投入のmisaki近況

  • bitboardオンリーに戻す

差分利きバージョンを投入してましたが、どうも読みが浅くなって弱いので
元のbitboardオンリー版に戻しました。
ハッシュの使い方でちょっと効率の悪いところが見つかったりでnpsは若干伸びています
本日は、gps_normalとgps_lにそれぞれ1勝してるので、
http://wdoor.c.u-tokyo.ac.jp/shogi/tools/view/show-player.cgi?event=LATEST&filter=floodgate&show_self_play=1&user=misaki
前より良くはなってると思うのですが、MyMove900に全然勝てないので( ´Д`)な感じです。

  • 攻撃は最大の防御(にしてほしい)

で、敗因を分析すると、
優勢になれば勝ちきると思うんですが、互いに王を攻め合ってる時に、
攻め返して欲しいときに、自陣に金銀を打ち付けて、攻めの手段を失い、
その上駒を取られてジリ貧になっている気がします。
この辺の間合いの取り方は難しい……
攻撃は最大の防御と言いますが、攻める場合は王と両取りとかをかけて駒得になる可能性もあるのに対して
打駒で守るのはダメになることが多いと思います
(せめて移動駒で守る分はマシなのだけど)


進行度が少ない場合、持ち駒が少ない場合は、
敵王への脅威を減点するといったことはしているのですが(Jはかなり下がる)
もっと何かいい方法がないか探っているところです。

  • 評価関数の高速化

あと、評価関数でなにが重いって、絶対位置評価で駒割をループで再計算してるところが重いんですよね
YSS7.0解説を読むと、金銀は差分計算して(王が移動したら計算しなおし)
それ以外の桂馬とか香車とか歩兵は、王が移動しないと仮定して、固定で計算する
といった高速化の工夫が書いてありました。
位置評価を学習しているようなシステムでは無理ですが、機械で作った表を使ってるなら、
こういう省力化もありと思います。


2年ぐらい前のできたてのmisakiでは、王は探索開始時の位置に固定でいると仮定して絶対位置評価を
差分計算してましたので、当時のやり方にしてみて、どの程度npsが向上するかを見てみたいと思います。

あと、王の前方の安全度を見て、入玉しやすいかどうかの評価をいれてみました。
まだテストをちゃんとやってませんが、そのうち確認してみようと思います