高速化に着手

読みの深さが重要と言うことで、
優先順位はより低レベルからなので、


王手判定>see>静止探索


の順番で手を入れたい。

  • 自殺手

現在手生成でpinをつかって自殺手を排除してますが、
pinを生成しないようにして、探索時に、自殺チェックをした方が速いかもしれないので
ちょっ試してみたい
(bona、gpsともにそっちをしているそうで、実際はそっちが効率が良いのでしょう)
ただ、手生成にからむので慎重にやらないとバグを入れてしまう(生成する手が変るし)
(どっちにしろpin作らないと1手詰め関数が呼べなかったかも?)

  • 王手判定

王手判定も、今は差分利きがあるので利きでチェックすれば速いのだけど、
詰め将棋とかちょっとしたテストでは、利きを更新しない移動をやっているので、
そのへんで副作用が出るので、うまくやらないと動かない。

  • 進行度を差分

進行度計算が意外に重いので差分にしたいが、差分は難しいので時間がかかる

  • 3並列以上が激遅

並列処理のバグの可能性もあるけど、学習でも遅くなってるので。
モリーを大量に使うとキャッシュが足りてないらしく、
マルチスレッドが激遅
・対策としては、メモリーを使わない(本末転倒)
・L3キャッシュの多いCPUに交換する


うーん、効果は試してみないと解らないけど、値段も下がってるし
3GHzでL2が12MのQ9650に交換するかなあ?
http://www.twotop.co.jp/details/?id=74872
問題は、3.6GHzまでオーバークロック出来るのか?