Algorithm
Development Kit 1.0

algs.model.gametree.debug
Class MinimaxEvaluation

java.lang.Object
  extended by algs.model.gametree.debug.MinimaxEvaluation
All Implemented Interfaces:
IEvaluation

public class MinimaxEvaluation
extends java.lang.Object
implements IEvaluation

Initiate MinimaxEvaluation over the given game state and ply. Uses dotty debugging output for viewing. Note that the implementation provided here is quite different from the non-debug version, since its aim is not for speed but for the accurate portrayal of the path finding algorithm as it executes.

Since:
1.0
Version:
1.0, 6/15/08
Author:
George Heineman

Constructor Summary
MinimaxEvaluation(int ply)
          Create an evaluator with the given state.
 
Method Summary
 IGameMove bestMove(IGameState state, IPlayer player, IPlayer opponent)
          Initiates the MiniMax computations by determining the maximum number of moves in advance to look.
 void debug(IDebugSearch debug)
          Install debugger to use.
 java.lang.String toString()
          Expose board state as string (useful for debugging purposes).
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

MinimaxEvaluation

public MinimaxEvaluation(int ply)
Create an evaluator with the given state. It is important that the same player evaluate the board regardless of MIN and MAX. The player will be known when bestMove is invoked.

Parameters:
ply - Depth to search.
Method Detail

bestMove

public IGameMove bestMove(IGameState state,
                          IPlayer player,
                          IPlayer opponent)
Initiates the MiniMax computations by determining the maximum number of moves in advance to look. Note that player is the INTELLIGENT player making the move; the opponent may be a human player but also may be an intelligent player.

Specified by:
bestMove in interface IEvaluation
Parameters:
state - Game state being evaluated
player - The player making the next move
opponent - The player's opponent

toString

public java.lang.String toString()
Expose board state as string (useful for debugging purposes).

Overrides:
toString in class java.lang.Object

debug

public void debug(IDebugSearch debug)
Install debugger to use.

Parameters:
debug -

Algorithm Development Kit 1.0

This code supports the Algorithms in a Nutshell book, published by O'Reilly Media, Inc. in November 2008. Please visit the book web page to learn of any changes to the code repository or to record a potential defect.