The idea is simple and can cause a program to evaluate fortresses correctly as a draw and also to see mate scores in positions with big material advantage even if the mate is not correct.
You start with chess engine A and do what you like with the search algorithm.
When you come to the evaluation part then you simply tell stockfish to play against itself at small depth like depth 6 and return a number based on the result of the game(if the game is drawn you return 0.00 and otherwise you return mate in X for the side that won).
The program may be weak but it will probably show 0.00 for fortress positions that it has no special knowledge about them.
For example it may show draw score for the following position I guess that stockfish draw against itself at depth 6 from almost every leaf position of a tree.
8 | |||||||||
7 | |||||||||
6 | |||||||||
5 | |||||||||
4 | |||||||||
3 | |||||||||
2 | |||||||||
1 | |||||||||
a | b | c | d | e | f | g | h |
2k5/1pP5/pP6/P7/3K4/8/8/6B1 w - - 1 1
It may also show mate score for a position like the following simply because I guess playing of stockfish against itself at depth 6 is going to lead to mate score from almost every leaf position.
8 | |||||||||
7 | |||||||||
6 | |||||||||
5 | |||||||||
4 | |||||||||
3 | |||||||||
2 | |||||||||
1 | |||||||||
a | b | c | d | e | f | g | h |
rnb1kbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 1 1
Now suppose a programmer start with simple alpha-beta when the evaluation is stockfish against itself at depth 6 and simply try to improve the search when the evaluation is static.
What is the elo that the programmer is going to get?
Can the programmer improve playing strength by replacing evaluation 0 for draw by static evaluation of stockfish with the idea that static evaluation of stockfish of +6 pawns is still not mate and people should understand that if the program does not show mate score it is probably a draw even if the number is very high?
I think that it may be interesting to have a program that play like that even if it is weaker because we have some estimate mate in how many moves you have in winning positions and we have detection of fortress that normal chess programs do not have.
The depth of the search for stockfish that the program use in the leaf nodes does not have to be static and can be a parameter that the user may change.