高速化に着手
読みの深さが重要と言うことで、
優先順位はより低レベルからなので、
王手判定>see>静止探索
の順番で手を入れたい。
- 自殺手
現在手生成でpinをつかって自殺手を排除してますが、
pinを生成しないようにして、探索時に、自殺チェックをした方が速いかもしれないので
ちょっ試してみたい
(bona、gpsともにそっちをしているそうで、実際はそっちが効率が良いのでしょう)
ただ、手生成にからむので慎重にやらないとバグを入れてしまう(生成する手が変るし)
(どっちにしろpin作らないと1手詰め関数が呼べなかったかも?)
- 王手判定
王手判定も、今は差分利きがあるので利きでチェックすれば速いのだけど、
詰め将棋とかちょっとしたテストでは、利きを更新しない移動をやっているので、
そのへんで副作用が出るので、うまくやらないと動かない。
- 進行度を差分
進行度計算が意外に重いので差分にしたいが、差分は難しいので時間がかかる
- 3並列以上が激遅
並列処理のバグの可能性もあるけど、学習でも遅くなってるので。
メモリーを大量に使うとキャッシュが足りてないらしく、
マルチスレッドが激遅
・対策としては、メモリーを使わない(本末転倒)
・L3キャッシュの多いCPUに交換する
うーん、効果は試してみないと解らないけど、値段も下がってるし
3GHzでL2が12MのQ9650に交換するかなあ?
http://www.twotop.co.jp/details/?id=74872
問題は、3.6GHzまでオーバークロック出来るのか?