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