|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectknockabout.search.DCMinMaxSearchAlgorithm
Bounded minmax algorithm using deep clone before each recursion
Constructor Summary | |
DCMinMaxSearchAlgorithm()
|
Method Summary | |
int |
getAverageBranchingFactor()
Average branching factor |
float |
getBestMoveUtility()
|
Heuristic |
getHeuristic()
|
GameState |
getInitialState()
|
int |
getMaxDepth()
|
int |
getNumberOfExploredNodes()
Number of min nodes + number of max nodes explored |
protected float |
max(GameState currentState)
Note that this function will leave the board in the same configuration as the it was when the function was called, because the inverse move is always applied after each move tried. |
protected float |
min(GameState currentState)
See max() |
Move |
search()
Evaluate the best move to do |
void |
setHeuristic(Heuristic heuristic)
The heuristic function to evaluate the utility of non terminal nodes |
void |
setInitialState(GameState initialState)
The initial state of the game |
void |
setMaxDepth(int i)
The depth for which minmax stops expending and begin to use its heuristic instead |
protected float |
stochMax(GameState currentState)
In the case of a stochastic node, average the possibilities |
protected float |
stochMin(GameState currentState)
See stochMax() |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public DCMinMaxSearchAlgorithm()
Method Detail |
public GameState getInitialState()
getInitialState
in interface SearchAlgorithm
public void setInitialState(GameState initialState)
SearchAlgorithm
setInitialState
in interface SearchAlgorithm
initialState
- public Move search()
SearchAlgorithm
search
in interface SearchAlgorithm
protected float max(GameState currentState)
protected float stochMax(GameState currentState)
protected float min(GameState currentState)
protected float stochMin(GameState currentState)
public int getMaxDepth()
getMaxDepth
in interface SearchAlgorithm
public void setMaxDepth(int i)
i
- public Heuristic getHeuristic()
getHeuristic
in interface SearchAlgorithm
public void setHeuristic(Heuristic heuristic)
setHeuristic
in interface SearchAlgorithm
heuristic
- public float getBestMoveUtility()
getBestMoveUtility
in interface SearchAlgorithm
public int getNumberOfExploredNodes()
getNumberOfExploredNodes
in interface SearchAlgorithm
public int getAverageBranchingFactor()
getAverageBranchingFactor
in interface SearchAlgorithm
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |