nullWindow探索の手法の疑問

YSS掲示板でLMTやHistoryのreduction話題が出てますが、
http://524.teacup.com/yss/bbs
LMTは以前山下さんが紹介してたRankCutを簡単にした感じがしますね。
で、そのLMTを紹介している人のコードが、
PVSのNullWindow探索の部分を、

     if(value > alpha) {
        value = -search(-(alpha+1), -alpha, depth-1);
        if(value > alpha && value < beta)
          value = -search(-beta, -alpha, depth-1);
      }

と書いてるのですが、
[-alpha-1 , -alpha]での探索結果は、alpha以下かどうか? は有効でしょうけど、
beta以上が帰ってきたからといってbetaカットしていいのだろうか?
実際は[alpha+1,beta-1]に値が納まってることもありそう。


fruitChessのソースを見る限りでは、
if(value > alpha ) //&& value < beta)
のように使用をためらってるようです。
上記のように書いた方が速くbetaCutは起きそうですが……


っていうか実際に探索して、そういう場合がある割合を調べればいいのか(^^;
あまり起きないようならbetaCutしちゃってもOKだろうし。
いかん、チラシの裏になってしまった。


コメント欄にうさぴょん育ての親さんに書いていただきましたが、Fail-Softならbetaカットで良いようです。
ただ、reduciton & re-searchの時は、慎重に要熟慮のようです。




うさぴょん育ての親さんの隠し玉が成功したようです
http://usapyon.cocolog-nifty.com/shogi/2007/05/32bit_224f.html
隠し玉なんでリンクしない方がいいかな?と思いましたが(^^;
reductionをされたみたいです。
徹夜作業だったみたいで、今はテストセットを流しながらお休みになってるようです(^^;