Artificial intelligence algorithms have become increasingly prominent in strategy games such as chess. AI Chess is an implementation of an artificial intelligence chess opponent through the use of a search tree, optimised to respond within 1 second and with variable search depth.
The project involved the programming of a board and piece behaviour represented through a grid and displayed visually. The bot evaluates the position based on a minimax algorithm with optimisations of alpha-beta pruning to increase the speed of the algorithm and iterative deepening to efficiently increment search depth. The implementation of a piece square table for opening, middle game and end game stages with linear interpolation between each stage optimises piece placement. Python was used for the programming of the project.
The project was able to play relatively well and relatively quickly but limited search depth due to the lack of bitboard optimisations to search the position. Overall, the project was completed successfully and is interactive with the user.
The project serves as an educational software to develop critical thinking skills and introduce the game of chess to newer players through the use of a logarithmic evaluation bar and takebacks to make the game easier and more beginner friendly. Search tree implementations and optimisations of turn based perfect information games was learnt from the project.