CSCI 335 - Programming Project #3: Checkers

Fall 2011

Due: Thursday, September 15, 2:45 pm


  • Students may work independently, or in teams of two people, for this assignment.
  • Download the implementation of Checkers
  • Implement alpha-beta search for the game of Checkers. Invent your own board evaluation function. You may find it easiest to begin by implementing a minimax search, followed by incorporating alpha-beta pruning.
  • Select a depth level that allows it to complete its search in approximately 5 seconds or less.
  • Evaluate your player as follows:
  • Having evaluated your player, attempt to improve the evaluation function. Then evaluate it again as you did for the first function. Also have the players play 32 games against each other. Attempt to make a qualitative judgement as to which is the superior player.
  • Attempt to improve your search algorithm. The requirement is to perform two modifications, but you may choose more if you would like. You may choose to do any of the following:
  • Evaluate each combination of your modified search algorithm and your two evaluation functions as described earlier. Run the search algorithms with the same depth limit. Record the number of nodes they expand when played against each other.
  • Write a paper describing your search algorithms, board evaluation functions, the reasoning behind your functions, your additional modifications, and your results. Draw conclusions about the different approaches you attempted in light of the observations you have made.
  • Select your best overall player, and convince at least three acquaintences to play against this player a few times. Include the results and a discussion of their impressions in your report.
  • Submit using Sauron