Overview
Built as an Honors Contract for EMU's Introduction to Artificial Intelligence course, this project explores how two classical adversarial-search algorithms, Min-Max with alpha-beta pruning and Monte Carlo Tree Search (MCTS), perform on the same game under matched conditions. The result is a working Connect 4 engine, two interchangeable AI opponents, and a simulation harness that runs hundreds of games between them to surface meaningful win-rate trends.
Approach
- Developed a Connect 4 game engine in Java with clean OOP separation between board state, move generation, rules, and player agents, making algorithms swappable behind a shared
Playerinterface. - Implemented Min-Max with alpha-beta pruning and a Monte Carlo Tree Search agent (selection, expansion, simulation, backpropagation) as the two AI opponents.
- Built a simulation framework to pit the algorithms against each other over hundreds of games, varying depth/iteration budgets to analyze win-rate trends.
- Wrote unit tests to validate move generation, terminal-state detection, and AI behavior under constrained budgets.
Results & Learnings
- Authored an accompanying paper documenting algorithm performance, implementation challenges, and a comparative analysis of search strategies under fixed compute budgets.
- Reinforced how the right design pattern (strategy + clean interfaces) makes swapping search algorithms a one-line change rather than a rewrite.
- Gave me hands-on intuition for when MCTS's randomized rollouts catch up to (and overtake) Min-Max as game complexity grows.