Crate ai_kit

Source
Expand description

AI_Kit aims to be a single dependency for various clssic AI algorithms.

Core project goals are:

  • convenient and ergonomic interfaces to various algorithms by building around traits.

  • only build what you need through the use of feature flags

  • performance

  • easy to understand implementations

All of the algorithms (documented below) operate on several core traits, BindingsValue, Unify, Operation.

Modulesยง

constraints
The constraints module implements a very basic system for checking and solving constraints.
core
The core module contains the core data structures and traits used by all other modules.
datum
The datum module provides a data structure, Datum, that implements the Unify trait. Datum aims to be a drop-in for any algorithm in ai_kit that operates on the Unify trait.
infer
The infer module implements basic forward chaining inference by applying any applicable Operations to a vector of Unifys.
pedigree
The pedigree module implements functionality for tracking which Unify and Operation structures were used to derive a new Unify.
planner
The planner module implements a basic system for backtracking planner.
rule
The rule module provides a data structure, Rule, that implements the Operation trait. Rule aims to be a drop-in for any algorithm in ai_kit that operates on the Operation trait.
utils
Internal utilities