Currently the depth of the search has a dramatic effect on the evaluation of a position.
For example, if the leaf node was a queen capturing a pawn, that node looks very good, even if the queen can be captured immediately afterwards. Therefore we should continue to search even after the depth limit has been reached if the position does not appear "Stable".
This could be implemented by going one layer deeper before static evaluation whenever there is a capture on depth 1. However in many cases I expect this would cause a tremendous slowdown as almost all pieces would have to be captured before there are no captures possible. It may be sufficient to only check only when the captured piece was defended.
In any case, this change WILL cause a decrease in search speed. Regardless, I think it will still improve the quality of the moves chosen.
Currently the depth of the search has a dramatic effect on the evaluation of a position. For example, if the leaf node was a queen capturing a pawn, that node looks very good, even if the queen can be captured immediately afterwards. Therefore we should continue to search even after the depth limit has been reached if the position does not appear "Stable".
This could be implemented by going one layer deeper before static evaluation whenever there is a capture on depth 1. However in many cases I expect this would cause a tremendous slowdown as almost all pieces would have to be captured before there are no captures possible. It may be sufficient to only check only when the captured piece was defended.
In any case, this change WILL cause a decrease in search speed. Regardless, I think it will still improve the quality of the moves chosen.