On this page:
1 Revise your Game Tree
2 Implement two evaluation functions
3 Implement a minimax strategy
4 Run 1000 games
5 Provide an executable
6.0.0.1

Project 11: 11/24

This project is due on 11/24 at midnight.

1 Revise your Game Tree

Make sure that your game tree module supports the following method:

children : Tree -> Listof<Tree>

2 Implement two evaluation functions

Given a game state, evaluate it for the purpose of determining how the current player is doing. An evaluation should produce a number between 0 and 1, where 1 means the player is doing very well, and 0 means the player is doing very badly.

Implement two such evaluation functions, based on your knowledge of what is a state in the game that means a player is likely to win.

3 Implement a minimax strategy

Using the minimax algorithm as described in class, implement a strategy that chooses a move based on a given evaluation function. The player should be parameterized over the evaluation function.

4 Run 1000 games

Run 1000 games, each with 2 random players, and two minimax players, each using one of the two evaluation functions you developed.

5 Provide an executable

Provide an executable named run-n-games which runs the number of games specified on the command line, with the four players described above.