Game Playing



My interest in Artifical Intelligence started with the game playing programs. I am more interested in the traditional ones, such as the board games, than the modern video games.


ChessMaps Chess Game-Playing Program

This is a chess game-playing program that uses a neural network as part of its move-ordering algorithm. The neural network is able to realise the relation between the squares on a chessboard that we control and the squares that the moves we play influence. For example, we tend to attack where we are strong and defend where we are weak. The neural network was trained on data generated from Master and Grandmaster games and the results indicated that quite a strong relation does in fact exist.

A new search heuristic has been created using the neural network, which has formed the basis for an overall move ordering algorithm. This algorithm is also able to extract safe/unsafe, capture, forcing and forced moves, and order appropriately to provide an even more accurate ordering. This algorithm has now been turned into a chess game-playing program and ported to C#. This page provides more information about the game and the option to download a version. The current GUI interface is shown below. Note that the current download version does not incorporate the research in the most recent paper, but uses Transposition Tables instead.




Chess with Mined Squares

In my spare time I have also come up with some new variations of the traditional board games. This variation of chess is now part of the program that I wrote. The squares can be mined, so that you will be 'blown up' if you move onto them, which adds a memory test to the game. The format is a formal (patent-like) specification.




Match-It Game-Playing Program

This game is about trying to optimise a grid of numbers to score the maximum number of points. Points are scored by placing two numbers that are the same, beside each other in the grid. Numbers are moved by removing a column or row from the grid, which will then place two other columns or rows beside each other. If any of the numbers on these two columns or rows match, then their values are added to the total score. So this is an optimisation problem and you are required to determine what squares should be removed, to score the maximum total number of points over the remaining squares. This is very easy game to play, but skill is required to score maximum points.This page provides more information about the game and the option to download a version.