Completed in 2017, this is a project where the purpose was to implement a chess program with a game tree-based AI. The program covers basic functionality of moving/capturing pieces, displaying the board via the terminal, and accepting AI-generated moves based on board weights. A detailed description of the project (and possible shortcomings) can be found in the included pdf report.
A few details on the program:
- uses a minimax game tree search scheme with alpha-beta pruning.
- permits user-supplied control parameters for the depth of search.
- allows for movement of pieces, checkmates, and stalemates (piece promotion and other special board movements not implemented)