Othello Zero


Gaming is part of life, which stays unchanged from Australopithecus to Artificial Intelligence. We planned to research how artificial intelligence surpassed humans in board game Go and if we can adopt this technology to play other games. We built an AI to play the famous board game Othello (a.k.a. Reversi) which is trained with neural network technology, notably Convolutional Neural Network(CNN), deep reinforcement learning and adaptive learning algorithms. By a dynamic interaction with AI, we seek to show how AI learns from its mistakes and the strengths and weaknesses of human and AI respectively.

What it does

The algorithm learns to play the world-renowned board game Reversi, which is able to improve its performance based on the data it received from gaming with humans and itself.

How we built it

Main techniques we used include Convolutional Neural Network (CNN), deep reinforcement learning and adaptive learning. The code is written in Python and the neural network is built by TensorFlow.

Challenges we ran into

  1. Debugging
  2. Learning to build a neural network by TensorFlow
  3. CNN tuning
  4. Maximising the training performance in a limited time period

Accomplishments that we are proud of

  1. Efficient team communication and responsibility allocation as a multi-disciplinary team
  2. Satisfactory game debugging after a bunch of trails and errors
  3. The performance of AI may shock your face off if you regard him as an artificial idiot.

What we learned

We learned the whole procedure of game programming including interface designing, algorithm framework and debugging. Furthermore, we successfully applied posh technologies such as CNN, RL and AL to train an AI which has satisfactory performance in playing the Othello game.

What's next for Othello Zero

  1. Parallel computing to speed up training
  2. Apply large-scale neural network structure

Built With

Share this project: