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
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.
How to use JuzzyOnline
"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
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!
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).
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.
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.
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
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.
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:
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)
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