Hello there! ROLE is an artificial, reinforcement learning based chess player.
It is trained by a mixture of self-play (Deep Q Learning + Experience Replay) and Imitation Learning on the Stockfish engine, in which expert moves are directly input to the replay memory.
Q Learning is a model-free RL algorithm. This means that ROLE plays without any look-ahead mechanisms, unlike Monte-Carlo Tree Search based methods, which is not a desirable property for playing chess.
However, this project was built to have fun rather than deploy yet another chess engine with superhuman performance :)
Play ROLE on Lichess! (you'll need a Lichess account)
- Bullet
- Blitz
- DeepPepper, from which I borrowed the state representation.
- Stockfish.