____ ____ ____ ____ ____ ____ ____
( _ \( ___)( ___)( _ \ ( _ \( ___)( _ \
)(_) ))__) )__) )___/ ) / )__) )(_) )
(____/(____)(____)(__) (_)\_)(____)(____/
I watched a documentary on IBMs Deep Blue and was inspired to create a simple chess computer engine.
Utlilizing Claude E. Shannon's approach to using the minimax algorithm to evaluate positions.
Evaluation function will explore available moves at a depth of 3-5.
Programming a Computer for Playing Chess by Claude E Shannon
Create a server for users to play against the engine and have their games serve as the training data for the model to improve.
In the beginning, trained on no data. Just a simple evaluation function. Will grow as the user base increases.
The goal is not to have the strongest engine but merely an engine that grows with the user base
Essentially, the model will grow based upon the users on the leaderboard
Snapshots of the models strength will be taken to rate its the ELO
- Evaluation function needs to be tuned and minmax function needs to be tuned
- Implement server functions so that it can intereact with another player/computer using Universal Chess Interface Protocol. Will most likely use Flask.
- UI
- Game log and evaluation. This pipeline includes:
- Logging game data from userbase and training a neural net to serve as the evaluation for the engine