Skip to content

Releases: torstri/chess-engine

V.3.0.0

Choose a tag to compare

@torstri torstri released this 27 Jan 16:53

UI:

  • Now possible to chose starting position, number of games, thinking time
  • Added statistics table

AI:
Introduced Piece Square Tables, (PSTs), for each piece type. Pawns and Kings have a designated end game PST to promote specific behaviour. The evaluation considers the color of the player and flips the PST to accurately determine the value independent if the player is white or black.

The new PSTs were then used in the material evaluation. Thus both the difference in material and the positioning of the pieces are considered in this part of the evaluation.

Mobility evaluation was also introduced however the quality of the evaluation is easily questioned. The program looks at every square, if the square is attacked by only one player, the program evaluates the value of the piece on the square. Thus we get a value for defence and offence in one, however, all squares which are not occupied or attacked by both players is excluded from the evaluation. This will be a project for the future.

Tests for evaluation functions were introduced.

Beats v1 and v2 consistently (approx. 80% winrate as white)

v2.0.0

Choose a tag to compare

@HenrikCarlGustavBertilAkesson HenrikCarlGustavBertilAkesson released this 22 Jan 07:23
2f1b790

In this version the chess AI is based on Monte Carlo Tree Search but without persisting the generated search tree between move generations. The ability for the user to input number of simulations and playing the AI against a random move generating opponent is introduced. Some basic heuristics for board state evaluation was introduced to bias the move selection towards more promising moves. The AI performs consistently better than an opponent making random moves. Minor changes to the AI where it now takes as input only a chess object, and generates a new move solely based on the current board state input.

v1.0.0

Choose a tag to compare

AI chess engine with Monte Carlo Tree Search. In this version, the tree generated after one move generation (tree search) is not kept, and a new tree is generated for each move by the AI.