Mathematica 9 is now available
Fuzzy Logic Products
-----
 /
Fuzzy Logic
*What's New in Version 2?
*Features
*Sample Images
*Contents
<Q&A
*Examples
*Who's It For?
*Download Product
Manual
*Buy Online
*Technical FAQs
*Documentation
*For More Information
*Higher Education Solutions
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

Q&A



Q: What is a fuzzy set?
  A fuzzy set is a set that is defined by a membership function. A membership function assigns to each element in the set under consideration (the universal space) a membership grade, which is a value in the interval [0, 1]. In classical sets, objects either belong to a set or do not belong to a set; there is no other choice. By defining a set using a membership function, it is possible for an element to belong partially to a set. For example, if a door is slightly ajar, one might say that the door is open, with a membership grade of 0.2 to indicate that the door is slightly open. We might also say that the door is closed, with a membership grade of 0.8. By using a fuzzy set, we are able to indicate that the door is partially open or partially closed. Using classical logic, we would not be able to do this; the door would be considered either open or closed with no in-between.
   
Q: What is fuzzy logic?
  Fuzzy logic is an extension of classical logic and uses fuzzy sets rather than classical sets. There are a few different explanations of what fuzzy logic is, so rather than add our own explanation, we will quote one explanation put forth by Lotfi A. Zadeh, the father of fuzzy logic. Zadeh says, "In its narrow sense, fuzzy logic is a logic of approximate reasoning which may be viewed as a generalization and extension of multivalued logic. But in a broader and much more significant sense, fuzzy logic is coextensive with the theory of fuzzy sets, that is, classes of objects in which the transition from membership to nonmembership is gradual rather than abrupt. In its wider sense, fuzzy logic has many branches ranging from fuzzy arithmetic and fuzzy automata to fuzzy pattern recognition, fuzzy languages, and fuzzy expert systems."
   
Q: What are some applications of fuzzy logic?
  The use of fuzzy logic for creating decision-support and expert systems has grown in popularity among management and financial decision-modeling experts. Still others are putting it to work in pattern recognition, economics, data analysis, and other areas that involve a high level of uncertainty, complexity, or nonlinearity. There are presently numerous applications that incorporate fuzzy logic control. Some of the more prominent applications are electronically stabilized camcorders, autofocus cameras, washing machines, air conditioners, automobile transmissions, subway trains, and cement kilns.
   
Q: How is it that fuzzy systems have been successfully applied to such a wide variety of applications?
  Fuzzy "if-then" rules are often employed to capture the imprecise modes of reasoning that play an essential role in the human ability to make decisions in uncertain and imprecise environments. These fuzzy "if-then" rules are used extensively in both fuzzy modeling and control.
   
Q: What were your reasons for developing Fuzzy Logic?
  Most fuzzy logic software packages available today are application oriented. Consequently, they provide limited support for understanding the underlying concepts of fuzzy logic. As fuzzy logic usage increases, so does the number of people who wish to learn its underlying concepts. To help with this learning, we developed Fuzzy Logic, a software package that is easy to use and contains a wide assortment of fuzzy operations and graphing capabilities. This package allows users to really learn and understand the concepts of fuzzy logic before they start to apply them.
   
Q: Is it difficult to learn fuzzy set theory?
  Fuzzy set theory is somewhat difficult to learn from scratch without the proper tools. The theory is much easier to understand and learn with the help of a good visualization tool such as Fuzzy Logic. Among other things, Fuzzy Logic comes with interactive notebooks that demonstrate the different functions used in fuzzy set theory. A notebook containing an introduction to fuzzy set theory is also included. This notebook uses the Fuzzy Logic functions to demonstrate the theory.
   
Q: Is it difficult to learn how to use Fuzzy Logic?
  No, it isn't. Loading Fuzzy Logic is straightforward, and Fuzzy Logic contains a collection of interactive notebooks (also provided in hard copy) that provide a comprehensive introduction to each of the functions in the package. In addition, Fuzzy Logic comes with a collection of notebooks that provide detailed discussions about more advanced topics such as fuzzy set theory, fuzzy modeling, fuzzy logic control, and fuzzy arithmetic. These notebooks contain step-by-step explanations of the topics, using Fuzzy Logic functions to demonstrate the ideas. It's possible to use these notebooks as templates for your own systems.
   
Q: Do I have to be a Mathematica expert to use Fuzzy Logic?
  No, you don't. It is possible to create fuzzy systems without using any functions outside of Fuzzy Logic, and the package comes with detailed explanations and demonstrations of each of its functions. Although a great deal of Mathematica knowledge is not needed to use the package, the ability to use Fuzzy Logic within the Mathematica environment provides many opportunities to users. For one thing, it is very useful to use the Fuzzy Logic functions with and alongside Mathematica's huge standard library. In addition, those who are somewhat familiar with Mathematica will find it easy to extend or modify Fuzzy Logic's functions to meet their individual needs better
   
Q: How are fuzzy sets defined in Fuzzy Logic?
  In Fuzzy Logic, fuzzy sets are defined on a discrete universal space. Fuzzy sets are characterized by pairs, {{x1, u1}, {x2, u2}, ..., {xn, un}}, which consist of the elements of the fuzzy set, x1, x2, ..., xn, and the membership grades of the elements, u1, u2, ..., un (membership grades are from the range [0, 1]). The discrete universal space allows for quick calculations and provides unique visualization opportunities.
   
Q: How are fuzzy sets created in Fuzzy Logic?
  There are numerous ways to create fuzzy sets in Fuzzy Logic. The package provides functions for creating fuzzy sets using some common membership functions such as trapezoidal, triangular, or Gaussian. Also, fuzzy sets can be created with user-defined functions, provided the functions return membership grades in the range [0, 1]. Also, there is a function for creating a collection of fuzzy sets that are evenly distributed over the universal space. If you don't want to use a function at all, you can also create a fuzzy set manually by defining the individual elements and membership grades.
[Graphics:HTMLFiles/qaimages_1.gif]
   
Q: How can fuzzy sets be viewed in Fuzzy Logic?
  Fuzzy Logic provides a number of functions for viewing fuzzy sets. Fuzzy sets can be plotted in a discrete form or in a continuous representation, and any number of fuzzy sets can be plotted together. In addition, there are plotting options that allow for a visualization of defuzzifications.
[Graphics:HTMLFiles/qaimages_2.gif]
   
Q: What types of operations can be performed on or with fuzzy sets?
  A wide array of operations can be performed using fuzzy sets. Some of the operations that can be performed with the Fuzzy Logic package are normalizations, concentrations, dilations, aggregation operations (see next question), defuzzifications, inferencing operations, complements, arithmetic, level sets, and many fuzzy set modifiers.
   
Q: What are aggregation operations and the aggregation operations supported by Fuzzy Logic?
  Aggregation operations are operations that combine or aggregate two or more fuzzy sets. There are a number of different types of aggregation, including unions (sums), intersections (products), and means. Fuzzy Logic contains a wide collection of different operators, including many nonstandard operators that are not found in many other fuzzy packages. In addition, Fuzzy Logic provides a function for creating user-defined aggregators, making it easy for users to experiment with aggregators or add their own aggregators. The following are among the aggregators that can be used in Fuzzy Logic.
  • For unions and intersections: min, max, Hamacher, Frank, Yager, Dubois-Prade, Dombi, Yu, and Weber
  • For sums and products: drastic, bounded, algebraic, Einstein, and Hamacher
  • For means: arithmetic, geometric, harmonic, and generalized
   
Q: What is defuzzification?
  Defuzzification is a process that converts a fuzzy set or fuzzy number into a crisp value or number. Defuzzification is used in fuzzy modeling and in fuzzy logic control to convert the fuzzy outputs from the systems to crisp values. There are numerous techniques for defuzzifying a fuzzy set; some of the more popular techniques are included in Fuzzy Logic.
   
Q: What are fuzzy relations, and does Fuzzy Logic support them?
  A fuzzy relation represents the degree of strength of the association or interaction between the elements of two or more sets. Fuzzy Logic contains a wide array of functions for creating and operating on or with fuzzy relations. In fact, most of the functions that work with fuzzy sets also work with fuzzy relations.
   
Q: Can fuzzy relations be graphed like fuzzy sets?
  Yes, they can. Fuzzy Logic contains plotting functions for producing different types of three-dimensional plots of fuzzy relations. There are discrete, surface, and wire frame-type plots. In addition, fuzzy relations can be viewed as membership matrices, which are also supported by Fuzzy Logic.
   
Q: Can I do fuzzy logic control with Fuzzy Logic?
  Yes, you can. Fuzzy Logic contains all of the tools necessary to design a fuzzy logic controller. Using some of the Fuzzy Logic and Mathematica functions, you can also perform simulations with your fuzzy controller. The package contains a notebook that gives a thorough description of how to perform these simulations.
   
Q: Can I use Fuzzy Logic to do multi-input/multi-output fuzzy modeling?
  Yes, you can. Fuzzy Logic contains a notebookthat shows you how to create a fuzzy model of a mathematical function. Step by step the notebook goes through how to create input and output variables, how to design rules, and how to build the model. The model is then tested and compared to the actual mathematical function. A single-input/single-output model can visualize very efficiently by FuzzyGraph.
   
Q: Can I extend the functionality of Fuzzy Logic by adding some of my own functions?
  Yes, you can. One of the strengths of Fuzzy Logic is that it is written in the Mathematica language, and all source code is available to the user. This gives users complete control over how functions work. It's quite easy either to customize functions from existing code or to create functions.
   
Q: Does Fuzzy Logic support fuzzy arithmetic?
  Yes, it does. Fuzzy Logic contains functions and a notebook demonstrating some fuzzy arithmetic operations. These functions include fuzzy addition, subtraction, multiplication, and constant multiplication.
   
Q: Does Fuzzy Logic support fuzzy clustering?
  Yes it does. Fuzzy Logic contains functions and a notebook demonstrating the c-means algorithm. Clustering involves the task of dividing data points into homogeneous classes or clusters so that items in the same class are as similar as possible and items in different classes are as dissimilar as possible. The c-means algorithm has applications in medical image segmentation.
   
Q: Can Fuzzy Logic participate in the digital revolution?
  It definitely can. Fuzzy Logic provides functions for creating digital fuzzy sets with different numbers of the membership grade levels. These digital fuzzy sets create the opportunity to process digital images and to apply them to multi-valued logic. With the advance of VLSI technologies, we expect that fuzzy chips will play an increasingly important role in control automation.
[Graphics:HTMLFiles/qaimages_4.gif]
   
Q: Can I use Fuzzy Logic with other Mathematica applications from Wolfram Research?
  Yes, you can. Since Fuzzy Logic is written in the Mathematica language, you will be able to use it smoothly with some of the other Mathematica applications. Packages you may want to use include MechanicalSystems, Time Series, Finance Essentials, Digital Image Processing, and Neural Networks. It is also possible to use Fuzzy Logic with software other than Mathematica by using MathLink. For example, we have used Fuzzy Logic with LabVIEW using MathLink.
   
Q: What do others who have used Fuzzy Logic say?
  We have received several comments on Fuzzy Logic.
  • George J. Klir, Distinguished Professor of Systems Science in the Watson School of Engineering and Applied Science at Binghamton University (SUNY), says, "Fuzzy Logic is a very powerful tool for a wide range of users (educators, researchers, engineers, etc.)....Fuzzy Logic employs colorful illustrations of fuzzy sets and fuzzy relations that are pedagogically pleasing....It is also user friendly and easy to learn. In our opinion, this package is the best fuzzy logic software currently available on the market, at least in terms of education."
  • Professor Klir has also said, "The demonstrations of Fuzzy Logic were an important activity at the 1995 IFSA Congress in São Paulo, Brazil. I have heard many favorable comments about the package from Congress participants." Professor Klir is coauthor of the popular books Fuzzy Sets, Uncertainty, and Information (1988) and Fuzzy Sets and Fuzzy Logic: Theory and Applications (1995).
  • Paul C. Hoffman says, "I was impressed by all the capability of Fuzzy Logic. I am sure that Mathematica's Fuzzy Logic is more robust and complete than its competitors' toolboxes."
  • Brian Cogan writes in Scientific Computing World, "Wolfram Research's usual care and attention has resulted in an easy to use, comprehensive and robust set of utilities. The presentation of the commands in the context of solved problems, the excellent graphical output, and the ease of use of this package should make it of great interest to teachers and students of fuzzy logic."
We have also received encouraging comments from Professor Lotfi A. Zadeh, the father of fuzzy logic, and from other distinguished professors in the fuzzy field, including Professor Ronald R. Yager of the Machine Intelligence Institute at Iona College and Dimitar Filev of the Ford Motor Company, AMTDC, in Redford, Michigan.
   
Q: What do I need to run Fuzzy Logic, and how do I order it?
  The current version of Fuzzy Logic requires Mathematica 5 and is available for all Mathematica platforms. Fuzzy Logic can be purchased from Wolfram Research, Inc. Pricing and ordering information is available in our online store.
   
Q: Where can I get help if I have technical questions about Fuzzy Logic?
  For assistance in operating Fuzzy Logic, contact our Technical Support department by sending email to support@wolfram.com.

   
Any questions about topics on this page? Click here to get an individual response.