駒利き評価で考える「銀は玉の腹に打て」

 将棋ベーシック改のビットボードによる飛車角の利き計算を1ヶ月見積もり、結果何も進まないで月初には遊戯王DSで遊んでいるということを正直に打ち明けたわけですが、それでも俺は将棋開発専門だと思っていたら色々個人開発してこのブログも書いているということで多少大目に見てもらっています。技術スコアは上がらないけど。

 それで、飛車角の実装は良いアイデアが浮かばないんだけど、考えていると代わりのアイデアは浮かんだので、先に書くか実装するか悩んだけど書きます。

 将棋ベーシック改の駒利き評価は最初利きに1点を加えて手の変化を見るところから実験しましたが、やねうら王シリーズの「たけわらべ」の実装案で玉との近さから駒の利きと玉の位置から比例して近いほうが高いスコアを付けるという実装になりました。

 案を出したのは俺の知るところではやねさんで、距離の計算の実装などは自前です。しかし、この比例を考えたとき玉の腹は高得点でも端端くらい離れていたら無得点とかむしろ駒が遊んで駒得のために遠い駒を取って損をするということも起っているので、まず直線比例ではなく二次関数で曲げて玉の腹はかなり高くそこから距離が離れるとグッと下がってカーブで離れるとゆるく下がるみたいな数式を上手くはめれないかと。さらに最遠方ではマイナスになるように係数を掛けるとか。

 その関数を評価関数に加えて、速度は事前計算しておけば下がらないわけで、寄せが上手くならないかなとか。あとは自駒への利きと敵駒への利き以外に空き桝への利きも計算に組み込むべきかなとかも考えております。

 これ、閃いたとか言うんじゃなく、やねさんが誘導してくれてボナンザの三駒関係とか意味不明だけどそういうことなんじゃないかと。

 そんなわけで、飛車角の利き高速化も考えつつ、システムとしてのアプリの機能の実装や前向き枝刈りに手を出せていない機械学習などすることてんこもりだけど、先月は浮いたお金でニンテンドースイッチターコイズを買ったのでそれを下してゼルダしたいとかも・・・。


🄫1999-2023 id:karmen