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.extensions.graph | |
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. |
es.usc.citius.hipster.model.problem | 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 | |
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. |