逐次生成に変更

手を全部生成してオーダリングして探索してましたが、

  • 取る手・成る手のSEE>=0だけまず指す
  • それ以外を指す

にわけてみました。
逐次生成というほど細かくないですが(^^;
http://wdoor.c.u-tokyo.ac.jp/shogi/view/index.cgi?go_last=on&csa=http%3A%2F%2Fwdoor.c.u-tokyo.ac.jp%2Fshogi%2Ftools%2FLATEST%2F%2F2011%2F04%2F25%2Fwdoor%2Bfloodgate-900-0%2Bmisaki0%2BKakinoki-Test%2B20110425013004.csa


kakinoki-testに快勝したので
効果はやはり大きいのかも(^^;
駒得する手があれば、それだけを見付け出してまず指してしまって
それでbetaカットが起きない場合は、
移動手、打つ手も生成するということですが、
単純な駒得手だけでbetaカットが起きる割合が多ければ、
打つ手を生成したり、オーダリングするコストが無くなる。
序盤は関係ないけど、終盤、読みが1手深くなるだけでも
効果は絶大でした


進歩本2のNo1問題が、8深さ固定で3.5secだったのが
逐次生成にすると3.0secぐらいになりました。
ただ、bonanzaはkillerは駒得手とそれ以外の間でやってますが、
misakiはハッシュの次に試しています。
残り深さが浅い場合とかハッシュ手が無い場合は
killerを素早く指してbetaカットが起きれば得ですし