Othello is a board game involving abstract strategy and played by two players on a board with 8 rows and 8 columns and a set of distinct pieces for each side. Pieces typically are disks with a light and a dark face, each side belonging to one player. The player's goal is to have a majority of their colored pieces showing at the end of the game, turning over as many of their opponent's pieces as possible.
This project is an improved version of a previous project called ReversIA, which was a first step into learning IA while implementing one of my childhood games.
Due to previous limitations, I chose to recreate my program using Python while improving code documentation and optimization.
The rules of Othello (also called Reversi) are simple to understand, and if you have never tried it, you really should give it a go. However, it has this reputation of being "easy to learn, hard to master", which seemed like a good idea to create an AI to play against.
- Game mechanisms
- Game graphics
- Minimax algorithm
- Classic
- αβ-pruning
- Genetic weights
- Convolutional Neural Network
- Reinforcement Learning
Distributed under the Creative Commons Zero v1.0 Universal License. See LICENSE
for more information.
Genetic algorithms - crossover. Tutorials Point. (n.d.-a). https://www.tutorialspoint.com/genetic_algorithms/genetic_algorithms_crossover.htm
Genetic algorithms - mutation. Tutorials Point. (n.d.-b). https://www.tutorialspoint.com/genetic_algorithms/genetic_algorithms_mutation.htm
Mallawaarachchi, V. (2020, March 1). Introduction to genetic algorithms - including example code. Medium. https://towardsdatascience.com/introduction-to-genetic-algorithms-including-example-code-e396e98d8bf3
Official Rules for the game othello. World Othello Federation. (n.d.). https://www.worldothello.org/about/about-othello/othello-rules/official-rules/english
Sannidhanam, V., & Annamalai, M. (2015). An analysis of heuristics in othello.