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 inbetween.



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 decisionsupport and expert systems
has grown in popularity among management and financial decisionmodeling
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 "ifthen" 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 "ifthen"
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 stepbystep 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,
{{x_{1},
u_{1}},
{x_{2},
u_{2}}, ...,
{x_{n},
u_{n}}},
which consist of the elements of the fuzzy set,
x_{1},
x_{2}, ...,
x_{n},
and the membership grades of the elements,
u_{1},
u_{2},
..., u_{n}
(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 userdefined 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.



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.



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
userdefined 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,
DuboisPrade, 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 threedimensional plots of fuzzy relations. There are
discrete, surface, and wire frametype 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 multiinput/multioutput 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 singleinput/singleoutput 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 cmeans 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 cmeans 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 multivalued logic. With the advance of VLSI
technologies, we expect that fuzzy chips will play an increasingly
important role in control automation.



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.


