for the Java(tm) Platform
The FuzzyJ Toolkit, originally developed at the National Research Council of Canada, is a set of Java(tm) classes that provide the capability for handling fuzzy concepts and reasoning. It is hoped that this proves useful for exploring the ideas of fuzzy logic and fuzzy reasoning in a Java setting. Much of the work is based on earlier experience building the FuzzyCLIPS extension to the CLIPS Expert System Shell. The toolkit's API can be used standalone to create fuzzy rules and do reasoning, however, it can also be used with Jess, the Expert System Shell from the Sandia National Laboratories. The integration with Jess, FuzzyJess, provides a capability that is similar to but in many ways more flexible than FuzzyCLIPS.
This work is currently at version 2.0 (first Open Source version, early 2014). The Open Source version of the toolkit is released under the Mozilla Public Licence 2.0 and is hosted on GitHub. Please feel free to provide feedback and contribute to the project. This will help us shape future versions of the FuzzyJ Toolkit. It is hoped that it is possible to maintain and follow Jess revisions with minimal effort since the integration with Jess has been carefully planned with the Jess author.
By way of demonstration, the following examples can be run:
Fuzzy Shower demo - java only code (simple shower control simulation)
Fuzzy Shower demo - Java/Jess hybrid code (simple shower control simulation)
Fuzzy Compiler demo - java only code (tabular output of a set of fuzzy rules run over a range of inputs)
Fuzzy Truck demo - java only code (park a truck using fuzzy rules - requires JFC/Swing)
Fuzzy Pendulum demo - java only code (balance an inverted pendulum)
It may be necessary to get the latest version of Java for your system and to alter the security settings to allow Java applets to run. At this time the Fuzzy Shower demo with Jess/Java hybrid code may not run at all due to security restrictions on Java Applets (due to reflection used by Jess). All of the examples can be run by downloading the FuzzyJ system at the GitHub web site.
Accessing the FuzzyJ Toolkit Files
All source code and supporting files for the FuzzyJ Toolkit, the Jess extensions, these and other examples as well as the FuzzyJ documentation can be found at the GitHub web site.
The FuzzyJ Toolkit Documentation
The documentation for the FuzzyJ Toolkit and FuzzyJess can be accessed directly here.
Java and all Java based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries.