ABSTRACT

I n Chapter 1 we saw how the game of Nim can be programmed by means of fixed rules-a method called an algorithm-that guarantees to find the solution to a problem if a solution exists. Some other,

relatively simple games can also be played perfectly using algorithms designed for the purpose. But for most interesting games, the problem of finding the best move or even a good one is much too complex, and the number of possibilities that need to be examined is too vast, for an algorithmic method to provide a practical solution within a reasonable amount of time. Instead it is necessary to use rules of thumb, called heuristics, to enable a program to choose its move. Heuristics, unlike algorithms, do not guarantee to find the solution to a problem. What heuristics contribute is the means to make a hopefully intelligent guess at which moves are good and which are less good, and to enable a program to disregard certain moves from serious consideration. Chess is one example of a game whose programming derives great benefit from the use of heuristics.