LSR/Examples
2020-06-04 19:21:01 +02:00
..
fuzzylite-mamdani init 2020-06-04 19:21:01 +02:00
jFuzzyLogic init 2020-06-04 19:21:01 +02:00
README.md init 2020-06-04 19:21:01 +02:00

Examples of FCL files (with data)

This directory contains some examples of FCL files, along with data that can be used to test them.

These files were gathered from two sources:

  • jFuzzyLogic GNU Lesser General Public License (GPL) 3.0

  • FuzzyLite GNU General Public License (GPL) 3.0

The files in this folder are a subset of those provided by these tools. I've removed any FCL files that used features not (yet) supported by scikit-fuzzy. For FuzzyLite I've only used the mamdani-style examples - this is a small subset of those supplied with the tool. Also, I've tweaked some of the RANGEs for fuzzy variables (or added them if not there), since this can have a dramatic effect on the accuracy of the results.

Test Data

Each of the FCL files in this folder is accompanied by an .fld file which contains test data: basically a list of values for the input and output variables. In the case of FuzzyLite these were supplied with the tool. For jFuzzyLogic I ran the tool with some sample inputs; since jFuzzyLogic also reports rule fire-strengths, I've included these in the .fld file too as they helped with debugging.

The purpose of these files is to test the implementation: when we run the same files through scikit-fuzzy we should get mostly the same answers as the original tools.

The script simulate.py can be used to run these - note that running them all make take a while.

Example run:

> python3 simulate.py Examples/jFuzzyLogic/tipper.fcl

======================================================================
= Examples/jFuzzyLogic/tipper.fcl on 08 Sep 2018 at 16:06
======================================================================
----------------------------------------------------------------------
Run 0: food=0.00 service=0.00 
Output variables:
  tip=5.00  CORRECT, ERROR=0.0%
Rule fire-strengths for test case 0:
  RULE No1.1 = 1.00 (CORRECT)
  RULE No1.2 = 0.00 (CORRECT)
  RULE No1.3 = 0.00 (CORRECT)
----------------------------------------------------------------------
.....

James Power, 8 Sept 2018.