Currently, this project is only compatible with Linux. Apologies to anyone else who is interested (though you can probably make it work since Python is cross platform).
This is an attempt to implement simple Artificial Neural Networks to play the game of Reversi (also called Othello). Please notify me is you find any of my plethora of mistakes...
NOTE: The Reversi playing engine 'Edax' engine is bundled with this repository and I do not possess any rights to that engine. See bottom for more information.
If you don't know how to play Reversi, look here.
This project is built on Python 2.7. Please install Python before continuing.
# on Debian/Ubuntu
sudo apt-get install python
A few additional modules were used to build this project (all under python):
- anytree
- Cython
- numpy
- matplotlib (optional)
Installation should be easy if you have python installed:
pip install anytree
pip install cython
pip install numpy
pip install matplotlib
Clone the directory:
git clone https://github.com/steven-xia/ReversiBot
Then compile the necessary components:
python setup.py build_ext --inplace
If all the dependencies are met, you can easily run with (inside the folder).
python gui.py
If you want to train, you need to unzip the training data file: 'training_data.zip':
unzip training_data.zip
Data collection is done with the following command. The number of threads can be set in edax_wrapper.py
under the
variable THREADS
.
python collect_data.py
Training is done with the train.py
file. Any configurations to the network architecture should be done by changing
the 'constants' found at the top the file. Training can be done with the command:
python train.py
- Edax -- released under GNU GPL version 3