AbstractNode<A, S, N extends AbstractNode<A, S, N>> |
Basic implementation of the interface Node . |
ActionFunction<A, S> |
Interface that defines an action function that computes applicable
actions for a given state. |
ActionStateTransitionFunction<A, S> |
Interface to define a transition function that takes an action
and a concrete state and returns the new state. |
ADStarForward<A, S, C extends Comparable<C>, N extends ADStarNode<A, S, C, N>> |
Iterative implementation of the forward Anytime Dynamic A* (AD*-f) search algorithm. |
ADStarForward.Iterator |
Internal iterator that implements all the logic of the A* search
|
ADStarNode<A, S, C extends Comparable<C>, N extends ADStarNode<A, S, C, N>> |
Implementation of Node to be used with the AD* algorithm, implemented in
ADStarForward . |
ADStarNode.Key<C extends Comparable<C>> |
Inner class defining the key of the node, which depends on the values of G and V. |
ADStarNodeExpander<A, S, C extends Comparable<C>, N extends ADStarNode<A, S, C, N>> |
This class is an implementation of NodeExpander for nodes
of type ADStarNode . |
ADStarNodeFactory<A, S, C extends Comparable<C>> |
The ADStarNodeBuilder is used for instantiate new ADStarNodeImpl . |
ADStarNodeImpl<A, S, C extends Comparable<C>> |
Interface defining the basic operations for Node to be used with
ADStarForward . |
ADStarNodeUpdater<A, S, C extends Comparable<C>> |
The ADStarNodeUpdater is used by the ADStarForward
algorithm to update the G and V values of the ADStarNodeImpl
explored by the algorithm. |
Algorithm<A, S, N extends Node<A, S, N>> |
Abstract class implemented by each search algorithm. |
Algorithm.SearchListener<N> |
|
Algorithm.SearchResult |
Holds information about the search process. |
AnnealingSearch<A, S, N extends HeuristicNode<A, S, Double, N>> |
Implementation of the simulated annealing search that is a probabilistic
technique for approximating the global optimum of a given function. |
AnnealingSearch.AcceptanceProbability |
Interface to compute the acceptance probability. |
AnnealingSearch.ASIterator |
|
AnnealingSearch.SuccessorFinder<A, S, N extends Node<A, S, N>> |
Interface to find the successor of a node. |
ASCIIMazeVisualizer |
|
AStar<A, S, C extends Comparable<C>, N extends HeuristicNode<A, S, C, N>> |
Implementation of the A* algorithm. |
AStar.Iterator |
Internal iterator that implements all the logic of the A* search
|
BellmanFord<A, S, C extends Comparable<C>, N extends CostNode<A, S, C, N>> |
Optimized implementation of the Bellman-Ford algorithm. |
BellmanFord.Iterator |
Bellman-Ford iterator. |
BinaryFunction<T> |
A binary operation takes two elements of the same type
and combines them returning an element of the same type. |
BinaryOperation<E extends Comparable<E>> |
A implementation of BinaryFunction used to define
a custom cost algebra that also has the following definitions:
- identity element (A*I = A)
- maximum element (A*M = M)
|
BlueprintsGraphMultiobjectiveSearch |
Simple example that loads a GraphML example graph from GitHub, loads it with the
Blueprints API and then solves the multiobjective problem with Hipster
A full description of the problem is published on
Hipster's wiki. |
BlueprintsHipsterDirectedGraphAdapter |
Simple adapter implementation between a Hipster graph and a Blueprints graph. |
BlueprintsHipsterGraphAdapter |
Simple graph adapter between a Blueprints graph and a HipsterGraph. |
BreadthFirstSearch<A, S, N extends Node<A, S, N>> |
Breadth First Search (BFS) implementation. |
BreadthFirstSearch.Iterator |
Implements all the BFS search logic as an iterator
|
DepthFirstSearch<A, S, N extends Node<A, S, N>> |
Depth First Search (DFS) is a blind algorithm that performs an exploration
of the graph in a way that always reaches the deepest node before backtracking. |
DepthFirstSearch.Iterator |
DFS iterator used to expand always the deepest non-visited node. |
DepthFirstSearch.StackFrameNode |
|
DepthLimitedSearch<A, S, N extends Node<A, S, N>> |
Copyright 2015 Centro de Investigación en Tecnoloxías da Información (CITIUS),
University of Santiago de Compostela (USC). |
DirectedEdge<V, E> |
|
DirectedGraphSearchExample |
Example that creates a HipsterDirectedGraph ,
creates a search problem to be used with Hipster search iterators and performs
a search using the Dijkstra algorithm. |
HashBasedHipsterDirectedGraph<V, E> |
Implementation of a HipsterDirectedGraph using a Guava Hash Table. |
HashBasedHipsterGraph<V, E> |
Lightweight implementation of an in-memory, mutable graph backed to a HashMap where
keys are vertices and edges are GraphEdge s
|
HashQueue<S> |
Implementation of a java.util.Queue backed by a java.util.LinkedHashSet |
HashTableHipsterDirectedGraph<V, E> |
Implementation of a HipsterDirectedGraph using a Guava Hash Table. |
HashTableHipsterGraph<V, E> |
Implementation of a HipsterGraph using a Guava Hash Table. |
HeuristicFunction<S, C> |
Defines a function that takes a state and estimates the distance
to the goal of the problem. |
HeuristicNode<A, S, C extends Comparable<C>, N extends HeuristicNode<A, S, C, N>> |
Type of node which stores an estimated (heuristic) cost to the goal, extending
the interface of a cost node CostNode . |
HeuristicNodePriorityEvaluator<A, S, C extends Comparable<C>, N extends HeuristicNode<A, S, C, N>> |
Calculates the priority (double) of a HeuristicNode
based translating on a cost extending java.lang.Number. |
HillClimbing<A, S, C extends Comparable<C>, N extends HeuristicNode<A, S, C, N>> |
Implementation of the Hill Climbing algorithm. |
HillClimbing.EHCIterator |
|
Hipster |
Util class to create algorithms easily. |
HipsterDirectedGraph<V, E> |
A simple representation of a directed graph with two methods for
retrieving the outgoing edges and the incoming edges for a vertex. |
HipsterGraph<V, E> |
Basic definition of the read-only methods for a graph in terms of edges and vertices. |
HipsterMutableGraph<V, E> |
Interface that defines the basic mutable methods to manipulate graphs |
NegativeCycleException |
|
Node<A, S, N extends Node<A, S, N>> |
A node encapsulates the information generated by the search algorithms during their execution. |
NodeExpander<A, S, N extends Node<A, S, N>> |
Defines a function that takes a Node and expands it
in order to generate all the possible successors. |
NodeFactory<A, S, N> |
Generator of nodes. |
NPuzzle |
General N-Puzzle problem. |
NPuzzle.Puzzle |
Puzzle class represents the state codification for this game. |
NPuzzle.PuzzleMove |
Actions that can be used in the N-Puzzle game. |
NQueens |
General N-Queens problem. |
ScalarFunction<T> |
A scalar function takes an object and modifies its magnitude by a
numeric factor without changing its type. |
ScalarOperation<E extends Comparable<E>> |
A scalar operation is an implementation of ScalarFunction that
also defines:
- identity element (A*i = A)
|
SearchComponents<A, S, C extends Comparable<C>> |
This class should be used to instantiate an ADStar algorithm through the Hipster.createADStar method. |
SearchProblem<A, S, N extends Node<A, S, N>> |
Defines a search problems in terms of a initial node to start with and the node expander
function that generates new successor nodes. |
SimpleEightPuzzleExample |
Example of using Hipster to solve the 8-puzzle search problem problem using the
Dijkstra's algorithm. |
SimpleTransition<S> |
A SimpleTransition is just a transition without explicit actions Transition<Void,S> . |
StateTransitionFunction<S> |
Implementation of a TransitionFunction which generates
an java.lang.Iterable of Transition which are instantiated
in a lazy way, as the elements are iterated by the algorithms, and not in advance. |