Exercise 5.11

Develop a general game-playing program, capable of playing a variety of games.

  1. Implement move generators and evaluation functions for one or more of the following games: Kalah, Othello, checkers, and chess.

  2. Construct a general alpha–beta game-playing agent.

  3. Compare the effect of increasing search depth, improving move ordering, and improving the evaluation function. How close does your effective branching factor come to the ideal case of perfect move ordering?

  4. Implement a selective search algorithm, such as B* @Berliner:1979, conspiracy number search @McAllester:1988, or MGSS* @Russell+Wefald:1989 and compare its performance to A*.

View Answer