This repository contains an AI-powered version of the classic Othello/Reversi game. Various algorithms such as Minimax (with Alpha-Beta Pruning), A*, Monte Carlo Tree Search (MCTS), Q-Learning, Negamax, Advanced Heuristic Search, Iterative Deepening, and Move Ordering have been implemented. Users can choose both algorithm and difficulty level (Easy, Medium, Hard, Extreme), allowing for enhanced strategic depth and dynamic gameplay.
The detailed report (see summary below) covers the mathematical foundations, implementation strategies, Q-Learning training procedure, and pros/cons of each algorithm, supported by visuals.
- Overview
- Algorithms
- Difficulty Levels
- Screenshots
- Installation & Usage
- Code Structure
- Results & Evaluation
- References
Othello is a strategic 8x8 board game where two players (Black and White) try to outmaneuver each other by flipping the opponent’s pieces. The primary goal of this project is to simulate intelligent gameplay using different AI algorithms and analyze their performance in terms of execution time, strategic quality, and learning ability.
Key Features:
- Multiple AI algorithms (Minimax, A*, MCTS, etc.)
- Visual and interactive Q-Learning training
- Adjustable difficulty settings with controlled randomness
- Logging game stats to CSV
- "Play Again?" option at game end
- Move animations and legal move highlights
(Algorithms section remains unchanged — see your previous content)
(Randomness explained — unchanged from previous content)
Below are screenshots from various parts of the project interface:
-
In-Game Board View
Displays the game board with black/white pieces, current player information, legal move highlights, and status panel. -
Alternate In-Game View
A second perspective on the game board emphasizing visual elements like highlighted moves and player stats.
-
Algorithm Selection Screen
User selects the desired AI algorithm (Minimax, A*, MCTS, etc.). -
Difficulty Selection Screen
User chooses between Easy, Medium, Hard, and Extreme difficulty levels.
-
Episode Count Input Screen
Interface to input how many episodes the agent should train against the Minimax opponent. -
Q-Learning Training Interface
Shows Q-Learning agent in training mode, playing against a Minimax opponent. -
Q-Table Sample
Displays a snapshot of state-action Q-values learned by the agent. -
Q-Table Plot
Visual representation of the learned Q-values over training.
-
AI Win Rate by Algorithm
Displays win percentages for each algorithm. -
Thinking Time vs. Win Rate
Comparison between average AI thinking time and win rate. -
Average Game Duration
Illustrates average duration per game per algorithm. -
Games Played and AI Wins
Total number of games played and AI win counts by algorithm.
(Unchanged from your original, but you can optionally adjust "Private" under git clone
if this is public.)
(Unchanged from your original — contains insightful breakdown of each method’s performance.)
(Unchanged)
Feel free to open an issue or pull request for questions, bugs, or contributions.
Thanks for visiting!