CS 327: Artificial Intelligence

Assignment 4: Game Playing

Non-programming questions (10 points)

Turn in the answers to problems 5.1 and 5.7, on pages 145 and 147 of your textbook, on paper in class on Wednesday, 1/31/01.

Programming assignment (10 points)

Due 5 PM on Tuesday, 1/30/01.

Write a Lisp program to get the computer to play Othello against itself by using a minimax strategy. If you're not familiar with the game, you can find the rules here. Submit a file called hw4.lisp, which can have as many functions as you like: but it should have one in particular called play-othello. This should then display a game to the screen, with the computer playing itself.

Sample output:

. . . . . . . .
. . . . W . . .
. . . W W . . .
. . . B W . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .

. . . . . . . .
. . . . . . . .
. . . B W . . .
. . . B W . . .
. . . B W . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .

. . . . . . . .
. . . . . . . .
. . . B W . . .
. . . W W . . .
. . W W W . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .

... and so on.

This is a considerably more difficult assignment than the previous ones. Start early! For full credit, your should implement a search mechanism at least as complicated as depth-limited depth-first-search. Set partial goals and work your way there: some partial credit will be given for a game that plays randomly against itself. Don't spend a lot of time tweaking the game ending if you have trouble with it - we won't put much emphasis on whether the game ends properly (it's some more technical details).