Skip to content
This repository has been archived by the owner on Oct 5, 2020. It is now read-only.
/ reversi-bot Public archive

A Reversi bot built utilizing an elementary neural network algorithm.

License

Notifications You must be signed in to change notification settings

xtevenx/reversi-bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

reversi-bot

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.

Getting Started

If you don't know how to play Reversi, look here.

Dependencies

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

Installing

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

Other notes

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

Acknowledgments

  • Edax -- released under GNU GPL version 3

About

A Reversi bot built utilizing an elementary neural network algorithm.

Resources

License

Stars

Watchers

Forks

Releases

No releases published