Skip to content

Latest commit

 

History

History
67 lines (48 loc) · 2.61 KB

README.org

File metadata and controls

67 lines (48 loc) · 2.61 KB

The AIDDL Common Library

The AIDDL Common Library contains type definitions, implementations and test cases for many common AI algorithms. These implementations can be used as building blocks for fast prototyping of integrated AI systems.

The folder aiddl contains type definitions and in a few cases algorithms in the form of requests. The test folder contains test cases in AIDDL and problem instances used by language specific test cases. All other folder contain language specific libraries with common AI algorithms that use the defined types.

Installation

Setting AIDDL_PATH

Modules in AIDDL_PATH can be imported by using their module name or filename relative to path entries.

Linux

Add the following lines to the end of the ~/.profile file (or extend the existing line with the path):

AIDDL_PATH="<AIDDL-ROOT>/common/aiddl/:<AIDDL-ROOT>/core/aiddl/"

Windows

  1. Navigate to: Computer -> Settings -> Advanced Settings -> Environment Variables
  2. Add a new variable named AIDDL_PATH (unless it exists already)
  3. Change the value of AIDDL_PATH to include the following folder:
    • <AIDDL-ROOT>/common/aiddl

You may have to restart applications to make sure they can use the newly set variable.

Types, Interfaces and Functions

This section details all language-independent components of AIDDL common.

For an overview of functions implemented, e.g., in Java consult the corresponding README.org file.

Math

Graphs

URIDescriptionExample(s)
org.aiddl.common.graph
NodeA node in a graphv1, (at a b)
UndirectedEdgeAn undirected edge{v1 v2}
DirectedEdgeA directed edge(v1 v2)
GraphUndirected Graph(V:{v1 v2} E:{{v1 v2}})
DiGraphDirected Graph(V:{v1 v2} E:{(v1 v2)})
WeightMapMap from Edge to weight{(v1 v2):3 (v1 v3):2}
Distance MapMap from Node to distance{v1:0 v2:3 v3:2}
Predecessor MapMap from Node to predecessor node{v1:NIL v2:v1 v3:v1}

Automated Planning

State-Variable

Machine Learning

Supervised

Decision Tree