COSC 322 Artificial Intelligence Course Project
This course project involved applying artificial intelligence techniques to play the board game amazons (i.e. game of the amazons), a distant relative to chess.
The architecture of this project is composed of one main game class with four connected interfaces. This allows for flexible modularization of the board model representation, online server communication, visual board view, and artificial intelligence evaluation function. The board model module is always required, while the server client, board view, and evaluation function modules are all optional, for certain circumstances.
The GUI is drawn using Java 2D graphics. Both queens and arrows are represented by colored diamonds, but arrow corners are “smart” filled in, making it very clear where queens can or cannot move. The pieces at the bottom represent a ratio of who owns the most squares.
The artificial intelligence has been implemented as an iteratively deepening game state space search, in which the depth is limited by a given turn time limit. In order to increase the performance, each state node is evaluated concurrently in its own thread, using a work-stealing execution pool. The evaluation function is implemented as a standard neural network, using backpropagation training. Training data is generated by randomly simulating a game until one of the opponents cannot make a move, or all queens are isolated in chambers.