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.
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:
<dependency>
<groupId>ai.libs</groupId>
<artifactId>jaicore-ml</artifactId>
<version>0.2.5</version>
</dependency>
dependencies {
implementation 'ai.libs:jaicore-ml:0.2.5'
}
For more details, refer to the documentation of the respective module.
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.