PLT Scheme Inference Collection

PLT Scheme Inference Collection
Version 1.2

  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

   * 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,

Change Log

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