Crate ai_kit [−] [src]
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 |