Hipster is an easy to use yet powerful and flexible type-safe library for heuristic search, written in pure Java. Hipster relies on a flexible model with generic operators that allow you to reuse and change the behavior of the algorithms very easily. Just define how your problem is and let Hipster do the job.
All the components to define a search problem are clearly defined and separated across different Maven modules. Just pick up the components you need and create your algorithm from scratch or by reusing other algorithms included in Hipster.
Hipster comes with a permissive Apache 2.0 license that allows you to use the library in a wide variety of commercial and non-commercial projects. All the source code of this library is hosted in GitHub. Please feel free to contribute to this project by reporting issues, requesting new features or by developing your own algorithms.
The easiest way to use Hipster is adding it as a dependency with your favourite dependency manager. Maven users can include the library using the following snippet:
This gives you the full features of Hipster to start using, extending and improving search algorithms. Here you have a simple example of how to find the shortest path in a directed graph with Hipster:
Hipster comes also with different adapters to work with Blueprints and JUNG graph libraries. However, Hipster is not limited to graph search. You can do much more!. Define your problem in terms of actions, states and transitions and apply different search strategies to solve them fast!. Check out some examples included in Hipster, like the N-Puzzle, N-Queens or Maze Search.