/role

Learning to play Chess with Deep Q Imitation Learning

Primary LanguagePythonMIT LicenseMIT

ROLE

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 :)

Have fun

Play ROLE on Lichess! (you'll need a Lichess account)

Available mode:

  • Bullet
  • Blitz

Acknowledgments