Amazons Artificial Intelligence

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.

Architecture

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.

Graphical Interface

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.

Screenshot (123)
Game GUI Example

Artificial Intelligence

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.

Project Report

GitHub Repository

amazons0
Testing View of Chambers
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s