将棋方程式:将棋の静止評価について

http://d.hatena.ne.jp/yaneurao/20080428

やねうらおさんの将棋方程式の連載は、今回は将棋の静止評価についてでした。


このへんは私もつねづね関心をもっているところです。
前向き枝狩りの人達はもっとこのへんに注意を払っているんじゃないかと思います。
しょせん、全幅の静止探索の手生成は単純なので、(柿木将棋とかYSSとか大槻将棋は膨大な指し手生成関数をもっているようですし)


静止探索は高速道路を全速力でかっ飛ばしてきた自動車が、高速降りる前に急激にギアチェンジして減速するようなもんと思っています。
前向き枝狩りは、作者が自己の将棋知識でマニュアル操作でギアチェンジするのに対して、全幅の作者は(ものぐさなので)
オートマで急激にギアチェンジをする。

1) 駒を取る手以外を生成していない。大駒が取られるかどうかが最大の関心事なのだから、「大駒が取られるのを逃れる手」や「大駒に利きを付ける手」なども生成すべき。
2) 駒の取合いがないからと言って静的に評価しやすい局面とは限らない。
3) 終盤において「歩」などの価値の低い駒の取合いは関心事ではないのでそんな取合いを評価しても仕方がない。

この3番は、MyMoveの西村さんが最近日記に書いたことがインスパイヤーになってるのかもしれませんね
http://chocobo.yasuda-u.ac.jp/~nisimura/mymove/index.cgi?no=1194
Bonaも「静止探索で深いところでは、成らない歩を取る手は生成しない」とやってますが、
進行度で手生成を制御するのは、あまりこれまで聞いたことがない手法でしたので、西村さんのアイデアと言えると思います。


今回の飛車の話は、私も常々頭を悩ましています。
虎の子の飛車を敵陣に打ち込んだはいいがすぐ取られると負け確定するほどの一大事です。
チェスを見ると、たとえばFruitChessは、ポーンがクイーンに成る場合は1手延長しているようです。
かといって、飛車が龍に成る手を延長してはたいへんなことになります。敵の歩を取って自爆する手も全部延長されてしまうのです。
以前、飛車を取る手を延長してみたこともありますが、あまり芳しくなかったです。
このへんも静止探索の問題ではないかと思っていました。


静止探索の問題は、基本的に移動する手を生成しないことで(あと打つ手)
成る手、1手詰めに関しては例外ですが、
飛車が死にそうな場合は、考慮されないことが多いとは言えそうです。
(棚瀬さんが言っていた手法は、飛車が取られるような局面を考慮した静止探索でした。うさ親さんの話では、飛車がピンチなら静止探索に行かないだったかな?)
飛車の危険度に関しては、移動可能マス数で皆さん評価されていると思いますが、移動可能マスがあっても、数手ののちは取られることが確定している
という局面もあるでしょう。それはマス数で評価するのは限界があるかもしれません。

本日の図は、駒は当たっていないが飛車が詰んでいて先手が取ろうと思えば3手後には間違いなく取られる。*1

↑飛車の移動可能マスじたいは0ではない


一般的に、静止探索は手を制限するのは仕方がないと言えると思います。じゃないと静止しないからです。
ただ、飛車のような大事な駒は特別扱いしても罰はあたらないと思います。
よって、飛車の脅威と評価関数に盛り込むのは妥当かと思いまして、以前からテストをしていますが、まだなかなか成果を上げていません。
飛車を大事にし過ぎて、バランスを崩すと、勝てませんので、(バランスを上手くとるのは機械学習しかないかも)