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#. The current GUI interface is shown below. This most recent version also incorporates the forward-pruning search technique of the recent papers.
The search process has been updated to incorporate the new forward-pruning approach. It is still only a prototype however and is not optimised. It does not use bitboards or think in the opponent's time, for example. The program is a bit buggy and so in the rare occasions that it stops, please have patience and make your own judgement about the result.
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.
This page provides more information about the game and the option to download the latest version, if it is made available again.
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.