An open API service indexing awesome lists of open source software.

https://github.com/cthacker-udel/chesspredictor

AI Chess Predictor, using the Monte-Carlo Tree Search algorithm.
https://github.com/cthacker-udel/chesspredictor

ai algorithm artificial-intelligence chess python

Last synced: about 2 months ago
JSON representation

AI Chess Predictor, using the Monte-Carlo Tree Search algorithm.

Awesome Lists containing this project

README

          

# Chess Predictor
> Implemented in Python, using the `dataclasses` library, along with the `__future__` library as well. Using the `typing` library as well to ensure well-defined types when beginning implementation of this algorithm. All credit for those libraries can be found in the publicly-accessible documentation of them, if links need to be supplied, let me know. This is a side project solely to pique my curiosity of graph algorithms, and this happened to be the first one I stumbled upon!

#### I will be using the alpha-beta pruning algorithm, along with a minimax algorithm to generate the potential moves for each piece selected, this will require some time undoubtedly, as I am implementing this in chess, which has a far more vast move set, then say a simple game of checkers or connect-4. The algorithm may not be perfect, but working on this project will satisfy my curiosity for the time being. If anyone has any suggestions for algorithms to consider to enhance the experience, please let me know.

### Goal
- The overall goal of the project is to, since I am primarily a front-end developer, have something like this: An website with a chess game able to be played against a computer, or another player. Whenever the user selects a piece, it displays all optimal places to move on the board, to which the user can make the informed decision as to which piece to move.
- Technical Specifications
- Backend (Move generation): I feel like introducing myself to flask, so I am opting to use a python backend.
- Frontend (Game display): React, since I am already very skilled in this language, and I seek to learn how to combine these two different languages together into one application, which I have not done before.

## Author: Cameron Thacker (cthacker@udel.edu)