1 Introduction
The PLT Scheme Inference Collection implements an inference engine that supports both 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 forward-chaining for data-driven inferencing.
Supports backward-chaining for goal-driven inferencing.
Makes inferences directly on Scheme data - lists, assoication lists, vectors, and structures.
The source code is distributed with the inference collection and licensed under the GNU Lesser General Public License, Version 2.1 [LGPL].
The motivation behind the PLT Scheme Inference Collection is to provide the inference engine for knowledge-based simulation in PLT Scheme. It is based on a knowledge-based simulation system originally written in Symbolics Common Lisp [Williams90] [Williams96]. This is not as much a port of the earlier work as it is a complete re-engineering of the system into PLT Scheme.
1.1 Routines Available in the Inference Collection
The PLT Scheme Inference Collection cover a range of functionality for developing and executing rule-based systems:
Inference Environments (Basic)
Inference Control
Assertions
Rule Sets
- Rules
Data-Driven (Forward Chaining)
Goal-Driven (Backward Chaining)
Rule Network
Conflict Resolution Strategy
- Inference Environment (Hierarchical)
Import
Export
The use of these functions is described in this manual. Each chapter provides detailed definitions of the functions, with example code.
1.2 The Inference Collection is Free Software
The PLT Scheme Inference Collection is free software – this means that anyone is free to use it and redistribute it in other free programs. The inference collection is not in the public domain – it is copyrighted and there are conditions on its distribution. Specifically, the PLT Scheme Inference Collection is distributed under the GNU Lesser General Public License, Version 2.1. A copy of the LGPL is provided with the software.
1.3 Obtaining the Inference Collection
The preferred method for obtaining the PLT Scheme Inference Collection is via PLaneT, PLT Scheme’s centeralized package distribution system. The PLaneT identifier for the PLT Scheme Inference Collection is (planet williams/inference/inference), which will download and install the infernece collection. See Chapter 2 for an example.
The source code is maintained on the Schematics project website and Subversion repository at SourceForge.
Note that Version 2.0 and higher of the PLT Scheme Inference Collection requires PLT Scheme Version 4.0 or higher.
1.4 No Warranty
The PLT Scheme Inference Collection is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. It is your responsibility to validate the behavior of the software and their accuracy using the source code provided. See the GNU Lesser General Public License, Version 2.1 [LGPL] for more details.