Skip to content

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

License

starlibs/AILibs

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Build Status Quality Gate SonarCloud Coverage Maven Central Javadocs

AILibs

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:

Maven

<dependency>
  <groupId>ai.libs</groupId>
  <artifactId>jaicore-ml</artifactId>
  <version>0.2.5</version>
</dependency>

Gradle

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

Eclipse

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

JAICore

Software Configuration

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published