chesslablab / php-chess

A chess library for PHP offering move validation, data conversion from one format to another, multiple variants, UCI engine support, explanation of chess positions, and image recognition.
https://chesslablab.github.io/php-chess/
MIT License
108 stars 51 forks source link

Implement the outpost evaluation #178

Closed programarivm closed 2 years ago

programarivm commented 2 years ago

An outpost can be thought of as a strategic square where a minor piece — a bishop or a knight — is placed in such a favorable way that the opponent definitely wants to trade it for one of their minor pieces, or is even willing to trade it for a major piece. This usually happens when such square is protected by a pawn and cannot be attacked by an opponent's pawn as described in the example below.

chessboard (1) Figure 1. w = 2, b = 0


Thus, a new file named OutpostEvaluation.php should be implemented in a similar way as the following evaluation features:

With the new feature implemented, we'll be able to take more accurate normalized heuristic pictures; for further information please visit:

See:

Keep it up, and happy learning!

programarivm commented 2 years ago

This issue needs to be split into smaller tasks: