Welcome and Overview
JuzzyOnline is an online platform aimed at enabling both beginners and advanced practitioners to design, construct, execute, analyse and visualise Fuzzy Logic Systems (FLSs). A wider variety of FLSs are supported, including type-1, interval type-2 and general type-2 FLSs, with a variety of options including different t-Norms and both singleton and non-singleton fuzzification.
If you are not familiar with Fuzzy Logic, we advise you to follow some of the many tutorials online, e.g.: (this one) to learn about the basics underlying FLSs. Importantly, don’t hesitate to “just have a go” with some of the sample FLSs or with building your own, it is the easiest way to learn!
If you want more information about how JuzzyOnline works “under the hood”, have a look at the Juzzy toolkit, which is the Java-based library underlying the computation happening in the background on JuzzyOnline. You may also find some of the publications around Juzzy (Juzzy toolkit) and JuzzyOnline (JuzzyOnline – the online platform) useful.
Other relevant bits about this website
Continuous
Development: JuzzyOnline is not static, it is continuously being
developed to add more features and remove any remaining bugs. The
latest version you are using now includes support for non-singleton
fuzzification for type-1, interval type-2 and general type-2 FLSs –
a first in software tools available for FLSs!
Creating a
Fuzzy Logic System: Once you have successfully created a new FLS,
you can work on it for as long as you wish. However, keep in mind it
will “disappear” if you close your browser or if you are inactive
for more than 30 minutes. If you want to save the FLS you have
created, you can do so by going to the "System View" tab,
then clicking on "Save this system", and then save the
weblink (e.g., do your personal device). The weblink encodes all
parameters needed to rebuild your system (actual input values from
the Application view are not included), so you can share your FLS
easily with colleagues or students.
Technical
Requirements: JuzzyOnline uses a lot of web technologies, so you
will need a recent version of one of the popular web browsers to make
sure everything works smoothly. JavaScript must be enabled. It is
also better to use a browser compatible with WebGL (for
visualisations), which is not the case for Internet Explorer. For
Firefox and Chrome it is active by default, and Safari supports it
but it needs to be turned on manually.
How to use JuzzyOnline
From the
"Index" page, you can decide to create a new System.
Then, you must choose its name and type. In case of a General Type 2
System, you will also need to choose how many zSlices you want to
use.
Once this is done, you are now in the "System
View" tab. From here, you should add new Inputs and Outputs to
your System. To do that, click on the right button, then choose a
name, a lower bound and an upper bound. 2 default Membership
Functions will then be added to these Inputs/Outputs as examples. You
can then go to the "MF Editor" section, either by
clicking directly on this link, or on the chart of the Input/Output
you want to edit. You can even click directly on the specific MF to
modify in the chart's legend to be brought to the right editor
window.
From here, you can choose which MF you want to edit,
or add a new one. When you are editing a MF, you can change its name
or remove it, choose its type, and then choose appropriate values to
make it look like you wish. Once all your MFs have been set, you can
go to the "Rule Editor" tab.
The "Rule
Editor" page is where you decide to create new rules for
your Fuzzy System, that is to say you choose which antecedents will
involve which consequent. After you have finished to configure those
rules, your Fuzzy System is ready for use!
The "Application"
section: On this page, you will see a visual recap of the rules
you have created and their associated MFs. Fill the application form
with the type and values of your desired inputs: singleton or
non-singleton (the type of your inputs can't be higher than the type
of your system), you can choose the parameters of the inputs
membership function and press Enter.
You can then see how the
system behaves for the given set of input value. At the bottom of the
page you will be able to see the actual output of your FLS for the
given inputs. Depending on the FLS type you are using, you will be
seeing different levels of detail of the output, including for
example different Defuzzification Methods (which you can switch
between).
The “System
analysis” section : Once your system has been created you can
analyse its behaviour in different ways:
Sensitivity:
This view allows us to see the (defuzzified) output of the given
FLS when all inputs except one is kept constant. Thus, the
sensitivity analysis enables you to visually inspect how the output
of the FLS changes as one input changes (for the given values of the
other inputs). Note: for the type-2 case, the sensitivity view
shows the actual uncertainty bound around the defuzzified output –
this is very useful to capture the uncertainty for a given FLS
output.
Surface
view: If your system has at least 2 Inputs, you have access to
the "Surface View", which will show you a 3D visualisation
of the FLS output for two Inputs and one Output. You can choose the
type of your inputs (the spread represent the amount of uncertainty
for the non-singleton fuzzification case).
System
Introspection view: (only available for system type-1) This view
is very similar to the sensitivity analysis view, but rather than
only showing you the defuzzified outputs over the domain of a single
input (while keeping the other inputs constant), the introspection
view actually uses the output set (as a vertical slice) over all x
values, resulting in the 3D surface. This view is helpful to
visualise how the level of certainty for the output arising from the
combination of the rules and antecedent/input membership functions
employed.
Other features
Once you have
created an FLS, a new "Prefs" tab will appear. From here,
you can specify advanced options (e.g., t-Norm selection) of your FLS
as well as some options for the way your charts will be
displayed.
At any time, you can save a 2D chart with a
transparent background by right-clicking on it. Your browser will
then open this image as a new page, where you will be able to save it
with 'right-click -> Save image as...'. Do not forget to add the
".png" file extension if it is not here by default. This
feature does not work with every browser, once again we advise you to
use the latest version of Firefox, Chrome or Safari.
Credits
A big thank you to the many people who have sacrificed their time testing and retesting the system and who continuously support the project through feedback and bug-reports. Thank you!!!
At the software level, many people have worked to make JuzzyOnline happen, including:
Christian
Wagner (main focus: the Juzzy Java toolkit)
Mathieu Pierfitte
(main focus: the original JuzzyOnline)
Amandine Pailloux (main
focus: JuzzyOnline v2.0 incl. support for non-singleton inputs)
Terms of
Use
JuzzyOnline is free for non-commercial use, including the
use of its outputs (e.g., visualisations, etc.), subject to the
citing of the relevant papers for JuzzyOnline
and Juzzy (Juzzy
toolkit). Note that as the system is continuously under
development and while we do our best to eliminate any bugs, we cannot
guarantee that the system is 100% bug free.
If you would like to use JuzzyOnline for teaching, please contact Christian Wagner (we can adjust the system performance IF we know about the projected levels of use).
The java-toolkit Juzzy
is open-source and free for non-commercial use. If you want to
download it for your own applications, please visit
http://juzzy.wagnerweb.net/.