CIS 479 Assignment 2
Summer 2004

For your second assignment, you need to identify a two player game which could be played human against computer using mini-max with alpha-beta pruning. You will need to write a program for your task and implement it in some programming language (Lisp, C++, Pascal, Prolog, etc.). You may work with a partner, if your problem is big enough.

You may use the Lisp code on the CIS 479 web page, the sample programs from the Turbo Pascal Gameworks toolbox as the basis of your mini-max algorithm, or the demonstration programs (Pascal or C++) on the CIS 479 web page. You will need to devise experiments to demonstrate that your algorithm with alpha-beta pruning does indeed output perform ordinary min-max. You may not choose tic-tac-toe, Othello, connect4, Mankala or any of the completed Gameworks sample programs.

You need to submit your project idea to me in writing (along with your partner's name if any) by 5-24-04. I will then formally review and approve your project selection. Hint: choose an easy game and don't worry about fancy graphical output.

You will need to turn in a well commented program listing, sample runs (with neatly organized output), and a memo discussing your solution. In your memo you should describe what makes your algorithm "smart" (ie. from what knowledge source does it derive its power) and also discuss the results of your experiments. To help you determine how much work your algorithm is doing, you may wish to display some of your internal data structures during program execution.

Assigned: 5-18-04
Date due: 6-07-04