Fuzzy System (Fs) Documentation

These HTML pages are available in book form as a postscript file.

Please select a topic below.


Table of Contents


Overview of the Fuzzy System

Note: This documentation assumes the reader is already familiar with fuzzy logic and fuzzy sets. No attempt is made to explain these concepts or why one would want to use a fuzzy logic system within an intelligent agent (or anywhere else, for that matter).

The documentation also assumes a familiarity with Java concepts, including JavaBeans. No attempt is made to explain classpaths, compiling Java programs, manifest files, jar files, or JavaBean design patterns.

The heart of the fuzzy system is the FsRuleSet class, which is derived from the AbleObject class and the AbleBean interface. This means that FsRuleSet objects can be created and manipulated from within the Able Editor IDE, using the menubar, toolbar and context menus that the Able Editor provides to customize the fuzzy ruleset and wire it to other ABLE objects.

The fuzzy system also can be used outside of ABLE to provide fuzzy logic to any Java application. The fuzzy ruleset editor can be started independently of the Able Editor by using one of the runFuzzyEditor shell scripts in the able/bin directory. And, like any other AbleObject, an FsRuleSet object can be created and manipulated by any Java program by using the public methods on the object. These methods are documented in the fuzzy system JavaDoc output provided with the ABLE package.

General Behavior

Like other AbleBeans, fuzzy rulesets can be created with the Able Editor and customized (with the fuzzy ruleset editor). They can receive (perhaps filtered) input and write output through managed buffer connections. PropertyChangeListeners can register with fuzzy rulesets. In addition, fuzzy rulesets are Sensor and Effector managers, meaning that methods of external objects can be registered and called from fuzzy rules. Fuzzy rulesets can be saved as source rule language files, as serialized Java beans, and as fuzzy XML documents.

Inferencing

In a fuzzy system, all (fuzzy) rules are evaluated in parallel, each and every rule (except those eliminated through alphacut thresholding) playing a part in the final outcome. This fuzzy system lets the rule author choose different strategies for inferencing, correlating antecedents with consequents, and defuzzifying fuzzy numbers.

Examples

Looking at the examples provided in the com.ibm.able.examples.fuzzy package is a good place to observe some of these different ways of creating and using fuzzy agents.


Last modified: Wed Jun 7 10:36:42 CDT 2000