Hi 'e', ![]()
I think the conventional way to do this is simply play the moves you are interested in, in analysis mode, and see what the engine has to say about the resulting positions. You woud have to indicate the moves you are interested in in some way, and playing them on the board seems as efficient a method as you could ever hope for...
It seems that UCI supports a 'searchmoves' command that is supposed to do exactly what you want. But I could not find it in the official UCI specs from 2005, so I have no idea what the exact syntax is. It might be part of the UCI3 protocol extension used by Rybka, but I am not sure formal specs of that were ever released. UCI engines are very awkward to use from the command-line, though, because you would have to reenter the position each time you change it.
Is there a way to make an engine narrow its search to a set of moves defined by the user? For in a given position if you just wanna see which of a certain 2 moves is better, can you just tell the engine to analyze those 2 moves? I doubt this is possible in a GUI but perhaps it's possible in command-line?
This would significantly increase the speed of that analysis, because the engine wouldn't have to spend any time evaluating all the moves you're not interested in. By skipping a bunch of moves it would go deeper faster.
If it's not possible, I suppose I could tweak an open-source engine and add such a function.