Homework 4: Game tree search

Your assignment is to write a parallel game tree search for Othello, using the Cilk language. We borrowed the idea for this assignment (with permission) from Rice's Spring 2007 COMP 422 course. Here is the website describing their version of the assignment. We have modified their provided code to include a timer and a (naive) computer player, and changed the requirements somewhat.


Provided code

UPDATE (mfh 10:31 12 Oct 2007): bugfix in othello.cilk. Please refresh provided code from Git repository (preferred) or current tarball.

Grading criteria

These are borrowed from Rice's assignment.

Due date

Homework 4 is due Thursday, 25 October, at 5pm. However, we strongly recommend starting early, because completing the tests may require playing by hand against the computer, which requires interactive batch jobs.


Cilk features

Cilk offers some features that can help you implement game tree search efficiently. In particular, an alpha/beta search will not need any locks, if you use inlets to update alpha and beta. You can also use "abort" within an inlet to break off search early.

Optional parallel optimizations

Optional sequential optimizations


Last updated 12 Oct 2007.