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

64 lines
2.2 KiB
Markdown

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](http://jfuzzylogic.sourceforge.net/)
GNU Lesser General Public License (GPL) 3.0
* [FuzzyLite](http://www.fuzzylite.com/)
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](../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](http://www.cs.nuim.ie/~jpower/),
8 Sept 2018.