Tic-Tac-Toe in Java with AI using Minimax with Alpha-Beta Pruning

There are lots of resources on the web about Minimax with Alpha-Beta pruning (the algorithm that forms the basis of most chess, draughts and other game-playing AIs). What I found missing when trying to implement it was a solid practical example. Hopefully this Java version of Noughts and Crosses (Tic-Tac-Toe) is one.

The classes for those interested in minimax with alpha-beta pruning are AI and Node

Browse the source code | Browse the javadoc | Changelog