将棋ソフトを検討用に使う場合、PV(読み筋)がきちんと出力されて欲しい。しかし思考を途中で打ち切った場合、PVが途中までしか出力されないことがある。
これは、途中で思考を打ち切っている以上、仕方ないことではある。この中途半端なPVを出力しないようには出来る。ところがこうすると、指し手(best move)とPVの1手目とが異なるケースが出てくる。PVの1手目と違う指し手が指されると、開発者すら「これはバグじゃないか?」と不安になる。だから、中途半端であれ、PVを出力しないわけにはいかない。
結局のところ、検討モード用に表示されて欲しいPVと、best moveを導いた思考ログとしてのPVとは異なるのが問題なのである。
そこで、やねうら王V4.57では検討モード用のPVを出力するためのオプションを用意した。ConsiderationMode(“検討モード用のPV出力”)をオンにすると検討モード用のPVが出力されるようになり、ShogiGUIなんかでもいい感じの出力になる。(はず)
ちなみに、このモードのとき置換表から読み筋をかき集めてくる仕様なので、置換表が破壊されていると正しく表示できない。長い時間検討させると数手しか表示されないというのは置換表が破壊されているからだ。そういう場合は、置換表サイズを、大きめに設定すると改善される。(置換表サイズは、思考エンジン設定のHashオプションで設定できます。やねうら王では将棋所/ShogiGUIの「ハッシュメモリ」の設定は無視されます。)
ShogiGUIにて未だ読み筋が一手しか表示されない場合があります。
YaneuraOu 2017 Early KPPT 4.61 64SSE4.2 Consideration Mode使用で、候補手4時間無制限での検討です。
また、最善手、次善手、3、4・・・が評価値順に並ばないこともまれにあります。
私のほうでは再現しないですね…。局面と読み筋が表示されているスクリーンショットをメールなどでいただけませんでしょうか。MultiPVで2つ目の候補手は詰みが絡んでたりするのかなと思うのですが。
> また、最善手、次善手、3、4・・・が評価値順に並ばないこともまれにあります。
これはまあ、仕様の範疇ですね…。
一部画像が切れていますが、いずれも初形です。
読み筋切れ
https://www.axfc.net/u/3809347
評価値順異常
https://www.axfc.net/u/3809348
いずれも4.6.1 SSE4.2 elmo評価関数で、no bookとconsiderationmode以外は初期設定です
読み筋切れのときに評価値順の不具合が起こることが多いですが、そうでないパターンもあります。
魔女でも評価値順の不具合が出ることがありますが、技巧2では見かけないように思います。
検討を続ければ自然と解消するものではあるのですが・・・
評価値順に不具合がある時の解釈は何が正しいのでしょうか。
・指し手ランクが正しい
・評価値が正しい
・短い読み筋の候補手を除いたランク(評価値)順が正しい
> 評価値順に不具合がある時の解釈は何が正しいのでしょうか。
評価値順のほうが正しいですけど、並列的に探索していて求まった順に出力している以上、そういう出力になります。Stockfishもそうなっています。次のiterationで直るので気にしても仕方ないかなと。
> 読み筋切れ
こっちは「ハッシュ」(置換表の利用率)のところが99.0%になってますね。置換表用のメモリが小さすぎて読み筋が破壊されているのでは。
うーん、ハッシュデフォが16なので1024まで増やして利用しているのですが、置換表利用率14.4%でも読み筋切れますね。
そうなんですか…。時間のあるときに詳しく調べてみます。
V4.62でConsiderationModeでは置換表からPVをかき集める方式に変更してみました。どうでしょうか。
V4.62のConsiderationMode確認しました
読み筋が切れることがなくなりました。修正ありがとうございます。
指し手ランクは順不同のままですね。と言ってもこちらは浮かむ瀬や魔女などでも同様の仕様です。
何故か技巧だけ適切に表示されますが・・・
出力タイミングを調整していたり、一旦集計してから出力しているとかなんでしょうかね?
技巧は、そうですね。しかしそうすると、PVの出力タイミングが1周分ぐらい遅れるので、良し悪しですね。