CSE 473 Fall 2007: Game Playing




Due: Mon November 26 11:59pm

The purpose of this assignment is to try out the game playing techniques we have studied as well as adding your own ideas. You may choose to do either Kalah with these rules or Othello on an 8 X 8 board with the standard rules.

Kalah Tournament Tree

Requirements

Turn-in Details

Tournaments

The TAs will organize a Kalah tournament and an Othello tournament. This is mostly just for fun, but the winners will be recognized and there will be some small extra credit for participating.
The tournament requires having your program calculate moves in a certain amount of time, as described below. This functionality is only necessary if you want to participate in the tournament.

The tournament will be held after the due date, and participants will be assigned an opponent and a deadline by which the game must be completed; you will have to meet, play the game, and report the results to Deepak.

The order of turns can be decided in a couple of ways:
1) The issue of who goes first in each game can be decided by a coin-toss; your program should be able to play with either ordering.
2) You can play 2 games, changing who goes first, and determine the victor based the total number of stones acquired, if each player wins one game.
The choice is between you and your opponent; come to a decision before the game starts to keep things fair.

Rules

Time: In order to compensate for people 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. So you should have some means to enter in the computer's speed and have the program return an answer in the allotted time.

Memory/Disk Space: Go to town. There are no limits other than you may not use another machine's 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.