Chess AI player based on deep learning. This is a work in progress. The basic idea is to train a deep neural network to distinguish between good and bad moves, then use this network to direct the selection of moves during the game. Good moves are drawn from a database of historical chess matches played by expert players. Bad moves are found by randomly selecting other legal moves that the expert players elected not to play from the same position.
A large set game database is required to train the model. So far, I've been using gorgobase, which contains 2.8 million games. This database is in SCID format and will need to be converted to PGN. The SCID program can do this.
- Parse a database of games into a structured set of training data.
- Train a deep network on the training data.
- Use the trained model to select moves at game time.
- Implement Monte Carlo Tree Search and other techniques from the AlphaGo paper