I've seen in several engines SEE being used for move ordering, and this seems like a good idea. More accuracy in good captures being searched first. Of course, SEE isn't free either, and this may be where I'm running into issues using any sort of SEE move ordering scheme.
The scheme I tried with SEE was the following:
- Hash move
- Winning captures (determined w/ SEE)
- Equal captures (determined w/ SEE)
- Killer moves
- History heuristic
- Losing captures (determined w/ SEE)
Which made sense in my mind, but actually resulted in Blunder becoming slower while searching. As I said, I suspect the trade-off between the overhead of using SEE over MVV-LVA and the accuracy gained is a losing one. I also tried putting losing captures before the history heuristic with similar results.
In my next couple of tests, I'm going to try only using SEE in QSearch for move ordering, and visa versa. And also putting losing captures at different places.
I'm curious if anyone else has found some success using a very different scheme than the one outlined above? Right now it just seems that SEE is too slow to compensate for the accuracy gained, which may just be the case.