Package Index

Hipster is a heuristic iterative search library implemented in pure java. The aim of this project is to provide a easy to use, well-designed object-oriented library that lets you use and extend the most common search algorithms to solve from graph problems to more advanced state-space search problems.

es.usc.citius.hipster.algorithm Implementation of the different algorithms included in the library.
es.usc.citius.hipster.algorithm.localsearch Implementation of local search algorithms (such as hill climbing).
es.usc.citius.hipster.examples Module with different toy examples solved with Hipster.
es.usc.citius.hipster.examples.problem Game example models.
es.usc.citius.hipster.graph Lightweight graph interfaces and in-memory graph implementations.
es.usc.citius.hipster.model Search component model used in Hipster (cost function, heuristic function, nodes, transitions...).
es.usc.citius.hipster.model.function Interfaces that define the functions used to compute costs, expand nodes, etc.
es.usc.citius.hipster.model.function.impl Default implementations of many function operators required by the search algorithms.
es.usc.citius.hipster.model.impl Default implementation of some components of the model.

Util classes to create a new search problem.

es.usc.citius.hipster.thirdparty.graphs.blueprints Adapter classes and interfaces to work with the Blueprints API.
es.usc.citius.hipster.thirdparty.graphs.jung Adapter classes and interfaces to work with the JUNG API.
es.usc.citius.hipster.util.examples Toy examples for algorithm validation.
es.usc.citius.hipster.util.examples.maze Util classes to define a simple maze problem to test different search algorithms.
es.usc.citius.lab.hipster.collections Custom collections and data structures.
es.usc.citius.lab.hipster.collections.adapter Includes some adapters to adapt the original data structures to different interfaces, like java.util.Queue.