Algorithm
Development Kit 1.0

algs.model.gametree.debug
Class AlphaBetaEvaluation

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

public class AlphaBetaEvaluation
extends java.lang.Object
implements IEvaluation

Initiate AlphaBeta Evaluation over the given game state and ply.

This implementation is quite different from the non-debug version; this was done because of the convoluted nature of the debugging code to generate the game trees. After execution, the debug information is properly invoked on the provided IDebugSearch interface.

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

Constructor Summary
AlphaBetaEvaluation(int ply)
          Create an evaluator with the given state.
 
Method Summary
 IGameMove bestMove(IGameState s, IPlayer player, IPlayer opponent)
          Initiates the AlphaBeta 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

AlphaBetaEvaluation

public AlphaBetaEvaluation(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 s,
                          IPlayer player,
                          IPlayer opponent)
Initiates the AlphaBeta computations by determining the maximum number of moves in advance to look.

The original game state is copied prior to being processed so no external effect occurs. This implementation is derived from NegMax and selects moves accordingly.

Specified by:
bestMove in interface IEvaluation
Parameters:
s - Game state
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.