Sandeep Deb's Home Page
Game Theory
  Chess
Natural Computing is one of the computer science topics very close to my heart. I have always dreamt of building this 'Darwin Simulator' which can show, visualy, numerically and computationally how individuals evolve in conjunction with their socities. Maybe I will build it one day. Just to be on the realistic side, my grand dream of making a 'Darwin Simulator' can't be realized till I master the tools to achieve it. The tools include Genetic Algorithms, Neural Networks, Chaos theory and of course game programming. This program of mine - the Chess application is a small step towards the ultimate goal.

A program which shows signs of intelligent behaviour can be classified as an AI program. Game Theory has significant influence in the area of AI. One of the areas in which game theory is typically employed are two player games like Chess, Othello, Push, Tic-Tac-Toe etc. The domain model of a two player strategy game can expressed in terms of board, rules, pieces, players and strategies. It's quite interesting to note that there are algorithms which tackle two player games, which implies that if we can sufficiently abstract the game, we can use the same algorithm (engine) to play any type of two player game by plugging in the game rules and strategies.

In this program, I have tried to create a generic framework for the computer to play any two player strategy game. As an example, I have included applets for Tic-Tac-Toe and Chess being built upon the same core framework. I have used alpha-beta pruning as the core algorithm and have supplimented it with game specific rules and strategies. It is quite interesting to note that for a simple game like Tic-Tac-Toe, where the solution space is limited, it is impossible for a human player to win against the computer. Where as, for a game with a huge solution space, the algorithm can show decent signs of intelligence by selectively pruning the game tree to a reasonable depth.

You can follow the links below to explore more. I have included the source code, documentation and applets. Please note that this source code was developed sometimes during 2001 and has not been updated since.

Framework | Tic-Tac-Toe | Chess | Source Code | Rose Model | Javadocs (download) | Javadocs (online)