All Classes
Class | Description |
---|---|
AbstractSolution |
Wrapper for the heuristic homework solution.
|
AStarFrontierSearcher<State,Node extends SearchTreeNode<Node,State> & KnowsOwnCost,Frontier extends Frontiers.PriorityQueue<Node>> |
Extension of
PriorityQueueSearcher with A*'s
prioritization formula f(n) = g(n)+h(n), still leaving the
exact structure of the frontier as a configurable option. |
AStarFrontierSearcher.PathNodes<State,Frontier extends Frontiers.PriorityQueue<Nodes.SimpleTreePathCostNode<State>>> |
A specialization of
AStarFrontierSearcher to use a
minimal implementation of hierarchical search tree nodes (with a
state, accumulated cost, and pointer to a parent tree node),
with the frontier implementation still exposed as a type
parameter. |
AStarFrontierSearcher.SimpleNodes<State,Frontier extends Frontiers.PriorityQueue<Nodes.SimpleTreeCostNode<State>>> |
A specialization of
AStarFrontierSearcher to use a
minimal implementation of unrelated search tree nodes (with a
state and accumulated cost only), with the frontier
implementation still exposed as a type parameter. |
AStarSearcher<State,Node extends SearchTreeNode<Node,State> & KnowsOwnCost> |
Extension of
AStarFrontierSearcher to fix the frontier
structure with a minimal priority queue implementation. |
AStarSearcher.PathNodes<State> |
A specialization of
AStarSearcher to use a minimal
implementation of hierarchical search tree nodes (with a state,
accumulated cost, and pointer to a parent tree node), with the
frontier implementation still exposed as a type parameter. |
AStarSearcher.SimpleNodes<State> |
A specialization of
AStarSearcher to use a minimal
implementation of unrelated search tree nodes (with a state and
accumulated cost only), with the frontier implementation still
exposed as a type parameter. |
BoardNode |
Search tree node for building RushHour solution move sequences.
|
Boards |
Sample Rushhour boards.
|
BoardState |
Model of one state of the Rushhour board.
|
BoardStateBuilder | |
BreadthFirstFinder |
Model solution finder for RushHour boards using breadth-first
search.
|
BreadthFirstSearcher<State,Node extends SearchTreeNode<Node,State>> |
Specialization of the generic
GraphSearcher to use a queue
for its frontier, and thus erform breadth-first search. |
ExploredSet<Node> |
Methods required to track the nodes which we have already either
added to the frontier, or removed from the frontier for
exploration.
|
ExploredSets |
Three sample implementations of ways
to track nodes which we have already either added to the frontier,
or removed from the frontier for exploration.
|
FrontierCheckingStructure<Node> |
Subclass of frontier representations which support checking
membership of a node in the frontier.
|
FrontierEmptyException |
Thrown when a frontier structure is empty.
|
Frontiers |
Standard implementations of structures representing a frontier.
|
Frontiers.DebuggablePriorityQueue<S,N extends SearchTreeNode<N,S>> | |
Frontiers.DebuggingFrontier<Node> |
Abstract class adding debugging hooks to the basic frontier.
|
Frontiers.PriorityQueue<Node> |
A frontier as a priority queue, for e.g.
|
Frontiers.Queue<Node> |
A queue as a priority queue, for e.g.
|
Frontiers.StateKeyedPriorityQueue<S,N extends SearchTreeNode<N,S>> | |
FrontierStructure<Node> |
Methods required of a representation of a search tree frontier.
|
GameException | |
GoalChecker<Node> |
Methods required of objects which check that a tree node
corresponds to a search goal.
|
GoalCheckers |
Sample implementations of checkers that a tree node corresponds to
a search goal.
|
GraphSearcher<State,Node extends SearchTreeNode<Node,State>,Frontier extends FrontierStructure<Node>> |
Topmost class encapsulating graph search.
|
IllegalMoveException | |
KnowsOwnCost |
Additional interface implemented by search tree nodes which are
aware of their own cost.
|
Move | |
Move.Direction | |
MoveCollisionException | |
MoveException | |
MovesFinder |
Superclass for the various A* approaches to be tested in this
homework.
|
Nodes |
Sample implementations of search tree nodes.
|
Nodes.CostAndStep<S> |
Helper class for search tree node
expansion bundling a node and its associated cost.
|
Nodes.SimpleTreeCostNode<S> |
Implementation of search tree nodes
with a notion of cost.
|
Nodes.SimpleTreeNode<S> |
Simple implementation of search tree
nodes, expecting that the
Exp type argument of the
Nodes.SimpleCoreTreeNode will be just the search state type. |
Nodes.SimpleTreePathCostNode<S> |
Implementation of search tree nodes
which have a notion of cost, and which contain links to their
parent node.
|
Nodes.SimpleTreePathNode<S> |
Implementation of search tree nodes
which retain a link to their parent.
|
PlacedCar | |
PlacementCollisionException | |
PriorityQueueSearcher<State,Node extends SearchTreeNode<Node,State>,Frontier extends Frontiers.PriorityQueue<Node>> |
Specialization of the generic
GraphSearcher to use a
priority queue structure for its frontier. |
Runners |
Provides methods for running sample boards to classes implementing
Rushhour solution search via the standard graph search hierarchy.
|
SearchFailureException |
Thrown from search algorithms when they find no solution.
|
SearchTreeNode<Self extends SearchTreeNode<Self,State>,State> |
Methods required of a search tree node.
|
SearchTreePathNode<This extends SearchTreePathNode<This,S>,S> |
Type of search tree nodes which form a path of nodes, each expanded
from its parent which is next in the path.
|