As opposed to numbers and discrete symbols, Fuzzy Logic reasons based on fuzzy set theory. Unlike traditional sets though, where a value may either be in (TRUE or one) or not in (False or zero) a set (a member of a set), fuzzy sets are more flexible allowing values to have a degree of membership in the set between zero and one. More formally, fuzzy sets are "functions that map a value, which might be a member of a set, to a number between zero and one, indicating its actual degree of membership." Membership values of zero indicate that a value is not in the set, while membership values of one indicate a value is completely in the set.
Fuzzy set theory allows us to define the terms or values that a linguistic variable may take. For example, we may define a fuzzy type which is based on Temperature. Any variable of this type may take fuzzy set values of cold, warm, and hot. Cold, warm, and hot are the fuzzy sets which define the terms of the type. Each fuzzy set defines a membership function over the domain of temperature. If, for our example, temperature has a range between 0 and 100 Celsius, Cold could be a fuzzy set that defined any value under 10 Celcius as completely cold (one or True), any value over 50 as not at all cold (zero), and any value in between having a membership between zero and one. The graph below illustrates this point:
Fuzzy Variable: Temperature
Fuzzy Values: cold(*)
1.0000*******
0.9500 **
0.9000 *
0.8500 *
0.8000 *
0.7500 *
0.7000
0.6500 *
0.6000 *
0.5500
0.5000 *
0.4500
0.4000 *
0.3500 *
0.3000
0.2500 *
0.2000 *
0.1500 *
0.1000 *
0.0500 **
0.0000 **************************
|----|----|----|----|----|----|----|----|----|----|
0.00 20.00 40.00 60.00 80.00 100.00
Universe of Discourse: From 0.00 to 100.00
On the Left or y axis is the degree of membership and on the bottom or x-axis is the universe of discourse, in this case the temperature range. A temperature reading of 10 means that our belief that the temperature is cold is 100%. As the temperature increases, our belief that the temperature is cold decreases until we don't believe it at all at 50 Celsius. Note that our definition of a linguistic variable is slightly different from what is defined in The Fuzzy Systems Handbook (discussed below). For the IECS, a fuzzy linguistic variable can take a fuzzy set value, which is a fuzzy set modified by qualifiers. Our fuzzy set value is what Earl Cox defines as a linguistic variable.
Fuzzy Sets can be combined into expressions using "and" and "or" as well as modified by qualifiers, called hedges in fuzzy logic nomenclature. Hedges modify the shape of a fuzzy set in predictable ways. For example, the very hedge modifies a fuzzy set by pushing all values less than one towards zero. This has the effect of shrinking the boundary, the fuzzy portion, of the set closer to the area that is completely in the set:
Fuzzy Variable: Temperature
Fuzzy Values: cold(*) very cold(+)
1.0000++++++*
0.9500 ++*
0.9000 +*
0.8500 +*
0.8000 *
0.7500 + *
0.7000
0.6500 + *
0.6000 *
0.5500 +
0.5000 *
0.4500 +
0.4000 *
0.3500 + *
0.3000
0.2500 + *
0.2000 + *
0.1500 + *
0.1000 *
0.0500 +++ **
0.0000 +++++++++++++++++++++++++++++
|----|----|----|----|----|----|----|----|----|----|
0.00 20.00 40.00 60.00 80.00 100.00
Universe of Discourse: From 0.00 to 100.00
The curve defined by the plus signs in the graph above defines the fuzzy set value, very cold. Hedges are very powerful because they are predictable as well as intuitive. Intuitively, if we think about a temperature being very cold we want the value to be the proto-typical value of cold, closer to cold. A temperature of 30 is certainly a member of cold, but it should definitely be less of a member of very cold, which is what occurs. There are many other hedges such as Not, Somewhat, Extremely, Above, Below, About, Near, Positively, and Generally.
What does it mean to make fuzzy expressions using and and or? Lofti Zadeh defined the AND operator for fuzzy sets to mean taking the intersection of the two sets, or the minimum values in the sets. The OR operator is the opposite, taking the union of the two sets, or the maximum values in the sets. If we use an example, it becomes clear. When we talk about is a value hot OR cold, we can see it is very likely that a value could be hot or could be cold, where only in the mid range between the two concepts does the likelihood decrease. The maximum of the two sets captures this meaning perfectly:
Fuzzy Variable: Temperature
Fuzzy Values: hot or cold(*)
1.0000******* ******
0.9500 ** **
0.9000 * *
0.8500 * *
0.8000 * *
0.7500 * *
0.7000
0.6500 * *
0.6000 * *
0.5500
0.5000 * *
0.4500
0.4000 * *
0.3500 * *
0.3000
0.2500 * *
0.2000 * *
0.1500 * *
0.1000 * *
0.0500 ** **
0.0000 ***
|----|----|----|----|----|----|----|----|----|----|
0.00 20.00 40.00 60.00 80.00 100.00
Universe of Discourse: From 0.00 to 100.00
Using fuzzy sets and hedges, it is possible to write expressive statements about a subject, with the same shades of semantic meaning used by experts, e.g.,
if the temperature is very hot then set hot water flow to slow.