CS 480 Python Assignment 2

Assigned: 2 October 2017   Due: 13 October 2017

This assignment again has you start with existing Python code and extend it. When you are done, please upload your files. You should not change any of the files given here. You should just create a new file that has all of your code in it and imports the relevant modules. A starter version of your file is given below.

This assignment may be done individually or in pairs. If you do it with someone else, please upload one assignment (either member of the pair's username can be used) and clearly state the names of both students.

For this assignment you will implement a heuristic evaluation function for the game of Othello. To get started you need to download the files utils.py and othello.py. Your assignment is to then extend the code in myothello.py to create a competent Othello player. We will discuss this in class, but basically you will define a class that inherits from othello_player and modifies the methods calculate_utility and alphabeta_parameters. The first lets you set the default method that calculates the utilities of states as they are generated. The second lets you get more specific for each particular alphabeta_search call by setting the depth cutoff, the cutoff test function and the evaluation function. We will discuss strategies in class. Your alphabeta_parameter method should work well for initial times ranging from 60 to 1200 at least. Change the name of the MyPlayer class to somehow indicate who your player is.

Note that there may be an Othello tournament that will pit your players against one another. This will not happen until this assignment is graded and returned. You will be offered a short window of opportunity to fix/improve your code before the actual tournament.