The FuzzyLite Libraries for Fuzzy Logic Control

Fuzzy Logic Controllers (FLCs) are mathematical models designed to control systems by means of fuzzy logic. Their simplicity, flexibility, interpretability, and handling of uncertainty have seen them applied to address different problems in a variety of domains. The seminal ideas of FLCs date back to 1965, and today there are more than 20 software libraries that provide such a functionality with different degrees of success. In spite of the widespread usage of FLCs, many of these libraries have not yet been thoroughly compared, hence raising questions about their correctness, performance, and accuracy when having to choose a library among them. In this article, we compare some of the most relevant libraries to design and operate FLCs, namely the FuzzyLite libraries, Matlab, Octave, and jFuzzyLogic. These libraries are evaluated on a set of 20 benchmarks that include Mamdani and Takagi-Sugeno FLCs as well as different membership functions. Our focus is on the performance and accuracy of the libraries, but we also consider the number of features and the amount of source code documentation to rate their overall quality. The results show that the FuzzyLite libraries offer the most accurate results, the highest number of features, the second best performance, and the second most documented source code, thus ranking them first for overall quality. The next libraries in the rankings are Octave, Matlab, and jFuzzyLogic (respectively). Our analysis of results finds explanations for the differences in performance and accuracy between the libraries, which provides useful information not only to further improve their quality, but also for users to make better and more informed decisions when having to choose one.

[1]  Fuzzy Logic in Control Systems : Fuzzy Logic , 2022 .

[2]  Brahm P. Verma,et al.  Fuzzy Logic for Biological and Agricultural Systems , 1998, Artificial Intelligence Review.

[3]  Bjarne Stroustrup,et al.  The C++ Programming Language, 4th Edition , 2013 .

[4]  Rahmat A. Shoureshi,et al.  Tsukamoto-type neural fuzzy inference network , 2000, Proceedings of the 2000 American Control Conference. ACC (IEEE Cat. No.00CH36334).

[5]  Preston C. Hammer The Midpoint Method of Numerical Integration , 1958 .

[6]  Etienne E. Kerre,et al.  Defuzzification: criteria and classification , 1999, Fuzzy Sets Syst..

[7]  Jesús Alcalá-Fdez,et al.  jFuzzyLogic: a robust and flexible Fuzzy-Logic inference system language implementation , 2012, 2012 IEEE International Conference on Fuzzy Systems.

[8]  E. H. Mamdani,et al.  An Experiment in Linguistic Synthesis with a Fuzzy Logic Controller , 1999, Int. J. Man Mach. Stud..

[9]  Jerry M. Mendel,et al.  Type-2 fuzzy logic systems , 1999, IEEE Trans. Fuzzy Syst..

[10]  Linda Markowsky,et al.  The Octave Fuzzy Logic Toolkit , 2011, 2011 IEEE International Workshop on Open-source Software for Scientific Computation.

[11]  E. P. Popov,et al.  Accuracy and stability of integration algorithms for elastoplastic constitutive relations , 1985 .

[12]  Sang Hyuk Son,et al.  Using fuzzy logic for robust event detection in wireless sensor networks , 2012, Ad Hoc Networks.

[13]  Morgan Quigley,et al.  ROS: an open-source Robot Operating System , 2009, ICRA 2009.

[14]  Joshué Pérez,et al.  Fuzzy logic steering control of autonomous vehicles inside roundabouts , 2015, Appl. Soft Comput..

[15]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[16]  Juan Rada-Vilela fuzzylite a fuzzy logic control library in C + + , 2013 .

[17]  Lisa L. Grant,et al.  Collective robotic search using hybrid techniques: Fuzzy logic and swarm intelligence inspired by nature , 2009, Eng. Appl. Artif. Intell..

[18]  Edsger W. Dijkstra,et al.  Algol 60 translation : An algol 60 translator for the x1 and making a translator for algol 60 , 1961 .

[19]  Lotfi A. Zadeh,et al.  The concept of a linguistic variable and its application to approximate reasoning - II , 1975, Inf. Sci..

[20]  Charlie Hunt,et al.  Java Performance , 2011 .

[21]  Grady Booch,et al.  Object-Oriented Analysis and Design with Applications , 1990 .

[22]  Cengiz Kahraman,et al.  Fuzzy Multi-Criteria Decision Making: Theory and Applications with Recent Developments , 2008 .

[23]  Robert LIN,et al.  NOTE ON FUZZY SETS , 2014 .

[24]  Daniel M. Johnson,et al.  Computer games with intelligence , 2001, 10th IEEE International Conference on Fuzzy Systems. (Cat. No.01CH37297).

[25]  Philip J. Davis,et al.  Approximate Integration over Infinite Intervals , 1984 .

[26]  Jesús Alcalá-Fdez,et al.  jFuzzyLogic: a Java Library to Design Fuzzy Logic Controllers According to the Standard for Fuzzy Control Programming , 2013, Int. J. Comput. Intell. Syst..

[27]  Maysam F. Abbod,et al.  A survey of fuzzy logic monitoring and control utilisation in medicine , 2001, Artif. Intell. Medicine.

[28]  Eyke Hüllermeier,et al.  Fuzzy methods in machine learning and data mining: Status and prospects , 2005, Fuzzy Sets Syst..

[29]  Joan Torrens,et al.  A Survey on Fuzzy Implication Functions , 2007, IEEE Transactions on Fuzzy Systems.

[30]  Jyh-Shing Roger Jang,et al.  ANFIS: adaptive-network-based fuzzy inference system , 1993, IEEE Trans. Syst. Man Cybern..

[31]  José M. Alonso,et al.  A Survey of Fuzzy Systems Software: Taxonomy, Current Research Trends, and Prospects , 2016, IEEE Transactions on Fuzzy Systems.

[32]  Cedric E. Ginestet ggplot2: Elegant Graphics for Data Analysis , 2011 .

[33]  J. MacQueen Some methods for classification and analysis of multivariate observations , 1967 .

[34]  Miin-Shen Yang A survey of fuzzy clustering , 1993 .

[35]  P. Mortensen,et al.  Automation of matrix-assisted laser desorption/ionization mass spectrometry using fuzzy logic feedback control. , 1997, Analytical chemistry.

[36]  Guy L. Steele,et al.  Java(TM) Language Specification, The (3rd Edition) (Java (Addison-Wesley)) , 2005 .

[37]  Michio Sugeno,et al.  Fuzzy identification of systems and its applications to modeling and control , 1985, IEEE Transactions on Systems, Man, and Cybernetics.

[38]  Patrick Benavidez,et al.  Landing of an Ardrone 2.0 quadcopter on a mobile base using fuzzy logic , 2014, 2014 World Automation Congress (WAC).

[39]  J. Kraaijevanger,et al.  B-convergence of the implicit midpoint rule and the trapezoidal rule , 1985 .

[40]  Giovanni Acampora,et al.  Fuzzy Markup Language: A new solution for transparent intelligent agents , 2011, 2011 IEEE Symposium on Intelligent Agent (IA).

[41]  Carl E. Rasmussen,et al.  The Need for Open Source Software in Machine Learning , 2007, J. Mach. Learn. Res..