Introduction to Artificial Intelligence (Fall 2007)/Assignment 2/Programming

From GICL Wiki
Revision as of 10:48, 17 October 2007 by Evan (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Instructions

You should downloaded and install the sourcecode for Othello, available here. An Eclipse project for the code should be available soon.

You are to create a new othello-playing agent. Your agent should be implemented as a class extending

edu.drexel.cs.ai.othello.OthelloPlayer
Your class should be in a package called "students.lastname" and the class itself should be called "FirstnamesOthelloPlayer." For example:
package students.sultanik;
import java.util.Date;
import edu.drexel.cs.ai.othello.*;

public class EvansOthelloPlayer extends OthelloPlayer {
  public EvansOthelloPlayer(String name) {
    super(name);
  }
  public Square getMove(GameState currentState, Date deadline) {
    /* Implement MiniMax with Alpha-Beta and return your move choice here */
  }
}

You must implement, at a minimum, MiniMax search with Alpha-Beta pruning, as is described in Figure 6.7 from the textbook.

NOTE: for this assignment you are not required to implement time-critical reasoning code to interface with the deadline argument. Instead, you may choose to implement a naïve depth-based cutoff in your Terminal-Test function. If you choose this approach, you must decide on a cutoff depth such that your agent takes no more than about 30 seconds to choose a move. Your agent must honor the deadline argument for the competition, however.