CSE logo University of Washington Computer Science & Engineering
 CSE 473: Artificial Intelligence I
  CSE Home   About Us    Search    Contact Info 

Administration
 Course Index
 Syllabus
 Email Archive
 Schedule as RSS
   

Othello Tournament

Due: November 8th

Assignment

Implement an Othello-playing software agent. Extend the code you wrote when implementing Tic-Tac-Toe. Be sure to note the implementation guidelines and rules below.

Writeup Guidelines

Please discuss the following:

  1. Representation of the Othello game state.
  2. Generation of the next ply in the search tree.
  3. Utility evaluation heuristic: why is it good?
  4. Methods for maximizing your search space over a fixed time period.
  5. Anything not mentioned above that makes your program cool.

In addition, for the discussion of the utility evaluation heuristic, please provide three board configurations, the computed utility value for each, and written description of why the computed utility value was appropriate for the given board configuration. Something to the effect of "The utility for this board configuration is high because I control three corners and I am about to capture a number of the other players pieces." You can pick whichever board configurations you'd like, but ideally we'd like to see configurations with good utility, bad utility and something in-between.

Please additionally attach a copy of your source code in the format described in problem set #4.

Rules

Time: In order to compensate for groups using different machines to run their program, we will define move length in terms of processor speed. Each player gets 30 /(speed in GHz) seconds to move. If you wrote a multithreaded implementation, and are running on a multi processor machine, you must multiply the number of processors by the speed. For example, on a 1 GHz machine, you will get 30 seconds.

Memory/Disk Space: Go to town. There are no limits other than you may not use another machines CPU (no servers). Network disk access is OK, however, if the network goes down, you will have to forfeit the game; using the network is not recommended.

The Tournament

Once the programs have been implemented, we will send out a listing of Othello team brackets. To keep things simple, games will be played using an agreed upon on-line service such as Yahoo Games or an Othello software game. This both allows for games to be played at a convenient location for each team and enforcement of the rules in a consistent manner.

You may play any where / time that both teams agree upon. One person should email the results of the round to Brian (bdferris@cs). Pairings will be posted prior to each round.

Rounds: Rounds will consist of two games. The team who has the highest score after two rounds wins, where score is the total number of each players pieces remaining on the board at the end of the game. Each team will go first once.

Illegal moves / crashes: If your program attempts to make an illegal move, or otherwise crashes, the game will be restarted. If your program fails again, your must forfeit the round.


CSE logo Computer Science & Engineering
University of Washington
Box 352350
Seattle, WA  98195-2350
(206) 543-1695 voice, (206) 543-2969 FAX
[comments to bdferris]