algs.model.searchtree.debug
Class BreadthFirstSearch
java.lang.Object
algs.model.searchtree.debug.BreadthFirstSearch
- All Implemented Interfaces:
- ISearch
public class BreadthFirstSearch
- extends java.lang.Object
- implements ISearch
Given an initial state and a target goal state, expand in breadth-first
manner all available moves until the target goal state is reached.
This search approach is guaranteed to find the shortest possible path to
the goal state.
- Since:
- 1.0
- Version:
- 1.0, 6/15/08
- Author:
- George Heineman
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
numMoves
public int numMoves
numOpen
public int numOpen
numClosed
public int numClosed
BreadthFirstSearch
public BreadthFirstSearch()
storageType
public void storageType(int type)
- Determine structure to use for storing CLOSED set.
debug
public IDebugSearch debug(IDebugSearch debugger)
- Set the debugger to use when searching (or null to turn off).
search
public Solution search(INode initial,
INode goal)
- Initiate the search for the target state.
Store with each INode object a Transition (Move m, INode prev) so we
can retrace steps to the original solution.
Do we avoid generating moves that undo previous move?
- Specified by:
search
in interface ISearch
- Parameters:
initial
- the initial board stategoal
- the final board state
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.