Assignment 3: Game-Playing Agents
CSE 415: Introduction to Artificial Intelligence
The University of Washington, Seattle, Spring 2023
The reading for this assignment is Search in The Elements of Artificial Intelligence with Python.
Due Friday, April 21 Monday, April 24 via GradeScope.
There are two options in this assignment.
  1. Backgammon (done individually)
  2. Baroque Chess (done in partnerships)
Both options involve implementing the following: static evaluation, minimax search, alpha-beta pruning, expectimax search, iterative deepening as part of an anytime algorithm,

With the Baroque Chess option, you will also write a move generator.

We plan to run competitions for all the agents in each category and award some additional points for making it into the top 25 percent and some additional points for winning your category.

In either option, you may earn 5 points of extra credit by implementing Zobrist hashing in your agent. If you do this, there should be a method in your code use_Zobrist_hashing(status=False) that can be called by a game master to turn on or off the feature. This will also allow a grading program to determine how much time is being saved by your Zobrist hashing implementation. To earn the credit, your implementation must work well enough to save some measurable amount of time for a given maximum ply, and over the course of a few turns.