hgm wrote:
I only know for Shokidoki, and there I start with Pawn drops. I never tried it the other way, though. The drops are truly late moves in Shokidoki; they aren't even generated untill all other moves are searched. (Except the ones that are killers.) So I never thought much about their sorting. Of course you could also sort them by dropsquare, rather than piece type.
One day I should look into a staged move generator. I generally reduce all drops by 1 ply, unless they are next to the enemy king. Drops that are on my own half of the board, or have negative SEE are reduced by 2 ply. Near the leaves, drops with negative SEE are pruned outright. I tried doing some drops in QS, but ended up removing that code again.
So far (after 1000 games or so), for me the version that sorts drops in order of piece value is scoring 55% against the version that does inverse ordering.
I guess one could keep a sort of drop-history table, and sort by that.
Oops.
I actually have one of those, but it ends up never being used for sorting moves in the end…
Guess I'll have to fix that next.
Well, evasions are already extended as normal check extension, I suppose. So extending the check-drops as well will open the possibility for infinite recursion.
Indeed. I would only do this in the very specific situation I mentioned: near the leaves, when a drop that ends up being captured immediately counters a mate threat. It's probably just a spite-check.
I tried to search check-drops in QS, which is similar. It always was a disaster. (Instant crash due to stack overflow.) I looked at the lines that reached the maximum depth (of 100 ply), and the checks and evasions just go on forever. No matter what I tried in term of restricting the drops, or sorting those, or the evasions, it always crashed.
I've tried it too. It didn't crash, because after a certain depth my QS devolves into a static capture evaluation (I haven't tried restricting it to a capture search yet), but it very clearly didn't help either. It just explodes the tree for no obvious benefit.