Skip to content

A collection of Java libraries for basic AI algorithms (JAICore) and automated software composition, in particular AutoML (softwareconfiguration)


Notifications You must be signed in to change notification settings


Repository files navigation

Build Status Quality Gate SonarCloud Coverage Maven Central Javadocs


AILibs is a modular collection of Java libraries related to automated decision making. It's highlight functionalities are:

  • Graph Search (jaicore-search): (AStar, BestFirst, Branch & Bound, DFS, MCTS, and more)
  • Logic (jaicore-logic): Represent and reason about propositional and simple first order logic formulas
  • Planning (jaicore-planning): State-space planning (STRIPS, PDDL), and hierarchical planning (HTN, ITN, PTN)
  • Reproducible Experiments (jaicore-experiments): Design and efficiently conduct experiments in a highly parallelized manner.
  • Automated Software Configuration (HASCO): Hierarchical configuration of software systems.
  • Automated Machine Learning (ML-Plan): Automatically find optimal machine learning pipelines in WEKA or sklearn

All algorithms in AILibs are steppable, and their behavior can be analyzed via the algorithm inspector: jaicore-algorithminspector. For example, graph search algorithms send events that allow a graph visualization in the algorithm inspector.

Find out more about AILibs and how to use it or how to contribute.

Using AILibs in your project

You can resolve each of our projects via a Maven dependency (using Maven central as repository). For example, to bind in our machine learning library jaicore-ml, you can do the following:




dependencies {
    implementation 'ai.libs:jaicore-ml:0.2.5'

For more details, refer to the documentation of the respective module.

Setting up your IDE to work with AILibs


Navigate to the folder where you cloned this repository and run

  ./gradlew eclipse

This automatically creates the eclipse project files and configures the dependencies among the projects. Then open Eclipse and go to the import menu, e.g., in the package manager. Choose to import Existing Projects into Workspace, select the folder where you cloned the repository, and make sure to check the Search for nested projects option.

AILibs JavaDoc API


Software Configuration