Upcoming Events
Seattle Game Conference
2/4 @ Seattle, WA

Casuality Europe
2/7 - 2/9 @ Amsterdam, Netherlands

Profiting in the Video Game Economy
2/16 @ New York, NY

nullarbor
2/23 @ Perth, Australia

More events...


Quick Stats
3741 people currently visiting GDNet.
1945 articles in the reference section.

Help us fight cancer!
Join SETI Team GDNet!



Link to us

  search:   

  Contents

 Games of Perfect
 Information

 What We Need
 Board
 Representations

 Move Generation
 Search Techniques
 Evaluation

 Printable version

 


  The Series

 Getting Started
 Data Structures
 Move Generation
 Basic Search
 Advanced Search
 Evaluation
 Functions


 

This is the first article in a six-part series about programming computers to play chess, and by extension other similar strategy games of perfect information.

Chess has been described as the Drosophila Melanogaster of artificial intelligence, in the sense that the game has spawned a great deal of successful research (including a match victory against the current world champion and arguably the best player of all time, Gary Kasparov), much like many of the discoveries in genetics over the years have been made by scientists studying the tiny fruit fly.  This article series will describe some of the state-of-the-art techniques employed by the most successful programs in the world, including Deep Blue.

Note that by the time the series is completed (in October), I will have written a simple implementation of the game in Java, and the source code will be freely available for download on my web site.  So if you want to see more code samples, be patient; I'll give you plenty in due time!

Games of Perfect Information

Chess is defined as a game of "perfect information", because both players are aware of the entire state of the game world at all times: just by looking at the board, you can see which pieces are alive and where they are located.  Checkers, Go, Go-Moku, Backgammon and Othello are other members of the category, but stud poker is not (you don't know what cards your opponent is holding in his hands).

Most of the techniques described in this series will apply more or less equally to all games of perfect information, although the details will vary from game to game.  Obviously, while a search algorithm is a search algorithm no matter what the domain, move generation and position evaluation will depend completely on the rules of the game being played!


Next : What We Need