PLT Scheme Inference Collection
PLT Scheme Inference Collection
Version 1.3 (October 23, 2006)
The PLT Scheme Inference Collection implements an inference engine that
supports by forward chaining (data-driven) and backward chaining (goal-
driven) for developing rule-based systems in PLT Scheme. The inference
engine:
* Provides an efficient rule-based inference engine
* Supports both forward chaining (data-driven) and backward chaining
(goal-driven) inference.
The source code is distributed with the inference collection and is
licensed under the GNU Lesser General Public License (LGPL).
The motivation behind the PLT Scheme Inference Collection is to provide the
inference engine for developing knowledge-based simulations in PLT Scheme. It
is based on work originally done in Symbolics Common Lisp. This is not as much
a port of the earlier work as a complete re-engineering of the system into PLT
Scheme. In particular, it implements a complete rule network with pattern
matching for lists (variable sized), association lists (keys), vector (fixed
size), and structures. It also supports existential matching with no (notany),
any, notall, and all pattern modifiers.
The PLT Scheme Inference Collection provides the following functionality for
building and executing inferencing systems:
* Inference Environments
* Inference Control
* Rule Sets
* Rules
* Assertions
* Pattern Matching
- Lists
- Association Lists
- Vectors
- Structures
* Conflict Resolution
- Rule order
- Depth First
- Breadth First
- Simplicity
- Complexity
This initial version of the PLT Scheme Inference Collection does not yet
include a reference manual. It is released to elicit comments from the PLT
Scheme user community. There are examples included in the examples directory.
A full reference manual will be available in the future. For more information,
contact [email protected].
Change Log
Version 1.3
* Added replace functionality
Version 1.2
* Implemented hierarchical inference environments
* Implemented import and export
* Added Sudoku example (using hierarchical inference environments)
* Implemented initial support for shared nodes in rule networks
Version 1.1
* General code cleanup
* Improved trace output:
>>> assert
<<< retract
??? check
==> forward chaining rule application
<== backward chaining rule application
* Implemented rule priorities
* Implemented agenda and conflict resolution strategies
depth first
breadth first
rule order
simplicity
complexity
random
* Conflict Resolution
- Rule order
- Depth First
- Breadth First
- Simplicity
- Complexity
This initial version of the PLT Scheme Inference Collection does not yet
include a reference manual. It is released to elicit comments from the PLT
Scheme user community. There are examples included in the examples directory.
A full reference manual will be available in the future. For more information,
contact [email protected].
Change Log
Version 1.3 (October 23, 2006)
* Added replace functionality
*
Version 1.1
* General code cleanup
* Improved trace output:
>>> assert
<<< retract
??? check
==> forward chaining rule application
<== backward chaining rule application
* Implemented agenda and conflict resolution strategies.