Closed programarivm closed 3 months ago
The Threat evaluation is not buggy, it is pointing out if a piece can be lost based on the difference between the number of attacking pieces and the number of defending pieces. No sequence of moves needs to be played in order to make this observation programmatically.
Figure 1. K7/8/6N1/4P3/8/3n4/1b6/7k b - -
Black has a moderate material advantage. Black has a moderate control of the center. Black has a slight space advantage. The black player is significantly pressuring more squares than its opponent. Black has a slight threat advantage. White has a slight passed pawn advantage. White has a slight advanced pawn advantage. Black has a slight isolated pawn advantage. White has a moderate outpost advantage. The pawn on e5 is being threatened and may be lost if not defended properly. e5 is a passed pawn. e5 is an advanced pawn. e5 is an isolated pawn. d6 and f6 are outpost squares. Overall, 3 heuristic evaluation features are favoring White while 6 are favoring Black.
A new evaluation feature needs to be implemented for these positions where a sequence of moves needs to be played in order to determine whether or not a piece can be lost.
Figure 2. 2r3k1/8/8/2q5/8/8/2N5/1K6 b - -
Originally posted by @programarivm in https://github.com/chesslablab/php-chess/issues/528#issuecomment-2084765210