EDN logo


Columnist: November 9, 1995

Fuzzy Operators

david brubaker
David Brubaker,
Fuzzy-Logic
Contributing Editor


For over a year now, this column has focused on the rule base, currently the dominant system architecture that uses fuzzy logic. We will be expanding our repertoire by looking at a number of important but less-used fuzzy architectures. Before doing so, however, we’ll return to the classroom for two more tutorial sessions—this month on fuzzy operators and next month on hedges.

To start in what should be comfortable territory, consider (x>3) as a Boolean expression. The expression is TRUE for all x greater than 3 and FALSE for all x less than or equal to 3. In software, having evaluated this expression for a given value of x, you can use the resulting Boolean value to, for example, control the flow of a program, as in “if x is greater than 3, do this; otherwise, do that.”

An example of a fuzzy (as opposed to Boolean) expression is

speed IS fast

The principal operator is the fuzzy equality operator, IS. In most fuzzy systems, speed will be a crisp value that is often measured—for example, 55 mph. The term “fast” is a fuzzy value or set, represented by a membership function. And while evaluating a Boolean expression results in one of two values,TRUE or FALSE, the value of a fuzzy expression is the degree to which the relationship is true. This is called the truth value, and it ranges in value from 0 to 1.

fig 1Although seemingly straightforward, this concept bears repeating. Just as an evaluated Boolean expression results in a Boolean truth value, either TRUE or FALSE, an evaluated fuzzy expression results in a fuzzy truth value, µ, which ranges 0[is less than or equal to]µ[is less than or equal to]1. This truth value is obtained by solving the membership function (in the example, the function that represents “fast”) for the specific input value (in the example, a specific crisp value of “speed”). This step is often called “fuzzification” and is shown in Figure 1.

 Whereas a Boolean value is used either to perform or not perform an action, the fuzzy truth value (the degree to which the fuzzy relational expression is true) indicates the strength with which some action is executed—ranging from not at all for µ=0 to fully for µ=1. In a rule base, this is done by using fuzzy expressions as the antecedents (conditions) of the rules, as I’ve shown in previous columns.

Although single fuzzy expressions are used in system design, we must also be able to combine expressions using logic operators. For example, we might want to expand the single-termed expression “speed IS fast” into the multiple-termed expression:

[(speed IS fast) AND (acceleration IS low)] OR (road IS NOT rough)

Doing this is not comparing apples and oranges! An often-asked question is, “How can you logically combine expressions containing dissimilar variables?” The answer: You are not combining the variables; you are combining the degrees to which each individual expression is true. Just as Boolean variables can be combined using Boolean combinatorial operators, fuzzy truth values are combined using fuzzy combinatorial operators.

Lotfi Zadeh proposed the original fuzzy operator set as follows (although not combinatorial, I will also throw in Zadeh’s NOT operator):

AND:
µA AND µB = min(µA, µB)
OR:
µA OR µB = max(µA, µB)
NOT:
NOT µA = 1 –µA

The Zadeh operators are easy to implement and are widely used. However, AND and OR suffer from a shortcoming: At any given point in the input space, the result of the operation depends on only one of potentially many operands. For example, in a three-input system, if µA= 0.2, the expression (µA AND µB AND µC) has the same result (0.2) for all µB and µC in the range 0.2[is less than or equal to] (µB, µC) [is less than or equal to] 1. While in this range, neither µB nor µC has any effect on the result.

Largely to provide for an effect on the result by “nonparticipating” operands, a number of other AND and OR operators have been proposed. We’ll discuss two pairs. (I have also seen other NOT operator definitions, but, except for a few philosophers, most users are completely satisfied by the 1 – µ definition.)

One pair of operators is the same one used for combining probabilities and is therefore called the “probability-product” and “probability-sum” operators (or just the “product” and “sum” operators, for short) for AND and OR, respectively. These are defined as

AND:
µA AND µB = (µA)(µB)
OR:
µA OR µB = µA + µB
A)(µB)

These operators are also easy to implement, although, in some small processors, the multiply may be prohibitive.

Another operator pair suggested by Ron Yager, a professor at Iona College, is given by

AND:
µA AND µB = min[1,
Aw + µBw)w]
OR:
µA OR µB = 1 – min[1, ((1–µA)w +
(1–µB)w)1/w]

For both expressions,

0 < w < [infinity]

I have a special attachment for the Yager operators, actually the Yager-2 operators (where w=2 in the above expressions). I “discovered” them on my own when, before reading Yager’s work, I figured that an rss (root-sum-square) approach to the AND function might be valid and then determined what the complementary OR function must be.

fig 2Figure 2 shows how these three operator sets—Zadeh, product/sum, and Yager—relate to each other.


When do you use one operator set in place of another? This depends entirely on your personal style and system requirements. In a future column, I’ll discuss using fuzzy logic in combining evidence, and will use both the Zadeh and the Yager operators. In most systems, I use either Zadeh operators or, if multiplies are not important (which they often are in embedded systems), the product/sum operators.

There are two more single-operand operator sets to present. These are unique to fuzzy logic and are called “concentration” and “dilation” operators. A concentration operator concentrates or compresses a membership function, and a dilation operator dilates or expands the function. In most texts, the principal concentration and dilation operators are defined as

CONC(µ) = µ2
DIL(µ = µ1/2

fig 3 Figure 3 shows a rather standard membership function, having been concentrated and dilated both once and twice.




When would you use either dilation or concentration? Watch for the next column when we discuss fuzzy hedges.

As always, your comments and questions are welcome.

Dr David Brubaker is a consultant in fuzzy-system design. You can reach him at Huntington Advanced Technology, 883 Santa Cruz Ave, Suite 31, Menlo Park, CA 94025-4608 or on the Internet at: brubaker@cup.portal.com.


| EDN Access | feedback | subscribe to EDN! |
| design features | out in front | design ideas | columnist | departments | products |


Copyright © 1995 EDN Magazine. EDN is a registered trademark of Reed Properties Inc, used under license.